Stap 3: over het Circuit
Het hart en de hersenen van de dFTV is de Pro Trinket 5v ($9,95) van adafruit.com. Ik denk dat dit bord koel genoeg dat het verdient een paar woorden. Aanvankelijk ik begon met de originele Trinket ($6.95) maar ik kreeg snel in de problemen met het en het project werd unstable, maar wanneer ik een upgrade naar de Pro Trinket dat alles ging weg.
De Pro Trinket is bijna een Arduino Uno (zelfde spaander), maar op een kleine little finger-tip formaat PCB. Het beschikt over een micro-USB-connector die kan worden gebruikt om beide, macht de Raad van bestuur, en om hem te programmeren. Over de enige dingen die je met de Pro Trinket over de Uno verliest is: seriële uitgang via de USB-poort en ondersteuning van de pin #2 en #7.
Een functie die de Pro Trinket heeft die ik in dit project gebruikt is een ingebouwde 5v macht regulator (150mA), zodat dit project kan draaien op iets van 5-16v. Als het gebeurt, ik ben het runnen van het van een 5v USB muur-wrat, maar ik kon het af van iets anders, inclusief batterijen, als ik wilde lopen.
U hoeft enkele kleine wijzigingen aanbrengen in de Arduino IDE de Pro Trinket programmeren. Uitstekende documentatie en tutorials over de Pro Trinket zijn hier op de website van AdaFruit, die mensen doen een geweldige job.
Boven is de fritzing tekening van mijn afstudeerproject. Ik heb al mijn tests en foutopsporing op een Arduino Uno met een standaard breadboard. Zodra ik had alles werkt zoals wilde ik, verving ik de Uno met de Pro Trinket, verplaatsen van de draden een-op-een, pin-voor-pin.
Vervolgens squished ik alle onderdelen samen totdat het past op slechts ¼ van het breadboard. Dat laat me gebruiken de PCB AdaFruit Perma-Proto kwartaal-en kleinbedrijf voor de definitieve versie. Ik hou van deze kleine PCB's (ook beschikbaar in ½ en volledige grootte), omdat ze precies een standaard breadboard repliceren. Alles wat je hoeft te doen is uw componenten overgaan en soldeer ze naar beneden, net zoals ze op het breadboard waren.
De fritzing tekening toont de Neopixel van AdaFruit 12 LED-ring, en ik gebruik dat eigenlijk tijdens prototyping en testen, maar de laatste versie gebruikt een 16 LED Neopixel compatibel ring uit China. Voor $4 kun je niet verslaan de prijs, en sindsdien was ik een heleboel dingen van daar bestellen, hoe dan ook, waarom niet?
De 100kΩ-potten zijn samen Point-to-Point wired off van de PCB. In principe ben ik met behulp van draden uit te breiden van de macht rails aan de drie potten. Dit laat me verminderen van het aantal draden kronkelen heen en weer. De drukknop vangt de 5v spoor ook op deze manier. Zoals ik al zei, zou 10kΩ potten ook prima werken hier. Ik gebruikte de 100k degenen omdat er minder stroom lekkage over de rails.
De center-aansluitingen op de potten zijn de ruitenwissers en zijn aangesloten op analoge input pinnen A1, A2 en A3 respectievelijk. De potten zijn hoedanigheid van variabele spanning dividers. De analoge input pinnen ziet een variërende spanning, gaande van 0 tot 5v, zoals elke pot is ingeschakeld.
R1 op het diagram is een 10kΩ pull-down resister verbonden met digitale invoer pin 4 op de Pro Trinket, met zijn andere kant sluit aan op het spoor van de grond. De drukknop is ook verbonden met pin 4, met de andere zijde aangesloten op de 5v-rail. Als de knop niet is ingedrukt, pin 4 "ziet" de grond spoor via de pull-down resister en leest dat als logica 0. Als de knop wordt ingedrukt, pin 4 Zie de volledige 5v van de macht-rail (min een klein beetje dat lekken via de pull-down resister) en leest dat als 1. Als de pull-down resister er niet waren, zou pin 4 "zweven" wanneer de knop was niet ingedrukt en willekeur zou resulteren.
Interessant, hebben Arduinos ingebouwde pull-up weerstanden die kunnen worden geactiveerd door de parameter mode INPUT_PULLUP aan de pinMode() functie. Met behulp van die zou hebben geëlimineerd de externe pull-down-weerstand. In dat geval de knop zou worden bedraad aan de grond rail in de plaats van de 5v-spoor, en de staat zou omgekeerde (1 wanneer niet geduwd, 0 wanneer geduwd).
Één van beide manier voor het verwerken van de knop zou correct zijn. Ik koos voor het gebruik van een pull-down resister, gewoon omdat ik probeerde om te leren en te begrijpen het hele pull-tabs-omhoog/omlaag-ding.
R3 is een huidige beperkende weerstand voor de rode LED activiteitslampje. De LED gaat branden wanneer pin 13 hoog gaat. De Pro Trinket en de Uno al een ingebouwde LED aangesloten op pin 13, die ook - zal oplichten waardoor mijn externe LED zowel overbodig als optioneel. De reden dat ik heb het daar het om de LED buiten het project geval dus het is gemakkelijk zichtbaar voor de gebruiker.
De Elektrolytische condensator is er om sommige filtratie op de macht rails. Vermoedelijk zoals de Neopixel LED's knipperen weg, is hun huidige draw schommelen van de spanning op de rails. De condensator is een reservoir van beschuldiging dat die schommelingen kan gladstrijken. Ik heb eigenlijk dit project zonder dat condensator lopen, en de meeste voorbeelden op de website van Adafruit Neopixel ook laat u het achterwege. Toch, dat het er is een goed idee. Let op de polariteit! Elektrolytische condensatoren hebben de neiging om te ontploffen wanneer u ze achteruit aansluit.
De 5.5mm macht aansluiting is aangesloten op de VLEERMUIS (batterij) en de G (grond) pinnen op de Pro Trinket. Dit betekent dat de macht via de ingebouwde spanningsregelaar gaat. Ingangsspanning kunnen iets van 5-16v. De macht rails op het bord Perma-Proto krijgt hun gereglementeerde 5volts van de G en 5v pinnen. De output van de Pro Trinket wordt begroot op 150mA. Ik weet niet wat de Neopixel ring loopt, maar niets lijkt te krijgen warm op de Pro Trinket, geen magische blauwe rook, dus ik denk dat alles is oke.