====== Un programmateur horaire à mémoire avec Arduino ====== Un morceau du projet [[http://dominiqueleroy.info/blog/?p=341 Inougarden ]] , Dominique Leroy Avoir une petite boite qui allume et éteint les machines par commande et programmation: * un mini arduino pro 5v a 2€ * une horloge rct i2c genre DS1307 2€ * ex http://www.miniinthebox.com/fr/arduino-i2c-rtc-ds1307-ds1307-24c32-temps-reel-module-horloge_p903366.html * ex http://www.ebay.com/itm/DS3231-AT24C32-IIC-module-precision-Real-time-clock-module-memory-module-Arduino-/400503978923?pt=LH_DefaultDomain_0&hash=item5d3fe5bbab * * une mémoire AT24C256 EEPROM I2C 4€ ? si pas dans le module rtc * http://www.miniinthebox.com/fr/at24c256-eeprom-i2c-module-de-stockage-memoire_p1240872.html * un bouton de mise en route * un module relais 1 voie * http://www.miniinthebox.com/fr/arduino-5v-module-de-relais-pour-le-developpement-home-control-appliance-smc_p903299.html * http://www.gotronic.fr/art-relais-bistable-g6bk-5v-4016.htm * http://www.omron.com/ecb/products/pry/121/g6b_111.html * http://omronfs.omron.com/en_US/ecb/products/pdf/en-g6b.pdf G6BK-1114P-US: 1-pole Double-winding Latching Model 1 2 3 4 S:Set coil + + + + R Reset coil S R --/___ + + 6 5(+) fonctionnement: - impulsion 7ms sur 1(-) et 6(+) => 3 connecté à 4 - impulsion sur 2(-) et 5(+) => 3 et 4 déconnectés il y aussi en 3v :{{:arduino:switch_latch-bistable.jpg?200|}} Sur l'arduino I2C sont sur les Pins 4 ( et 5 ====== Logiciel ====== **Ressources** : * https://github.com/JChristensen/DS3232RTC * http://playground.arduino.cc/Code/Time * http://arduiniana.org/libraries/streaming/ modif date en tapant 1:14:09:25:13:00:00 première version sans alarm : {{:arduino:proghoraire.ino|}} une autre avec capteur humidité en plus RHT2 : {{:arduino:progheure.ino|}} ( attention heures fixées ) {{:arduino:makefile.txt|}} a utiliser avec Arduino.mk Usage : * 1 mode mise à l'heure ex 1,14,10,24,15,58,12, pour 2014 octobre 24 15:58:12 h:m:s * 2 mode alarme ON horaire du jour ex 2,17,16,30, pour tous le 17h16 et 30" tous les jours allumé * 3 mode alarme OFF horaire du jour ex 3,17,16,00, pour tous le 17h16 et 00" tous les jours éteind ( les secondes ne servent pas ) * 4 mode alarme ON heure et jour du mois ex 4,17,16,30,22 pour tous le 17h16 30" le 22 du mois allumé * 5 mode alarme OFF heure et jour du mois ex 5,18,16,30,22 pour tous le 18h16 30" le 22 du mois éteind ( seconde sans importance ) * 6 mode delais en seconde avant ON maxi 120 sec ex 6,20, pour 20 secondes avant ON * 7 mode delais en seconde avant OFF maxi 120 sec ex 7,200, pour 200 secondes avant OFF * 9 mode RAZ des alarmes attention la fonction délais est un peu triviale , c'est un bête pause, donc il faut en attendre la fin pour récupérer la main... à améliorer ;-) ====== Discuter avec l'arduino ====== Arduino-serial est la pour nous ;-) * https://github.com/todbot/arduino-serial/ {{:arduino:arduino-serial.tgz|arduino-serial pour arm}} ======= Piste 2 avec module réseau ======= Plutôt que d'utilisé un module RTC qui sauvegarde l'heure par une pile et si l'installation commandée est sur le réseau (LAN pour le moment) on peut penser * un mini arduino basse conso ( 8 MHz 3,3v ) * un module ethernet * un relais bistable * une alimentation POE ( par le réseau ) * l'heure vient d'un serveur ntp * la programmation se fait par le réseau et donc est accessible par d'autre. * l'alimentation est indépendante de l'installation commandée