Senzor de temperatură (DS18B20) - jurnal de date Arduino cu scară de stup pentru apicultori

DS18B20 este un senzor digital de temperatură cu o rezoluție reglabilă de 9-12 biți și o precizie de măsurare de ± 0,5 ° C în intervalul de la -10 ° C la + 85 ° C (în afara acestui interval de temperatură devine mai puțin precis). DS18B20 este adresat prin așa-numitul „One-Wire-Bus”. Acest lucru face posibilă conectarea multor senzori la un pin de date de la Arduino în același timp și interogarea lor unul după altul. Termenul de un singur fir provine din faptul că senzorul poate fi acționat cu o singură linie de date (și GND) fără o sursă de alimentare suplimentară (parazită). În special cu mai mulți senzori și cu cabluri mai lungi, problemele sunt adesea raportate, motiv pentru care acest senzor ar trebui să primească o sursă de alimentare adecvată.

referinţă

DS18B20 este disponibil în diferite modele și, de asemenea, pre-asamblat cu cablu și carcasă impermeabilă.

Cablare

Senzorii preasamblați din carcasa impermeabilă au cabluri de diferite culori, în funcție de producător.

temperatură

Cablarea DS18B20 este foarte simplă. Senzorul este furnizat la "VDD" cu o tensiune de 3,0 până la 5,5V. „Date” este conectat la pinul 3 al Arduino. Ceea ce lipsește este un rezistor de tracțiune de 4,7K Ohm între „VDD” și date și conexiunea „GND” cu sol. Dacă sunt conectați doi senzori, de exemplu pentru temperatura podelei și temperatura exterioară, trebuie efectuat același cablaj. Pentru aceasta nu este necesară nicio rezistență suplimentară. Dacă sunt conectate alte DS18B20 sau se folosesc cabluri deosebit de lungi, poate fi necesar să reduceți rezistența la tragere la o valoare de până la 1,8 kOhm.

Biblioteci

Codul programului de testare

În plus față de interogarea senzorilor conectați, codul programului conține o verificare suplimentară la citirea senzorilor pentru eventuale erori de conectare. Dacă apare o problemă, de exemplu datorită unui cablu slăbit, variabilei corespunzătoare pentru temperatură i se dă o valoare predefinită. Cu acest cod de program de testare, un mesaj de eroare este de asemenea transmis prin intermediul monitorului serial.

Dacă valorile măsurate sunt transferate ulterior către un server web, scriptul pentru salvarea înregistrărilor de date detectează o eroare cu valoarea predefinită și nu se salvează nicio valoare măsurată pentru acest senzor. Acest lucru nu afectează afișajul grafic, de exemplu atunci când lucrați la senzor.