Electronica, Arduino, programare

Daca in articolul anterior am folosit un singur senzor DS18B20 in acest articol vom folosi 3 senzori pentru a monitoriza temperaturile existente in 3 zone diferite.

Pentru a realiza acest lucru nu trebuie decat sa legam urmatorii 2 senzori (sau mai multi, numarul maxim fiind de 127) in paralel cu cel existent. atentie, nu este nevoie sa adaugam alte rezistoare pullup deorece cel existent este suficient.

Pentru a verifica cei trei senzori vom folosi urmatorul sketch in care datele obtinute vor fi redate in terminalul serial:

In acest articol vom folosi senzorul de temperatura DS18B20.

Acest senzor poate citi valorile intre -55 si +125 grade Celsius.

Acurtetea acestui senzor este de + 0,5 grade Celsius iar alimentarea lui se face intre 3,3 si 5V.

Acest senzor vine in formatul TO-92 (casula uzuala a unui tranzistor de semnal mic) si are nevoie de un rezistor pullup de 4,7 KiloOhmi intre terminalul de date si pinul de alimentare.

De asemenea acest senzor se mai gaseste incapsulat pentru a putea fi folosit in diferite lichide.

Pentru a putea folosi acest senzor vom avea nevoie de 2 biblioteci aditionale: OneWire Library si Dallas Library

In acest articol vom folosi un modul cu MAX6675 impreuna cu o termocupla de tip K pentru a citi temperaturile ridicate.

Chip-ul MAX6675 se poate alimenta cu o tensiune cuprinsa intre 3,3V si 5V. Gama de temperatura este intre 0 si 1024 grade Celsius.

Conectarea intre chip si arduino se face pe interfata SPI si avem nevoie de doar 3 fire. In cazul de fata am folosit modulul conectat in urmatorul mod la Arduino Mega:

MAX6675                   Arduino

D0     --------------------  D22

CS     --------------------  D24

CLK   --------------------  D26

Pentru a putea folosi acest modul vom avea nevoie de libraria MAX6675-library. Aceasta oate fi descarcata de aici si se adauga in editorul Arduino accesand  Schita > Incarcare biblioteca > Adauga biblioteca.zip.

Sketch-ul folosit pentru afisarea temperaturii in terminalul serial este mai jos:

Un display LCD 1604, 1602, 2004 etc poate afisa caractere alfanumerice deoarece pentru afisare foloseste o matrice de 8*5 puncte. In aceasta matrice noi putem afisa ce informatie dorim (in limita ceor 40 de puncte disponibile in matrice pentru fiecare pozitie disponibila) si, astfel, putem tipari diferite simboluri pe ecran.

Pentru a ne crea propriile simbolri putem folosi un editor grafic, acesta se gaseste aici si se numeste LCD Custom Character Generator.

Pentru a adauga aceste caractere la un sketch va trebui sa folosim urmatorul cod:  

byte lacatDeschis[] = {
  B01110,
  B10001,
  B10000,
  B10000,
  B11111,
  B11011,
  B11011,
  B11111
};  /creeam un array cu caracterul dorit

void setup() {
  lcd.createChar(0, lacatInchis);  //creem caracterul pentru a fi afisat pe display
}

void loop() {
  lcd.write(byte(0)); //afisam caracterul pe display
}

 

In acest articol vom folosi un radar Doppler realizat cu modulul RCWL-0516. 

Folosirea modulului este foarte simpla deoarece nu vom folosi decat 3 pini: 3,3V, GND si pinul de iesire, pin care va fi conectat la orice pin digital Arduino dorim noi.

In acest caz iesirea modulului o vom conecta la pinul D22 al unui Arduino Mega.

La iesirea modului primim un semnal digital HIGH daca se detecteaza miscare sau unul LOW in lipsa miscarii.

Afisarea o facem in acest caz folosind un display LCD, display pe care-l vom conecta conform informatiilor din acest articol.

O poza cu acest modul se poate vedea mai jos:

Autentificare