Stap 4: Software
De software heeft twee belangrijke rol: de code die wordt uitgevoerd op de Arduino te werken van de hardware, en een server Arduino vertellen wat te doen.
Arduino code
De littleBits Arduino beschikt niet over veel documentatie nog. Dingen die je moet weten:
- de hardware is Arduino Leonardo compatibel, koos die typt in de Arduino IDE
- voor het aandrijven van het, enkel sluit de power module aan of de binnenkomende pennen (linkerkant)
De Arduino code is op Github. De onderdelen zijn:
Output pinnen:
Instellen van de pinnen gebruikt voor de thuis- en uitwedstrijden vlaggen en het doel! teken. De Arduino module alleen biedt gemakkelijke toegang tot uitvoer op D1 en D5 D9 pinnen. D5 en D9 moet worden overgeschakeld naar de modus van de PWM. In de code op dit moment is de thuisploeg (team0) pin D9, de bezoekende ploeg is D5, en het teken is D1.
Luister op de seriële poort:
Luisteren op de seriële poort voor de "H", "A" of "G":
- H betekent home team: Golf de vlag en het knipperen van het teken
- A betekent verkenningsteam score: Golf de vlag en het knipperen van het teken
- G betekent spel gebeurtenis (begin- of einddatum van spel): Golf van beide vlaggen samen
Het laatste deel was lastig, dat de servo's de neiging om te vergrendelen omhoog totdat ik heb een 25ms vertraging tussen de opdrachten voor de twee servo's. Deze oplossing werd bevestigd door andere servo-Masteropleidingen-Studies dat heb ik gevraagd later, dus dit een goede kennis voor toekomstige projecten is. Gelukkig kan niet echt aankondiging van het effect van deze vertraging op het gedrag hier, dus allemaal goed. De servo moet ook ten minste ongeveer 300ms naar goed Golf. Minder dan dat en het misschien raar, veel meer dan dat maakt het veel minder golvend gedragen.
De code is zeer hacky, was geschreven in een korte tijd, dus waarschijnlijk kan veel beter worden gedaan. Uw afstand in mijlen zou kunnen variëren!
Servercode
De server trekt de spelinformatie en hij draagt de Arduino wat te doen. Het is een zeer eenvoudige Node.js server.
Im ' using Kimonolabs onofficiële World Cup API ditmaal.
- Meld u aan voor Kimonolabs voor een API
- Vind het spel van uw interesse in de Verkenner (komt overeen met tabblad, beste manier is misschien door de tijd van het spel), kopie wedstrijd "id".
- Bekijk de littleGoal code van Github, installeer de afhankelijkheden ("npm installeren" in de projectmap)
- Kopieer "config.json.example" naar "config.json" in de directory, het toevoegen van uw API key, bijgewerkt van de game-id, en de poort van de Arduino
Ik heb het getest op Linux, eveneens moet gelden overal waar Node.js kan worden uitgevoerd.