Мазмұны:

СКД бар жұмыс үстелінің ұйымдастырушысы: 4 қадам
СКД бар жұмыс үстелінің ұйымдастырушысы: 4 қадам

Бейне: СКД бар жұмыс үстелінің ұйымдастырушысы: 4 қадам

Бейне: СКД бар жұмыс үстелінің ұйымдастырушысы: 4 қадам
Бейне: БҰЛ ӘДІСТЕН КЕЙІН АҚША СІЗГЕ ЖҰМЫС ІСТЕЙДІ, Өзіңе ақшаны тартудың 4 әдісі 2024, Шілде
Anonim
Image
Image

** Өңделуде **

HKU arduino жобасы үшін мен потметрді айналдырған кезде сізді шабыттандыратын баға беретін дисплейі бар жұмыс үстелінің ұйымдастырушысын жасауды шештім!

Мен негізінен arduino техникалық материалдарын жабатын боламын, егер сізде Arduino мен СКД -ны жасыруға арналған ағаш қорап тәрізді нәрсе болса, оны сіздің жеке оганизорыңызда кез келген қалаулы формада алуға болады.

Сізге қажет заттар

  • *arduino Uno
  • қазандық есептегіш
  • *ерлердің прототиптік сымдары
  • *СКД модулі SD картасын оқу құрылғысымен! (Менде arduino tft LCD бар)
  • *микро SD картасы
  • *ағаш (мен ескі шағын тартпаларды қайта өңдедім және ағаштан жасалған қосалқы бөлшектерді қолдандым, кем дегенде ардуиноны жасыру үшін кішкене қорап жасай алатындығыңызға көз жеткізіңіз!

1 -қадам: Arduino -да потметрді орнату

Потметрді Arduino -да орнату
Потметрді Arduino -да орнату

суретте көрсетілгендей кастрюльді қосыңыз

кастрюльді іске қосу үшін

Орнату алдында эскиздің жоғарғы жағындағы кейбір айнымалылармен бастау керек:

код:

const int analogInPin = A0; // Потенциометр қосылатын аналогтық кіріс түйреуіші

int sensorValue = 0; // қазаннан оқылатын мән int outputValue = 0; // мәнді PWM -ге шығару (аналогтық шығу)

2 -суретте мен потметрдің бос циклге қалай салынғанын көрсетемін

код:

// аналогты мән бойынша оқыңыз:

sensorValue = analogRead (analogInPin); // оны аналогтық шығыс диапазонына салыстырыңыз: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // аналогтық шығыс мәнін өзгерту:

stuffToPrint.toCharArray (басып шығару, 9); // тұрақты мәтін myScreen.setTextSize (1);

Serial.print («сенсор =»); Serial.print (sensorValue); Serial.print («\ t output =»); Serial.println (outputValue);

кешіктіру (50);

бұл аналогтық деректерді потметрден 0 -ден 255 -ке дейінгі диапазонға салыстырады, біз бұл диапазонды слайд -шоуды басқару үшін қолданамыз.

Егер сізге потметрді орнатуға көмек қажет болса; Мен осы пайдалы оқулықтағы кодты қолдандым, түйреуіштер дәл солай және келесі қадамдарда СКД -мен жұмыс істейді.

www.toptechboy.com/arduino/lesson-11-arduin…

2 -қадам: СКД орнату

СКД орнату
СКД орнату

Жоғарыдағы мысалдағыдай түйреуіштерді орнатыңыз.

Дұрыс орындалған кезде экран ақ түспен жанады.

Егер сізге қосымша көмек қажет болса немесе дисплейді тексеру үшін кейбір мысал кодын қолданғыңыз келсе, сіз осы модульге арналған ресми оқулықты көре аласыз және оның кодының мысалдарын мына жерден көре аласыз

біз келесі қадамда «SD картасынан сурет салу» қолданамыз.

3 -қадам: слайдшоуды орнату

Слайдшоуды орнату
Слайдшоуды орнату

Енді бізде Потметр мен СКД орнатылғаннан кейін, біз потметрдің салыстырылған мәндерін қолдана отырып, «слайдшоуды» орната аламыз.

0 -ден 255 -ке дейінгі диапазонды қолдана отырып, біз белгілі бір диапазонды көрсете аламыз, онда біз СКД -де кейбір мазмұнды көрсету үшін arduino -ны іске қосамыз.

Суретте көрсетілгендей бірінші мысал:

if (outputValue <51) {// бірінші диапазон if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text («Сәлеметсіз бе, керемет!», 10, 50); myScreen.text («түйреуішті> -ға бұру», 10, 60); myScreen.text («жігер алу.», 10, 70); rangeOne = жалған;

Егер потметр 51 -ден төмен диапазонға бұрылса, дисплейі бар экран (портреттік режимде = айналу 90) кейбір мәтін.

Кескінді көрсете алу үшін SD CS түйреуішінің дұрыс анықталғанына көз жеткізіңіз, әйтпесе arduino SD -ті инициализациялай алмайды (сондықтан сымдарыңызды тексеріңіз!)

Егер сіз СКД түйреуіштерін тексергіңіз келсе, «экранды қосатын» ресми нұсқаулығына сілтеме жасай аласыз

Мен қазір SD CS түйреуішін 4 деп анықтадым, себебі мен сымдарды араластырдым! - Мен бұл кішкене опциямен бөлісуге қуаныштымын, себебі ол сізге Интернетте «Инициализацияланбады» қатесін іздеуге көп уақытты үнемдейді. Кейбір форумдарда SD картасының белгілі бір үлгісі болуы керек деп айтылады. Сондықтан жаңа SD карталарын сатып алмас бұрын сымды тексеріңіз !!

4 -қадам: Толық код үлгісі

#қосу

#қосу // Аппараттық құралдарға арналған кітапхана #қосу

#SD_CS 4 анықтау #CS 10 анықтау #DC 9 анықтау #RESET 8 анықтау

const int analogInPin = A0; // Потенциометр қосылатын аналогтық кіріс түйреуіші

int sensorValue = 0; // қазаннан оқылатын мән int outputValue = 0; // PWM мәнінің шығуы (аналогтық шығыс) bool rangeOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

TFT myScreen = TFT (CS, DC, RESET);

PI бейнесі; const char басып шығару [9];

void setup () {Serial.begin (9600); myScreen.begin (); // SD картасына кіруге тырысыңыз Serial.print («SD картасын инициализациялау …»); if (! SD.begin (SD_CS)) {Serial.println («сәтсіз!»); қайтару; } Serial.println («Жарайды!»);

// GLCD экранын инициализациялау және тазарту myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// аналогты мән бойынша оқу: sensorValue = analogRead (analogInPin); // оны аналогтық шығыс диапазонына салыстырыңыз: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // аналогтық шығыс мәнін өзгерту:

stuffToPrint.toCharArray (басып шығару, 9); // статикалық мәтін myScreen.setTextSize (1);

Serial.print («сенсор =»); Serial.print (sensorValue); Serial.print («\ t output =»); Serial.println (outputValue);

кешіктіру (50);

if (outputValue «, 10, 60); myScreen.text (» жігерлендіру. «, 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /төрт ауқымы if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // экран суретін өшіру = myScreen.loadImage («quote2.bmp «); // суретті экранға жазу myScreen.image (сурет, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text (» Мен өте мақтанамын «, 10, 50); myScreen.text («сізден!», 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Ұсынылған: