Outils pour utilisateurs

Outils du site


issue99:automatic_chicken_feeder

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
issue99:automatic_chicken_feeder [2015/08/14 16:21] auntieeissue99: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 moisci, 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 43: Ligne 43:
 UTFT myGLCD(QD_TFT180A,11,10,9,12,8); UTFT myGLCD(QD_TFT180A,11,10,9,12,8);
  
-Cette ligne est pour l'écran TFT que j'utilise. La commande myGLCD() contient les infos de réglage pour mon écran en particulier. J'utilise un type d'écran QD_TFT180A et les nombres 11, 10, 9, 12 et 8 sont les picots que j'utilise pour l'écran.+Cette ligne est pour l'écran TFT que j'utilise. La commande myGLCD() contient les infos de réglage pour mon écran en particulier. J'utilise un type d'écran QD_TFT180Aet les nombres 11, 10, 9, 12 et 8 sont les picots que j'utilise pour l'écran.
  
-Ensuiteviennent quelques réglages de valeurs diverses dont j'ai besoin après. +Ensuite viennent quelques réglages de valeurs diverses dont j'ai besoin après. 
  
 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'heure même quand l'Arduino (et la carte RTC) est hors tension. Après cela, vient une déclaration if pour voir si la récupération a été effective.+C'est pour récupérer le temps du RTC (Real Time Clock horloge en temps réel). Le RTC a une batterie sur le circuit de façon à conserver l'heure même quand l'Arduino (et la carte RTC) est hors tension. Après cela, vient une déclaration if pour voir si la récupération a été effective.
  
 ** **
Ligne 97: Ligne 97:
 Loop() Loop()
  
-En premier, dans la boucle, nous sautons à la procédure digitalClickDisplay() qui présentera l'heure courante dans la fenêtre série. Ensuite, nous passons à la procédure digitalTriggerDisplay(). Ceci imprimera l'heure de la prochaine alarme sur la liaison série. Elles ont été utilisées avant que l'écran soit mis en place.+En premier, dans la boucle, nous sautons à la procédure digitalClickDisplay() qui présentera l'heure courante dans la fenêtre série. Ensuite, nous passons à la procédure digitalTriggerDisplay(). Ceci imprimera l'heure de la prochaine alarme sur la liaison série. Elles ont été utilisées avant que l'écran ne soit mis en place.
  
 Aux lignes 131 à 148, nous commençons à imprimer la température du DHT11 sur la liaison série aussi. À nouveau, avant la mise en place de l'écran. Aux lignes 131 à 148, nous commençons à imprimer la température du DHT11 sur la liaison série aussi. À nouveau, avant la mise en place de l'écran.
  
-À la ligne 150commencent les sorties vers l'écran LCD.+À la ligne 150 commencent les sorties vers l'écran LCD.
  
 myGLCD.setColor(0, 255, 255); myGLCD.setColor(0, 255, 255);
Ligne 144: Ligne 144:
 ** **
  
-Le code ci-dessus règle la couleur en jaune, imprime la température, imprime 'C, imprime l'humidité et, pour finir, un symbole pourcentage (%). Les deux nombres à la fin de chaque ligne sont là où le texte doit être imprimé, 1,1 était l'angle en haut à gauche de l'écran (en pixels).+Le code ci-dessus règle la couleur en jaune, imprime la température, imprime 'C, imprime l'humidité et, pour finir, un symbole pourcentage (%). Les deux nombres à la fin de chaque ligne sont là où le texte doit être imprimé, 1,1 étant l'angle en haut à gauche de l'écran (en pixels).
  
 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()),95, 65); myGLCD.printNumI(second(Alarm.getNextTrigger()),95, 65);
  
-Les lignes ci-dessus règlent une couleur orangée puis impriment la prochaine heure d'alarme (à nouveau, +1h).+Les lignes ci-dessus règlent une couleur orangéepuis impriment la prochaine heure d'alarme (à nouveau, +1h).
  
 **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 258: Ligne 258:
 myGLCD.fillRect(0,109,160,128); myGLCD.fillRect(0,109,160,128);
  
-Ici, nous faisons tourner le servomoteur en avant (« opened » a été défini au début du code ; c'est l'angle auquel tourne le servomoteur). Ensuite, nous règlons la couleur de la LED à rouge, imprimons « FEEDING » (en cours d'alimentation) sur l'écran, attendons deux secondes (juste le temps pour assez de grain), tournons le servomoteur en arrière (« closed » a aussi été déclaré au début), passons la couleur de la LED à noir et traçons un rectangle pour effacer le texte « FEEDING ».+Ici, nous faisons tourner le servomoteur en avant (« opened » a été défini au début du code ; c'est l'angle auquel tourne le servomoteur). Ensuite, nous réglons la couleur de la LED à rouge, imprimons « FEEDING » (en cours d'alimentation) sur l'écran, attendons deux secondes (juste le temps pour assez de grain), tournons le servomoteur en arrière (« closed » a aussi été déclaré au début), passons la couleur de la LED à noir et traçons un rectangle pour effacer le texte « FEEDING ».
  
 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'heure. C'est un peu bâclé, mais écrire plus de code m'aurait fait aller au-delà de la limite du Nano que j'utilisais. 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'heure. C'est un peu bâclé, mais écrire plus de code m'aurait fait aller au-delà de la limite du Nano que j'utilisais.
issue99/automatic_chicken_feeder.1439562071.txt.gz · Dernière modification : 2015/08/14 16:21 de auntiee