Étape 3: Dweens (le code)
La partie suivante du projet est d’obtenir la Arduinos (dweens pour faire court) mis en place par le code qui leur permettra de sens/interagir avec la cage de hamster. Tout le code pour ce projet est disponible à github.com/Kimbsy/IsMartinRunning (si vous avez utilisé git avant que vous pouvez juste cloner l’intégralité du projet dans le répertoire de base de votre pi). Mais je vais également télécharger les fichiers ici pour ceux qui trouve cela plus facile.
Nous allons utiliser deux dweens ici, l’un pour détecter tout mouvement de la roue et une seconde pour obtenir les données de température/humidité et pour contrôler le distributeur de friandise. Certains d'entre vous peuvent se demander pourquoi nous ne le faisons tous sur un dween (ou pour cette question il suffit d’utiliser le GPIO de la pi), il y a trois raisons principales :
- Simplicité (il est plus facile d’expliquer aux gens ce qu’il fait, et c’est beaucoup plus facile d’écrire du code).
- Séparation des préoccupations (si une partie se brise, nous pouvons garder les autres en cours d’exécution alors que nous essayons de réparer).
- Nous avons fait ce projet peu à peu et c’est juste comment tout est tombé ensemble:)
Le premier dween, qui va faire la détection de roue, sera besoin le hall.ino croquis (dans le repo git à sketches/hall/hall.ino). Cette esquisse écoute un capteur hall, attaché à la broche 12 qui envoie un signal chaque fois qu’il détecte un mouvement aimant passé. Nous allons fixer deux aimants sur les côtés opposés de la roue, donc on se met à clignoter après chaque demi-tour. Le code de mesure combien rotations arriver avant que la roue s’arrête de tourner et fonctionne à la vitesse et la distance. Vous devrez modifier ce croquis avant de le télécharger pour modifier la valeur de la constante de circonférence à la ligne 17. Cela devrait être la circonférence du vous roue de hamster (mesurée en mètres).
Le deuxième dween qui va détecter le dht_with_servo.ino besoin de température et humidité mais aussi contrôler la volonté du distributeur de friandise esquisser (dans le repo git à sketches/dht_with_servo/dht_with_servo.ino). Cette esquisse attend une commande de la pi et active le servo distributeur de friandise ou recueille des données de température et d’humidité du capteur DHT et envoie que de retour à la pi.
Une fois ces sketches ont été téléchargées sur le dweens, nous pouvons associer les composants.