V tej vadnici predstavljamo koncept ADC (analogna v digitalno pretvorbo) v ARDUINO UNO. Plošča Arduino ima šest ADC kanalov, kot prikazuje spodnja slika. Med njimi se lahko kateri koli ali vsi uporabljajo kot vhodi za analogno napetost. Arduino Uno ADC je 10 bitov (do vrednosti celo število (0- (2 ^ 10) 1023)). To pomeni, da bo preslikal vhodne napetosti med 0 in 5 voltov v celoštevilčne vrednosti med 0 in 1023. Torej za vsakega (5/1024 = 4,9 mV) na enoto.
Pri vsem tem bomo potenciometer ali lonec priklopili na kanal 'A0', rezultat ADC pa bomo prikazali na preprostem zaslonu. Preprosti zasloni so 16x1 in 16x2 prikazovalne enote. Zaslonska enota 16x1 bo imela 16 znakov in bo v eni vrstici. 16x2 bo imel 32 znakov v skupni 16in 1. st linije in še 16 v 2 nd linije. Tu je treba razumeti, da je v vsakem znaku 5x10 = 50 slikovnih pik, zato mora za prikaz enega znaka vseh 50 slikovnih pik delati skupaj, vendar nam tega ni treba skrbeti, ker je v prikazovalni enoti še en krmilnik (HD44780), ki delo nadzora pikslov (vidite ga na LCD-enoti, zadaj je črno oko).
Potrebne komponente
Strojna oprema: ARDUINO UNO, napajalnik (5v), JHD_162ALCD (16x2LCD), kondenzator 100uF, lonec ali potenciometer 100KΩ, kondenzator 100nF.
Programska oprema: arduino IDE (Arduino nightly)
Shema vezja in razlaga
Na 16x2 LCD-ju je 16 zatičev, če obstaja osvetlitev ozadja, če ni osvetlitve ozadja, bo 14 zatičev. Lahko napajate ali pustite zatiče zadnje luči. Sedaj v 14 zatiči obstaja 8 podatkovnih zatiči (7-14 ali D0-D7), 2 Mrežni zatiči (1 & 2 ali VSS in VDD ali GND in + 5v), 3 rd pin za nadzor kontrasta (vee-kontrole kako debel znake morajo biti prikazano) in 3 krmilne nožice (RS & RW & E).
V vezju lahko opazite, da sem vzel le dva krmilna zatiča, kontrastni bit in READ / WRITE se ne uporabljata pogosto, tako da jih je mogoče kratko spojiti na maso. To LCD zaslon postavi v najvišji kontrast in način branja. Samo nadzorovati moramo ENABLE in RS pin, da ustrezno pošljemo znake in podatke.
Povezave za LCD so podane spodaj:
PIN1 ali VSS na ozemljitev
PIN2 ali VDD ali VCC do + 5v moči
PIN3 ali VEE na tla (za začetnike daje največji kontrast)
PIN4 ali RS (Registracija izbire) do PIN8 ARDUINO UNO
PIN5 ali RW (branje / pisanje) na ozemljitev (LCD v načinu branja olajša komunikacijo za uporabnika)
PIN6 ali E (Omogoči) do PIN9 ARDUINO UNO
PIN11 ali D4 do PIN10 ARDUINO UNO
PIN12 ali D5 do PIN11 ARDUINO UNO
PIN13 ali D6 do PIN12 ARDUINO UNO
PIN14 ali D7 do PIN13 ARDUINO UNO
ARDUINO IDE omogoča uporabniku uporabo LCD v 4-bitnem načinu. Ta vrsta komunikacije omogoča uporabniku, da zmanjša uporabo pinov na ARDUINO, v nasprotju z drugimi pa ARDUINO ni treba programirati ločeno za uporabo v načinu 4 it, ker je privzeto ARDUINO nastavljen za komunikacijo v 4 bitnem načinu. V vezju lahko vidite, da smo uporabili 4-bitno komunikacijo (D4-D7).
Iz zgolj opazovanja iz zgornje tabele torej na krmilnik povežemo 6 nožic LCD-ja, pri čemer so 4 nožice podatkovni nožki in 2 nožici za nadzor.
Na zgornji sliki je prikazan diagram ožičenja ADC ARDUINO UNO.
Delo
Za povezavo LCD-ja z ARDUINO UNO moramo vedeti nekaj stvari.
|
Najprej imajo UNO ADC kanali privzeto referenčno vrednost 5V. To pomeni, da lahko damo maksimalno vhodno napetost 5V za pretvorbo ADC na katerem koli vhodnem kanalu. Ker nekateri senzorji zagotavljajo napetosti od 0-2,5V, dobimo z referenco 5V manjšo natančnost, zato imamo navodilo, ki nam omogoča spreminjanje te referenčne vrednosti. Torej za spreminjanje referenčne vrednosti imamo (“analogReference ();”)
Privzeto dobimo največjo ločljivost ADC plošče, ki znaša 10 bitov, to ločljivost pa lahko spremenimo z uporabo navodil (“analogReadResolution (bitov);”). Ta sprememba ločljivosti je v nekaterih primerih lahko koristna.
Če so zgornji pogoji nastavljeni na privzete, lahko iz ADC-ja kanala '0' preberemo vrednost tako, da neposredno pokličemo funkcijo "analogRead (pin);", tukaj "pin" predstavlja pin, kamor smo povezali analogni signal, v tem primeru bi biti »A0«. Vrednost iz ADC lahko vzamemo v celo število kot “int ADCVALUE = analogRead (A0); ", S tem navodilom se vrednost po ADC shrani v celo število" ADCVALUE ".
ZDAJ se pogovorimo malo o 16x2 LCD. Najprej moramo omogočiti datoteko z glavo ('#include
Drugič, plošči moramo povedati, katero vrsto LCD zaslona uporabljamo tukaj. Ker imamo toliko različnih vrst LCD (na primer 20x4, 16x2, 16x1 itd.). Tukaj bomo povezali LCD 16x2 z UNO, tako da bomo dobili 'lcd.begin (16, 2);'. Za 16x1 dobimo 'lcd.begin (16, 1);'.
V tem navodilu bomo plošči povedali, kje smo povezali nožice. Povezane nožice je treba predstaviti po vrstnem redu kot "RS, En, D4, D5, D6, D7". Ti zatiči morajo biti pravilno predstavljeni. Ker smo RS povezali na PIN0 in tako naprej, kot je prikazano v vezju, predstavljamo številko pinov na ploščici kot “LiquidCrystal lcd (0, 1, 8, 9, 10, 11);”.
Ko zgoraj ostane le še pošiljanje podatkov, podatke, ki jih je treba prikazati na LCD-prikazovalniku, je treba zapisati kot »cd.print (" živjo, svet! "); S tem ukazom se na LCD-prikazovalniku prikaže "zdravo, svet!".
Kot lahko vidite, nas nič drugega ne skrbi, samo inicializirati bomo in UNO bo pripravljen za prikaz podatkov. Za pošiljanje podatkov po bajtih tukaj ni treba zapisati programske zanke.
Uporaba ADC Arduino Uno je v koraku po korakih razložena v spodnjem programu C.