Stap 2: De afstandsbediening setup en code
De ATtiny microcontroller controles de het signaal van een infrarood-ontvanger-module. Die module filters. De IR ontvangersmodule automatisch zorgt voor het beperken van de ontvangst van signalen, gemoduleerd op 38 kHz (of sluiten), typisch voor TV-afstandsbedieningen en verwante apparaten (eigenlijk, bij het nemen van foto's ik merkte het ook reageert op een flits).
Zolang niet meer dan 90 milliseconden verstreken (de langste interval voorkomende gemeen IR-codes) stuurt de ATtiny een signaal naar de servo waardoor het verplaatsen van links naar rechts. De beweging van de servo verschuift het centrum van de zwaartekracht, maken de robot wiebelen.
Terwijl het experimenteren om te krimpen de Zappelin Arduino project naar een ATtiny maakte ik een vereenvoudigde afstandsbediening setup. Een actie wordt uitgevoerd wanneer een IR-signaal wordt opgepikt dat wil zeggen zonder enige code te controleren om te bepalen welke afstandsbediening wordt gebruikt of de servo welke knop is ingedrukt.
Deze 1 functie en niet-discriminerende afstandsbediening setup heeft uiteraard belangrijke beperkingen, maar heeft ook het toepassingen, zoals de Wiebelbot als een metgezel van de televisie.
Ik gebruikte de Arduino IDE en een Arduino Uno voor het programmeren van de ATtiny als uitgelegd erg goed hier. De kern die ik heb gebruikt is dit een.
Het programma (schets) wordt toegevoegd aan deze pagina als een zip-bestand. Het circuit diagram wordt herhaald in de pdf.
Hoe krijg ik een ATtiny Lees het signaal van een IR-ontvanger-module die ik geleerd van Dit fascinerende project.
Controle van de servo uit de ATtiny wordt gedaan met dit zeer waardevol stuk van bibliotheek code: Servo8bit
Nadat u hebt gedownload, kopieert u de Servo8bit bibliotheek onder uw omslag van de bibliotheken van de Arduino. Een belangrijke waarschuwing bij het gebruik van de), is het voorbeeld om uit te houden de bibliotheken. Anders wordt het toegevoegd aan de ge-uploade code en uitgevoerd op de ATtiny na één cyclus van uw eigen programma. Bel de Servo8bit-bibliotheek en de functies gebruiken, zoals wordt weergegeven in de toegevoegde code.
Wanneer u deze bibliotheek gebruikt, de functie van de vertraging is inactief (heeft te maken met dubbele gebruik van timers). Dus ik gebruikte de millis en micros functie voor controle van de timing. Ik gebruikte de micros functie met toekomstige projecten in gedachten, projecten probeert voor een betere interactie tussen IR decoderen en servo opdrachten. Met het Zappelin-project liepen we snel in beperkingen op dit gebied. In dit Wiebelbot project er niet nog een IR code interpreteren gedaan, maar het is een begin om te verkennen van een alternatieve benadering.