Šajā apmācībā mēs ARDUINO UNO iepazīstinām ar ADC (Analog to Digital Conversion) koncepciju. Arduino dēlī ir seši ADC kanāli, kā parādīts zemāk redzamajā attēlā. Starp tiem vienu vai visus no tiem var izmantot kā analogā sprieguma ieejas. Arduino Uno ADC ir no 10 bitu (tāpēc integer vērtības no (0- (2 ^ 10) 1023)). Tas nozīmē, ka tas ieejas spriegumus no 0 līdz 5 voltiem kartēs veselu skaitļu vērtībās no 0 līdz 1023. Tātad katram (5/1024 = 4,9 mV) vienībā.
Šajā visā mēs savienosim potenciometru vai katlu ar kanālu 'A0' un parādīsim ADC rezultātu vienkāršā displejā. Vienkāršie displeji ir 16x1 un 16x2 displeja vienības. 16x1 displeja blokam būs 16 rakstzīmes, un tas būs vienā rindā. 16x2 būs 32 rakstzīmes kopējā 16in 1 st līnijas un vēl 16 2 nd līniju. Šeit jāsaprot, ka katrā rakstzīmē ir 5x10 = 50 pikseļi, tāpēc, lai parādītu vienu rakstzīmi, visiem 50 pikseļiem ir jādarbojas kopā, taču mums par to nav jāuztraucas, jo displeja blokā ir vēl viens kontrolleris (HD44780), kas pikseļu vadības darbs (to var redzēt LCD vienībā, tā ir melnā acs aizmugurē).
Nepieciešamās sastāvdaļas
Aparatūra: ARDUINO UNO, barošanas avots (5v), JHD_162ALCD (16x2LCD), 100uF kondensators, 100KΩ katls vai potenciometrs, 100nF kondensators.
Programmatūra: arduino IDE (Arduino katru nakti)
Shēmas shēma un paskaidrojums
16x2 LCD ekrānā ir 16 tapas, ja ir aizmugures apgaismojums, ja aizmugures apgaismojuma nav, būs 14 tapas. Var darbināt vai atstāt aizmugurējās gaismas tapas. Tagad 14 tapas ir 8 datu tapas (7-14 vai D0-D7), 2 el piegādes tapas (1 un 2 vai VSS un VDD vai GND & + 5v), 3 rd pin kontrasta kontrole (Vee-kontrolē, cik biezu rakstzīmēm jābūt un 3 vadības tapas (RS & RW & E).
Kontūrā varat novērot, ka esmu paņēmis tikai divus vadības tapas, kontrasta bits un READ / WRITE netiek bieži izmantoti, lai tos varētu saīsināt. Tas nodrošina LCD kontrasta un lasīšanas režīmu. Mums vienkārši jākontrolē ENABLE un RS tapas, lai atbilstoši nosūtītu rakstzīmes un datus.
LCD savienojumi ir izveidoti zemāk:
PIN1 vai VSS uz zemi
PIN2 vai VDD vai VCC līdz + 5v jaudai
PIN3 vai VEE uz zemes (iesācējam vislabāk nodrošina maksimālu kontrastu)
PIN4 vai RS (Reģistrēt atlasi) uz ARDUINO UNO PIN8
PIN5 vai RW (lasīšana / rakstīšana) uz zemi (LCD nodošana lasīšanas režīmā atvieglo saziņu lietotājam)
PIN6 vai E (iespējot) uz ARDUINO UNO PIN9
ARDUINO UNO PIN11 vai D4 līdz PIN10
ARDUINO UNO PIN12 vai D5 līdz PIN11
ARDUINO UNO PIN13 vai D6 līdz PIN12
ARDUINO UNO PIN14 vai D7 līdz PIN13
ARDUINO IDE ļauj lietotājam izmantot LCD 4 bitu režīmā. Šis saziņas veids ļauj lietotājam samazināt piespraudes lietošanu ARDUINO, atšķirībā no citiem, ARDUINO nav jāprogrammē atsevišķi, lai to izmantotu 4 it režīmā, jo pēc noklusējuma ARDUINO ir iestatīts saziņai 4 bitu režīmā. Ķēdē jūs varat redzēt, ka mēs izmantojām 4 bitu sakarus (D4-D7).
Tātad, vienkārši novērojot no tabulas augšpusē, mēs savienojam 6 LCD tapas ar kontrolieri, kurā 4 tapas ir datu tapas un 2 tapas kontrolei.
Iepriekš redzamajā attēlā parādīta ARDUINO UNO ADC shēma.
Strādā
Lai savienotu LCD ar ARDUINO UNO, mums jāzina dažas lietas.
|
Pirmkārt, UNO ADC kanāliem noklusējuma atsauces vērtība ir 5 V. Tas nozīmē, ka mēs varam dot maksimālo ieejas spriegumu 5 V ADC pārveidošanai jebkurā ieejas kanālā. Tā kā daži sensori nodrošina spriegumu no 0-2,5 V, ar 5 V atsauci mēs iegūstam mazāku precizitāti, tāpēc mums ir instrukcija, kas ļauj mums mainīt šo atsauces vērtību. Tātad, lai mainītu atsauces vērtību, kas mums ir (“analogReference ();”)
Pēc noklusējuma mēs iegūstam maksimālo plates ADC izšķirtspēju, kas ir 10 biti, šo izšķirtspēju var mainīt, izmantojot instrukciju (“analogReadResolution (bits);”). Šīs izšķirtspējas izmaiņas dažos gadījumos var būt noderīgas.
Ja iepriekš minētie nosacījumi ir iestatīti uz noklusējumu, mēs varam nolasīt vērtību no 0 kanāla ADC, tieši izsaucot funkciju “analogRead (pin);”, šeit “pin” apzīmē tapu, kur mēs savienojām analogo signālu, šajā gadījumā tas būtu jābūt “A0”. Vērtību no ADC var uzskatīt par veselu skaitli kā “int ADCVALUE = analogRead (A0); ”, Pēc šīs instrukcijas vērtība pēc ADC tiek saglabāta veselā skaitlī“ ADCVALUE ”.
TAGAD parunāsim mazliet par 16x2 LCD. Vispirms mums jāiespējo galvenes fails ('#include
Otrkārt, mums jāpaziņo dēlim, kāda veida LCD mēs šeit izmantojam. Tā kā mums ir tik daudz dažādu veidu LCD (piemēram, 20x4, 16x2, 16x1 utt.). Šeit mēs savienosim 16x2 LCD ar UNO, lai iegūtu "lcd.begin (16, 2);". Par 16x1 iegūstam “lcd.begin (16, 1);”.
Šajā instrukcijā mēs pateiksim tāfelei, kur mēs savienojām tapas. Savienotie tapas tiks attēlotas secībā kā "RS, En, D4, D5, D6, D7". Šīs tapas ir pareizi attēlotas. Tā kā mēs savienojām RS ar PIN0 un tā tālāk, kā parādīts ķēdes diagrammā, mēs parādām tapas tapas numuru kā “LiquidCrystal lcd (0, 1, 8, 9, 10, 11);”.
Pēc tam, kad ir atlicis tikai nosūtīt datus, dati, kas jāparāda LCD, jāraksta kā “cd.print (“ sveiki, pasaule! ”); Ar šo komandu LCD displejā parādās “sveiki, pasaule!”.
Kā redzat, mums nav jāuztraucas par šo visu citu, mums vienkārši ir jāinicializē, un ANO būs gatava attēlot datus. Lai šeit nosūtītu BYTE by BYTE datus, mums nav jāraksta programmas cilpa.
Arduino Uno ADC izmantošana ir soli pa solim izskaidrota zemāk dotajā C programmā.