issue99:automatic_chicken_feeder
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue99:automatic_chicken_feeder [2015/08/14 00:04] – d52fr | issue99:automatic_chicken_feeder [2015/08/15 15:06] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 27: | Ligne 27: | ||
This is to grab the time from the RTC (Real Time Clock). The RTC has a battery on board so it keeps the time even when the Arduino (and RTC board) is powered down. After that comes an if statement to see if the grab was successful.** | This is to grab the time from the RTC (Real Time Clock). The RTC has a battery on board so it keeps the time even when the Arduino (and RTC board) is powered down. After that comes an if statement to see if the grab was successful.** | ||
- | Le mois dernier, j'ai présenté le contexte et donné la disposition de mon nourrisseur automatique de poulets avec Arduino. Ce mois, je vous montre le code qui tourne dessus. | + | Le mois dernier, j'ai présenté le contexte et donné la disposition de mon nourrisseur automatique de poulets avec Arduino. Ce mois-ci, je vous montre le code qui tourne dessus. |
Récupérer le code | Récupérer le code | ||
Ligne 39: | Ligne 39: | ||
Des lignes 62 à 68, ce sont tous les include pour les différentes bibliothèques nécessaires. Chaque ligne a un commentaire qui dit à quoi sert chaque bibliothèque. | Des lignes 62 à 68, ce sont tous les include pour les différentes bibliothèques nécessaires. Chaque ligne a un commentaire qui dit à quoi sert chaque bibliothèque. | ||
- | A la ligne 82 commence | + | A la ligne 81, commencent |
UTFT myGLCD(QD_TFT180A, | UTFT myGLCD(QD_TFT180A, | ||
- | Cette ligne est pour l' | + | Cette ligne est pour l' |
- | Ensuite, viennent quelques réglages de valeurs | + | Ensuite viennent quelques réglages de valeurs |
Setup() | Setup() | ||
Ligne 53: | Ligne 53: | ||
setSyncProvider(RTC.get); | setSyncProvider(RTC.get); | ||
- | C'est pour récupérer le temps du RTC (Real Time Clock - horloge temps réel). Le RTC a une batterie sur le circuit de façon à conserver l' | + | C'est pour récupérer le temps du RTC (Real Time Clock : horloge |
** | ** | ||
Ligne 89: | Ligne 89: | ||
Alarm.alarmRepeat(11, | Alarm.alarmRepeat(11, | ||
- | Les commandes Alarm.alarmRepeat sont journalières. Ainsi, dans le cas ci-dessus, l'« alarme » se déclenchera chaque jour à 9 h et 11 h du matin précisément. Le format 9,00,0 fait référence à l'heur, aux minutes et aux secondes. RTCAlarm | + | Les commandes Alarm.alarmRepeat sont journalières. Ainsi, dans le cas ci-dessus, l'« alarme » se déclenchera chaque jour à 9 h et 11 h du matin précisément. Le format 9,00,0 fait référence à l'heure, aux minutes et aux secondes. RTCAlarm est la procédure |
Dans mon code, j'ai plusieurs alarmes journalières. | Dans mon code, j'ai plusieurs alarmes journalières. | ||
Ligne 97: | Ligne 97: | ||
Loop() | Loop() | ||
- | En premier dans la boucle, nous sautons à la procédure digitalClickDisplay() qui présentera l' | + | En premier, dans la boucle, nous sautons à la procédure digitalClickDisplay() qui présentera l' |
- | Aux lignes 131 à 148, nous commençons à imprimer la température du DHT11 sur le port série aussi. À nouveau, avant l' | + | Aux lignes 131 à 148, nous commençons à imprimer la température du DHT11 sur la liaison |
- | À la ligne 150, commencent les sorties vers l' | + | À la ligne 150 commencent les sorties vers l' |
myGLCD.setColor(0, | myGLCD.setColor(0, | ||
Ligne 144: | Ligne 144: | ||
** | ** | ||
- | Le code ci-dessus règle la couleur en jaune, imprime la température, | + | Le code ci-dessus règle la couleur en jaune, imprime la température, |
Pour les lignes 158 à 164, c'est la même idée avec un texte blanc, mais pour le niveau de luminosité de la photorésistance (LDR - light-dependent resistor). | Pour les lignes 158 à 164, c'est la même idée avec un texte blanc, mais pour le niveau de luminosité de la photorésistance (LDR - light-dependent resistor). | ||
Ligne 172: | Ligne 172: | ||
myGLCD.printNumI(second(Alarm.getNextTrigger()), | myGLCD.printNumI(second(Alarm.getNextTrigger()), | ||
- | Ces lignes | + | Les lignes |
**Lines 186 to 219 are commented out and were used when I originally used a small font. I kept this chunk of code in there in case the big font didn’t work out and I had to revert back. | **Lines 186 to 219 are commented out and were used when I originally used a small font. I kept this chunk of code in there in case the big font didn’t work out and I had to revert back. | ||
Ligne 195: | Ligne 195: | ||
Lastly, we have a one-second delay.** | Lastly, we have a one-second delay.** | ||
- | Les lignes 186 à 219 sont commentées ; elles étaient utilisées au début quand j' | + | Les lignes 186 à 219 sont commentées ; elles étaient utilisées au début quand j' |
button=digitalRead(4); | button=digitalRead(4); | ||
- | Maintenant, nous vérifions | + | Maintenant, nous vérifions |
if (button==HIGH) | if (button==HIGH) | ||
Ligne 212: | Ligne 212: | ||
} | } | ||
- | Si le bouton | + | Si on a appuyé sur le bouton (il passe à l' |
Enfin, nous avons un délai d'une seconde. | Enfin, nous avons un délai d'une seconde. | ||
Ligne 240: | Ligne 240: | ||
For sheer amusement, have a look through the eight revisions on my GitHub Gist page and you’ll see it evolve through time.** | For sheer amusement, have a look through the eight revisions on my GitHub Gist page and you’ll see it evolve through time.** | ||
+ | En descendant à la ligne 279, nous voyons la procédure RTCAlarm(). Ici, nous avons une impression de confirmation de l' | ||
- | En descendant à la ligne 279, nous voyons la procédure RTCAlarm(). A l' | + | A la ligne 238, c'est la procédure dispense(). C' |
- | + | ||
- | A la ligne 238, c'est la procédure dispense(). C' | + | |
myServo.write(opened); | myServo.write(opened); | ||
Ligne 259: | Ligne 258: | ||
myGLCD.fillRect(0, | myGLCD.fillRect(0, | ||
- | Ici, nous faisons tourner le servomoteur en avant (« opened » a été défini au début du code ; c'est l' | + | Ici, nous faisons tourner le servomoteur en avant (« opened » a été défini au début du code ; c'est l' |
- | C'est vraiment le code le plus difficile sur lequel j'ai travaillé et il n'est pas parfait. Plus de travail aurait pu être fait pour afficher l' | + | C'est vraiment le code le plus difficile sur lequel j'ai travaillé et il n'est pas parfait. Plus de travail aurait pu être fait pour afficher l' |
- | Pour le pur plaisir, regardez | + | Pour le pur plaisir, regardez |
issue99/automatic_chicken_feeder.1439503478.txt.gz · Dernière modification : 2015/08/14 00:04 de d52fr