Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
issue98:tutoriel_arduino [2015/07/04 12:08] – d52fr | issue98:tutoriel_arduino [2015/07/05 12:12] (Version actuelle) – andre_domenech |
---|
Basically, here’s how it works: at certain times of each day, the servo should turn 90 degrees, thereby letting pellets drop for a short time, then turn back by 90 degrees to block more pellets from dropping. Meanwhile, the screen should show the current temperature, humidity, light level, current time, and time of the next automatic drop. It also has a button for a manual feeding.** | Basically, here’s how it works: at certain times of each day, the servo should turn 90 degrees, thereby letting pellets drop for a short time, then turn back by 90 degrees to block more pellets from dropping. Meanwhile, the screen should show the current temperature, humidity, light level, current time, and time of the next automatic drop. It also has a button for a manual feeding.** |
| |
Pour mon dernier projet, je pense essayer de créer un nourrisseur automatique de poulet piloté par Arduino. | Pour mon dernier projet, je pensais essayer de créer un nourrisseur automatique de poulet piloté par Arduino. |
| |
Initialement, j'ai en vue de grandes solutions pour ça, mais ça s'est terminé par une réduction vers quelque chose de plus basique. Mon plan initial était de l'équiper de détecteurs, reliés à Internet (Wifi/câble) pour être capable ce contrôler le nourrisseur via Internet en voyant les conditions courantes comme la température. | Initialement, j'avais rêvé de solutions extraordinaires pour cela, mais ça s'est finalement réduit à quelque chose de beaucoup plus basique. Mon plan initial était de l'équiper de détecteurs reliés à Internet (Wifi/câble), pour être capable de contrôler le nourrisseur via Internet et de voir les conditions courantes comme la température. |
| |
Bon, cette idée est morte rapidement. Et d'un, j'étais hors e portée du Wifi ce qui veut dire que je devais utiliser un adaptateur CPL (si vous n'avez jamais vu un adaptateur CPL, lisez l'article sur ces adaptateurs et les caméras IP, dans le numéro précédent). C'est assez facile, mais j'étais à court de prises secteur. Finalement, j'ai laissé tomber l'idée d'utiliser Internet, gardé les capteurs et je les ai affiché sur un écran LCD couleur. | Bon, cette idée-là est morte rapidement. Et d'un, j'étais hors de portée du Wifi, ce qui voulait dire que je devais utiliser un adaptateur CPL (si vous n'avez jamais vu un adaptateur CPL, lisez l'article sur ces adaptateurs et les caméras IP, dans le numéro précédent). C'est assez facile, mais j'étais à court de prises secteur. Finalement, j'ai laissé tomber l'idée d'utiliser Internet, gardé les capteurs et je les ai affichés sur un écran LCD couleur à la place. |
| |
De base, voici comment ça marche : à certains moments de la journée, le servomoteur tournerait de 90 degrés, laissant des granulés tomber pendant un temps court, puis tournerait à rebours de 90 degrés pour empêcher plus de granulés de tomber. Entre-temps, l'écran afficherait la température courante, l'humidité, le niveau d'éclairage, l'heure courante et l'heure de la prochaine ouverture. Il comporte aussi un bouton pour une alimentation manuelle. | Voici un résumé de son fonctionnement : à certains moments de la journée, le servomoteur devrait tourner de 90 degrés, laissant des granulés tomber pendant un temps court, puis tourner de 90 degrés en sens contraire pour empêcher plus de granulés de tomber. Entre temps, l'écran devrait afficher la température courante, l'humidité, le niveau d'éclairage, l'heure courante et l'heure de la prochaine ouverture. Il comporte aussi un bouton pour une alimentation manuelle. |
| |
**Here’s the circuit I ended up going with: | **Here’s the circuit I ended up going with: |
| |
Next month I’ll show some of the code and discuss what it does.** | Next month I’ll show some of the code and discuss what it does.** |
| |
| Voici le circuit que j'ai fini par faire : |
| |
| Nous regarderons le code le mois prochain, mais j'ai eu plusieurs tracas pendant ce travail : |
| • L'heure. J'utilise le DS3231 RTC (real time clock - horloge temps réel) qui est un super module, mais il est infernal à régler. Initialement, quand vous le recevez (de votre fournisseur), il est inévitablement réglé sur les mauvais jour et heure. J'ai essayé différentes choses pour régler le mien mais je n'y arrivais pas. J'ai fini par utiliser le DS3231 que j'avais dans le précédent projet, mais il était réglé à l'heure -1. Aussi, j'ai dû faire un ajustement pour cela dans le code. |
| • L'alarme. Dieu merci ! La bibliothèque date/heure sur le site Arduino dispose d'une fonction alarme, qui était du pain bénit. Autrement, j'aurai dû scruter l'heure pour voir si ce n'était pas le moment de faire tomber la nourriture, et ça aurait été un cauchemar ! |
| • Faux positifs. Je n'ai aucune idée de ce qui se passait, mais ça s'est arrêté soudainement. Le servomoteur manœuvrait aléatoirement et ouvrait/fermait quand il ne fallait pas. Pour une raison inconnue, ça s'est résolu tout seul. |
| • Mises à jour de l'écran. Il y a encore un peu d'« erreur » sur mon affichage. Le RTC, par défaut, retourne des valeurs à 1 digit de 1 à 9 ; ainsi, quand il affiche (par exemple) que 3 minutes sont passées, il affiche seulement 3 plutôt que 03. Cela signifie que l'affichage de l'heure semble un peu bizarre par moments, et je n'arrive pas à le résoudre... parce que... |
| • Espace. Je voulais utiliser Arduino Nano. Au début, tout allait bien, mais comme je m'approchais de la fin du projet, j'étais vraiment en train de finasser pour de la place. Mon code actuel laisse seulement 200 octets d'espace libre dans la mémoire du Nano. |
| • Alimentation. Comment pourrais-je alimenter cette chose qui est très loin de mon portable ? Heureusement, j'avais un vieil adaptateur d'alimentation de 12 V, 0,9 A qui donnait juste ce qu'il fallait quand je l'ai branché sur le picot VIN de l'Arduino. |
| |
| Le mois prochain, je vous montrerai quelques parties du code en vous expliquant ce qu'il fait. |