U ovom uputstvu uvodimo koncept ADC (analogne u digitalnu konverziju) u ARDUINO UNO. Arduino ploča ima šest ADC kanala, kao što je prikazano na donjoj slici. Među njima se jedan ili svi mogu koristiti kao ulazi za analogni napon. Težak Uno ADC je 10 bita rezolucije (tako cjelobrojne vrijednosti od (0- (2 ^ 10) 1023)). To znači da će preslikati ulazne napone između 0 i 5 volti u cjelobrojne vrijednosti između 0 i 1023. Dakle, za svaki (5/1024 = 4,9 mV) po jedinici.

U svemu tome spojit ćemo potenciometar ili lonac na kanal 'A0', a rezultat ADC prikazat ćemo na jednostavnom zaslonu. Jednostavni zasloni su prikazne jedinice 16x1 i 16x2. Prikazna jedinica 16x1 imat će 16 znakova i nalazi se u jednom retku. 16x2 će imati 32 znakova u ukupnom 16in 1. st linije i još 16 u 2 nd liniji. Ovdje moramo shvatiti da u svakom znaku ima 5x10 = 50 piksela, pa da bi se prikazao jedan znak, svih 50 piksela mora raditi zajedno, ali ne moramo se o tome brinuti jer u jedinici zaslona postoji drugi kontroler (HD44780) koji vrši posao kontrole piksela (možete ga vidjeti na LCD jedinici, to je crno oko straga).
Komponente potrebne
Hardver: ARDUINO UNO, napajanje (5v), JHD_162ALCD (16x2LCD), kondenzator 100uF, lonac ili potenciometar 100KΩ, kondenzator 100nF.
Softver: arduino IDE (Arduino svake noći)
Kružni dijagram i objašnjenje
Na LCD zaslonu 16x2 postoji 16 pinova ako postoji pozadinsko svjetlo, a ako nema pozadinskog svjetla, bit će 14 pinova. Može se napajati ili ostaviti igle stražnjeg svjetla. Sada u 14 pinova postoji 8 podatkovnih pinova (7-14 ili D0-D7), 2 pina za napajanje (1 i 2 ili VSS & VDD ili GND & + 5v), treći pinski za kontrolu kontrasta (VEE - kontrolira koliko debeli znakovi trebaju biti prikazano) i 3 upravljačka zatiča (RS & RW & E).
U krugu možete primijetiti da sam uzeo samo dvije kontrolne igle, kontrastni bit i READ / WRITE se ne koriste često, tako da se mogu kratko spojiti na masu. Ovo LCD postavlja u najveći kontrast i način čitanja. Samo trebamo kontrolirati ENABLE i RS igle da bi u skladu s tim slali znakove i podatke.
Priključci koji se rade za LCD prikazani su u nastavku:
PIN1 ili VSS na masu
PIN2 ili VDD ili VCC do + 5v snage
PIN3 ili VEE na zemlju (daje maksimalni kontrast najbolji za početnike)
PIN4 ili RS (Registriraj odabir) na PIN8 ARDUINO UNO
PIN5 ili RW (čitanje / pisanje) na masu (stavlja LCD u način čitanja olakšava komunikaciju za korisnika)
PIN6 ili E (Omogući) do PIN9 ARDUINO UNO
PIN11 ili D4 do PIN10 ARDUINO UNO
PIN12 ili D5 do PIN11 ARDUINO UNO
PIN13 ili D6 do PIN12 ARDUINO UNO
PIN14 ili D7 do PIN13 ARDUINO UNO
ARDUINO IDE omogućuje korisniku upotrebu LCD-a u 4-bitnom načinu. Ova vrsta komunikacije omogućuje korisniku da smanji upotrebu pin-a na ARDUINO-u, za razliku od drugih, ARDUINO ne mora biti programiran odvojeno za upotrebu u načinu 4 it jer je ARDUINO prema zadanim postavkama postavljen za komunikaciju u 4-bitnom načinu. U krugu možete vidjeti da smo koristili 4-bitnu komunikaciju (D4-D7).
Dakle, iz pukog promatranja iz gornje tablice povezujemo 6 pinova LCD-a s kontrolerom u kojem su 4 pina podatkovne i 2 pina za kontrolu.

Gornja slika prikazuje grafički dijagram ADC-a ARDUINO UNO.
Radno
Da bismo povezali LCD s ARDUINO UNO, moramo znati nekoliko stvari.
|
Prije svega UNO ADC kanali imaju zadanu referentnu vrijednost od 5V. To znači da možemo dati maksimalni ulazni napon od 5V za ADC pretvorbu na bilo kojem ulaznom kanalu. Budući da neki senzori pružaju napone od 0-2,5V, s referencom od 5V dobivamo manju točnost, pa imamo uputu koja nam omogućuje promjenu ove referentne vrijednosti. Dakle, za promjenu referentne vrijednosti imamo ("analogReference ();")
Prema zadanim postavkama dobivamo maksimalnu razlučivost ADC ploče, koja iznosi 10 bita, ova se razlučivost može mijenjati pomoću uputa („analogReadResolution (bitovi);“). Ova promjena rezolucije može dobro doći u nekim slučajevima.
Ako su gornji uvjeti postavljeni na zadane, možemo očitati vrijednost iz ADC-a kanala '0' izravnim pozivom funkcije "analogRead (pin);", ovdje "pin" predstavlja pin na koji smo spojili analogni signal, u ovom slučaju bi biti "A0". Vrijednost iz ADC-a može se pretvoriti u cijeli broj kao “int ADCVALUE = analogRead (A0); ", Ovom se uputom vrijednost nakon ADC-a sprema u cijeli broj" ADCVALUE ".
SADA razgovarajmo malo o LCD-u 16x2. Prvo moramo omogućiti datoteku zaglavlja ('#include
Drugo, moramo reći ploči koju vrstu LCD-a ovdje koristimo. Budući da imamo toliko različitih vrsta LCD-a (poput 20x4, 16x2, 16x1 itd.). Ovdje ćemo povezati LCD 16x2 s UNO-om, pa ćemo dobiti 'lcd.begin (16, 2);'. Za 16x1 dobivamo 'lcd.begin (16, 1);'.
U ovoj ćemo uputi reći ploči gdje smo spojili pinove. Priključci koji su spojeni trebaju biti predstavljeni redom kao „RS, En, D4, D5, D6, D7”. Ove pribadače treba ispravno predstaviti. Budući da smo RS povezali na PIN0 i tako dalje, kao što je prikazano na shemi spojeva, predstavljamo pin broj na ploči kao „LiquidCrystal lcd (0, 1, 8, 9, 10, 11);“.
Nakon što gore ostane samo poslati podatke, podaci koje treba prikazati na LCD-u trebaju biti zapisani kao „cd.print („ bok, svijete! “);“. Pomoću ove naredbe LCD prikazuje 'zdravo, svijet!'.
Kao što vidite, ne trebamo se brinuti ni zbog čega drugog, samo moramo inicijalizirati i UNO će biti spreman za prikaz podataka. Ne moramo ovdje pisati programsku petlju da bismo ovdje slali podatke po BYTE.
Korištenje ADC-a Arduino Uno objašnjeno je korak po korak u C programu datom u nastavku.
