Electronica, Arduino, programare

Plecand de la articolul anterior vom adauga la montaj un display LCD pentru a afisa anumite informatii in functie de butonul apasat.

Pentru a face acest lucru vom afisa pe displayul LCD un numarator cu care vom observa functionarea montajului.

Displayul folosit este unul de tip 2004 conectat la Arduino prin magistrala I2C.  

La apasarea oricarui buton se va aprinde un led martor si se va afisa un mesaj pe display.

Sketchul folosit in acest caz va fi urmatorul:

Intreruperile se folosesc in Arduino pentru a executa o bucata de cod la momentul producerii unui eveniment.

De exemplu avem un ceas cu afisaj digital dar si un buton legat la soneria de la usa. La fiecare apasare a butonului soneriei noi vom putea incrementa un contor in mod independent de functionarea ceasului. 

Pentru acest articol vom folosi 2 butoane si 2 leduri. La fiecare apasare de buton starea ledului se va schimba.

Schema de conectare este urmatoarea:

ATENTIE: Nu folositi rezultatele returnate de catre acest montaj daca ati baut si doriti sa conduceti un autovehicul! Autorul nu poate fi facut raspunzator pentru actiunile dvs.

Pentru a detecta nivelul de alcool din aerul expirat vom folosi un modul cu senzorul MQ-3. 

Acest senzor detecteaza si alte gaze dar noi vom detecta doar alcoolul din aerul expirat.

Modulul se alimenteaza cu +5V si ofera 2 iesiri: 1 anaogica si una digitala. In acest exemplu vom folosi iesirea analogica deoarece vom afisa pe display valoarea citita de catre senzor.

Pentru afisarea valorilor obtinute vom folosi un display LCD 2004.

Pentru a afisa mai multe informatii in acelasi timp putem folosi mai multe afisaje LCD. In acest exemplu vom folosi afisaje LCD care au si un adaptor la interfata I2C pentru a reduce numarul de conexiuni cu Arduino.

Pentru a putea folosi aceste afisaje impreuna va trebui sa le alocam adrese diferite. Display-ul folosit este cel din acest articol.  In articolul original observam ca pe modulul adaptor lcd-i2c avem 3 randuri de pini: A0, A1, si A2. Facand punti intre acesti pini practic vom schimba adresa i2c a modulului. 

In cazul in care nu facem nici o punte atunci adresa prestabilita a modulului va fi 0x3F. In cazul nostru vom utiliza pentru ecranul secundar un display LCD 2004 dar la care vom face o punte pe adresa A0. Acest lucru va face ca adresa acestui adaptor sa devina 0x3E.

Pentru al treilea display folosit in acest exemplu vom face o punte pe adresa A1 ceea ce are ca efect schimbarea vechii adrese in 0x3D. Acest ultim display va fi de tipul 1602.

In acest articol vom vedea un senzor care nu returneaza informatiile care ar trebui si care ar trebui introdus in categoria "De evitat". Acesta este senzorul de nivel apa pentru Arduino si este cel in poza de mai jos:

Alimentarea se face cu +5V si iesirea acestui senzor este analogica, deci vom folosi pinul A5 de la Arduino pentru a citi informatiile returnate.

Pentru a nu alimenta in mod permanent senzorul vom alimenta pentru o perioada de 10 milisecunde montajul, vom citi valoarea senzorului apoi vom intrerupe alimentarea. Pentru a realiza acest lucru vom alimenta modulul direct din pinul digital 5 al Arduino.

Prin aceasta metoda vom prelungi durata de viata a senzorului deoarece nu va fi supus coroziunii prea curand.

Autentificare