Stap 15: [Bijlage] Circuit schema
Het volgende schema wordt beschreven op het circuit van de Jar van vuurvliegjes. In het bijzonder, zijn er een paar opmerkingen te maken over zijn ontwerp:
VCC - de positieve aansluitklem van uw 3V voeding (d.w.z. batterij), voor wie niet vertrouwd met elektronische schema voor naamgeving.
GND - ook dit gaat naar de negatieve terminal op uw batterij.
R1 - 22.0K Ohm weerstand - dit wordt gebruikt als een pull-up weerstand om te rijden de spanning op de resetpin hoge tijdens operatie waardoor de chip opnieuw wordt ingesteld. Het circuit zou eigenlijk prima werken als deze weerstand gewoon door een draad vervangen werd. Maar er zou één cruciaal verschil: u zou kunnen herprogrammeren van de chip zodra het was vastgesoldeerd aan de Raad van bestuur. De reden hiervoor is omdat de chip programmeur zou kunnen rijden de resetpin lage zonder kortsluiting aan de VCC op hetzelfde moment. Dat is het enige doel van R1, aan een chip programmeur toestaan om te schakelen van de resetpin zonder kortsluiting aan de VCC. Als zodanig, de waarde van de R1 niet eigenlijk belangrijk, zolang het is 'groot genoeg' (zonder zo groot dat het blokkeren van de resetpin van de VCC helemaal zien). Een willekeurige waarde tussen 5k - 100k is waarschijnlijk prima.
R2, R3 - 100 Ohm weerstanden - de waarde van deze weerstanden afhankelijk van de kenmerken van het model van LED's je toevallig te gebruiken. Verschillende LED's, zelfs van dezelfde grootte en kleur, hebben zeer uiteenlopende kenmerken, met name als het gaat om hoe veel huidige hij(zij) en hoeveel licht ze produceren. Bijvoorbeeld, het model van LED's die ik geliquideerd met behulp van zijn spec'd om te trekken rond 20mA op 2.0V en 10mA op 3V via een weerstand van 100 Ohm.
Nu had ik dit circuit voor verrichten helemaal tegenover weer, zou ik waarschijnlijk hebben gekozen een iets grotere waarde voor R2, R3. De reden hiervoor is dat, als ik om te zien een firefly in natuur gloed zo fel als een van deze LED's doen op 10mA, ik zou verwachten dat het exploderen in een natte groene mist een milliseconde later. Dat wil zeggen, op 10mA deze LED's gloed te fel worden realistische vuurvliegjes. Dit is een kwestie die ik in de software behandeld door beperking van de maximale helderheid die de LED's zijn ooit op gereden. Als u hetzelfde onderdeelnr LED's dat ik gebruikt, vindt u de firefly software al worden afgestemd op een passende helderheid. Anders, tenzij u van plan bent om de helderheid schaling in de broncode te wijzigen, kan je jezelf terug te gaan en gehannes met de waarde van R2, R3 gezocht naar een waarde beter geschikt om wat LED's u eindigen met het gebruik. Gelukkig, dit moet niet veel moeite te nemen, zoals SMD weerstanden gemakkelijk zijn te herwerken.
PIN_A, B, C, D, E - Dit zijn de namen die ik willekeurig gaf aan de pinnen om te vertellen dat ze uit elkaar en ik verwijs naar de pinnen door deze namen in de broncode weergeven. Pennen A en B ik verwijzen naar als "master" pinnen. Als u niet van plan op het lezen van de broncode, dan is dit onderscheid niet maken geen verschil. Als u van plan bent bij het lezen van de broncode, hopelijk beschrijft de opmerkingen die ik in het geplaatst heb voldoende de rol van de meester pinnen en hoe de LED's worden gedreven.
Ongeacht, is hier de samenvatting van hoe de LED's worden aangestuurd:
Voordat een firefly 'song' wordt gespeeld, is een willekeurige uitspraak gedaan over de vraag wat LED is om te worden aangedreven. Dit besluit begint met de selectie van de 'master' pin, PIN_A of PIN_B. Deze selectie narrows naar beneden van de keuze van welke werkelijke LED's kan worden gereden. Als PIN_A is gekozen, dan hebben we een keuze tussen LED3, LED1 of LED2. Hetzelfde geldt voor de PIN_B en de andere LED van. Zodra de master pin wordt gekozen, dan kiezen we willekeurig de specifieke LED te rijden van de beperkte lijst van kandidaten.
Bijvoorbeeld, laten we zeggen dat we PIN_A en LED2 hebt gekozen.
Om te schakelen LED2, we rijden PIN_A hoog en rijden PIN_D (de pin dat is gekoppeld aan de andere kant van LED2) laag. LED2 om uit te schakelen opnieuw tijdens het afspelen van het nummer, vertrekken we PIN_A hoog en station PIN_D hoog, dus verwijderen van het potentiaalverschil tussen de twee zijden van LED2 en stoppen van de stroom door het, het uitschakelen. Aangezien we PIN_A gedreven hoog de allertijden verlaten, we kunnen ook kiezen af te spelen of van de andere twee LED's, LED1 of LED3, volledig onafhankelijk. In de praktijk, is de code geschreven om te spelen van een maximum van twee nummers op hetzelfde moment (twee firelies gloeien op hetzelfde moment).