Stap 3: Dweens (de code)
Het volgende deel van het project is om de Arduinos (dweens voor korte) instellen met de code waarmee ze kunnen het gevoel/interactie met de hamster kooi. Alle code voor dit project is beschikbaar op github.com/Kimbsy/IsMartinRunning (als je kunt git hebt gebruikt voordat u kunt alleen het klonen van het hele project in de basismap van uw pi). Maar ik zal ook het uploaden van de bestanden hier voor degenen die dat gemakkelijker vinden.
We worden met behulp van twee dweens hier, één voor elke beweging van het wiel en een tweede temperatuur/luchtvochtigheid gegevens op te halen en zo de besturing van de traktatie dispenser sensing. Sommigen van u kunnen afvragen waarom we dit niet doen op een dween (of voor die kwestie gewoon gebruik maken van de GPIO voor de pi), er zijn drie belangrijke redenen:
- Eenvoud (het is makkelijker om uit te leggen aan mensen wat het doet, en het is veel gemakkelijker om de code te schrijven).
- Scheiding van bekommernissen (als een deel breekt, kunnen we de anderen blijven draaien terwijl we proberen te repareren).
- We deden dit project beetje bij beetje en dat is gewoon hoe alles viel samen :)
De eerste dween, die de wiel-detectie doen zal, zal moeten de hall.ino schets (in git repo op sketches/hall/hall.ino). Deze sketch luistert naar een Hallsensor gekoppeld aan pin 12, die een signaal telkens het detecteert een magneet zet verleden. We gaan twee magneten hechten aan weerszijden van het wiel, zodat een langs elke helft rotatie knippert. De code meet hoeveel rotaties gebeuren voordat het wiel stopt met spinnen en de snelheid en afstand werkt. U moet deze schets bewerken voordat u het uploaden als u wilt wijzigen van de waarde van de constante van de omtrek op regel 17. Dit moet de omtrek van je hamster wheel (gemeten in meter).
De tweede dween die zal worden sensing temperatuur en vochtigheid, evenals de traktatie dispenser wil controle moet de dht_with_servo.ino sketch (in git repo op sketches/dht_with_servo/dht_with_servo.ino). Deze sketch wacht op een commando van de pi en activeert de traktatie dispenser servo of verzamelt gegevens van temperatuur en vochtigheid van de DHT sensor en stuurt dat terug naar de pi.
Zodra deze schetsen zijn geüpload naar de dweens, kunnen we de onderdelen draad.