Stap 2: Programmeren van de printplaat van de controller
Ik gebruikte een Arduino UNO board om te fungeren als een programmeerapparaat voor de controller door het volgen van dit Instructable. Daarin toont het de volgende toewijzing van Arduino pins naar ATtiny pinnen voor programmering:
- Arduino + 5V → ATtiny Pin 8
- Arduino grond → ATtiny Pin 4
- Arduino Pin 10 → ATtiny Pin 1
- Arduino Pin 11 → ATtiny Pin 5
- Arduino Pin 12 → ATtiny Pin 6
- Arduino Pin 13 → ATtiny Pin 7
De verbindingspunten worden aangegeven in de bovenstaande afbeelding. Let erop dat een van de verbindingspunten het grote cirkelvormige montage gat tussen de twee sets voor 0.100" headers is. Ik hield gewoon de kale uiteinde van de programmering draad (Arduino pin 12) in contact met dit gat tijdens programmeren. Toegegeven, dit is een inelegent methode, maar het werkt.
(Toen ik oorspronkelijk ontwierp dit forum, ik kon niet bedenken hoe te lopen dit signaal aan de headers 0.100" zonder zich te mengen met de functie van de versnellingsmeter van bestuur. Dit is het signaal van de gegevens voor de WS2812B LEDs. Na heroverweging van dit probleem, besefte ik dat dit signaal kan worden aangesloten op de kop die overeenkomt met de omgekeerde chip select pin van de versnellingsmeter zonder een probleem veroorzaakt, zoals LED gegevens nooit op hetzelfde moment geschreven als de versnellingsmeter wordt gelezen. Ik ontwierp een tweede herziening van de controller boord die worden opgelost met dit en een paar andere dingen die ik wou dat ik gedaan, anders de eerste keer. Ik ben van plan om te posten van de verschillen in het ontwerp voor deze wijzigingen als ik rond aan de opbouw van de tweede versie.)
De batterij moet niet worden aangesloten bij het programmeren van de Raad van bestuur. In feite nodig niet is voor deze stap helemaal.
De broncode van het programma voor de choker kan worden gevonden hier. Het gebruikt een aangepaste versie van de Adafruit_NeoPixel bibliotheek waarmee dynamische helderheid schaal van de LEDs te beperken van de totale huidige trekken van hen. Ik maakte deze wijziging om twee redenen:
- Een matrix van 69 WS2812B LEDs vergt tot 3 ampère stroom als gedreven bij volledige helderheid. Dit hoger is dan het vermogen van de batterij, en is veel te helder voor praktisch gebruik als een wearable choker, als u wilt dat iemand om staan kijken naar u voor meer dan een seconde of twee te kunnen.
- Ik wilde ervoor zorgen dat de kraag zou blijven functioneren op een enkele batterijlading ten minste 12 uur.
Na succesvol programmeren van de Raad van bestuur, beginnen met de blauwe LED knippert in- en uitschakelen.