Arduino uno |
Shield Deuligne + joystick |
Shield memoire (Horloge DS1307 + sd-card) |
|
//
----------------- Gestion JOYSTICK ----------- /* key = lcd.get_key(); // read the value from the sensor & convert into key press if (key != oldkey) // if keypress is detected { delay(50); // wait for debounce time key = lcd.get_key(); // read the value from the sensor & convert into key press if (key != oldkey) { oldkey = key; if (key >=0){ // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the key pressed: lcd.print(msgs[key]); } } } |
Le joystick est utilisé pour les accès au menu et validations. |
|
//
------------------- Fonction heure ------------------
void Affich_heure(void) { DateTime now = RTC.now(); lcd.setCursor(10,1); // Place cursor colone 10 ligne 2 lcd.print(now.hour(), DEC); lcd.begin(12,1); //positionne le curseur pour les : clignot flag = !flag; // inverse flag // delay(500); lcd.begin(13,1); // curseur col 13 ligne 2 if (flag == 1) { lcd.print(":"); // Affichage alternatif ":" à chaque cycle boucle } else { lcd.print(" "); // Efface ":" } if (now.minute() < 10) { lcd.print("0"); } lcd.print(now.minute(), DEC); lcd.setCursor(0,1); // lcd.print(now.day(), DEC); // Affiche jour Lign 2 col 0 } // ******************************* |
A titre d'exemple,
routine simple d'affichage
sur LCD "Deuligne Snootlab". Un petit sketch de mise à jour du DS1307 plus bas. |
------------------------------ Les trois modules assemblés connectés à un capteur Dallas 18B20 permettent d'afficher facilement la température T1 = 21,19°C. Sur la deuxième ligne on voit que le relevé a été fait le 17 courant à 18h02 |
Mise au point du logiciel grace aux simulateurs de températures. Une version simple à 4 transistors chauffant les 4 sondes à a demande. Une version plus sophistiquée gérée par Pic en bas, réalisée par un ami. |
La dernière version utilise pour la commande du menu un encodeur rotatif avec contact central pour validation. Il s'agit du bouton à droite du LCD Ici à l'écran P0 = page 0, puis la date JJ/MM et l'heure. Ligne inférieure : CS = Capt Sol, et BL = Ballon |