Pinewood Derby met programmeerbare LEDs (3 / 4 stap)

Stap 3: De software


Ten slotte het deel van de instant bevrediging: de software is eenvoudig, over 21 lijnen van code.
Ik heb ook de onderstaande code, evenals een syntaxis gemarkeerde versie die ik vind makkelijker
om te lezen.

Ik besloot om een timer gebruiken om een interrupt genereren elke 1mS of zo. Dit geeft over duizend
cycli (de compiler zal opslaan/herstellen registers op onderbreken, zodat er minder dan duizend)
tussen interrupts. Dit zou moeten volstaan voor een redelijk licht knipperen schema!

U moet lezen de spec. zorgvuldig om het instellen van de timer en interrupts. Vergeet niet om in te schakelen
interrupts in de hoofdlus. De spec. link is http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf .

De eerste afbeelding hieronder toont de gespreide turn-on tijden voor elke LED en de plicht-cycli
voor elk. Leven om eenvoudig te maken, besloten heb ik om het gebruik van een periode van 16 MS, dus het pulserend sproeien kan worden ingesteld
op elk van de n/16 waarden, met n = 1,..., 16. Een variabele count_ms wordt verhoogd telkens
de interrupt routine klaar. Ik koos voor 16 omdat ik kan gewoon masker uit de bodem 4 bits
count_ms om erachter te komen waar zijn wij de plicht cyclusperiode. De structuur van de gegevens onder leiding
(Zie de .h-bestanden hieronder) toont u de gespreide start tijd voor elke LED, en hoe lang het
moet blijven.

Ik heb enkele aanvullende code om te wisselen van de gele LEDs, dus hooguit een gele LED
brandt op elk gewenst moment. De variabele slow_count wordt iedere 256mS, ongeveer een kwart van een
tweede.

De eerste afbeelding hieronder gebruikt, kunt u berekenen van de maximale en gemiddelde totale LED huidige.
De gemiddelde trekken (met inbegrip van de microcontroller) is over 22mA, waardoor ongeveer 4 uur
van licht. Aangezien de maximale trekken alleen 42mA is, er is geen noodzaak voor een condensator over de
voeding (te onderdrukken switch transiënten).

Ik heb de op-keer aangepast zodat de helderheid van de LED ongeveer hetzelfde was. De gele
en rode LEDs hebben diffusers, de witte LED heeft een lens, die vergelijkbaar met de werkt
een echte auto. De witte LED's waren zeer helder. Er is een licht zichtbaar flikkering (bij 1000/16 Hz),
maar het is verdraaglijk, en vestigt de aandacht wanneer de auto beweegt.

Een meerkanaals-scope maakt het gemakkelijke werk van het opsporen van fouten. Ik ben niet zeker hoe ik zou hebben gevonden
mijn insecten anders. Er is eigenlijk een subtiele bug in de code, maar het maakt niet uit dat
het is een zaak van de hoek die irrelevant is. Als de pulse_on_time is ingesteld op 0, dan is de corresponderende
LED zal aanblijven op de allertijden! De oplossing is ook controleren dat een LED alleen als is ingeschakeld het
waarde van pulse_on_time is niet nul. Echter, dit verlengt de code onnodig, als u
wil een tijdig van 0, net reactie uit dat LED!

De zekeringen ATtiny2313 op passende wijze moeten worden ingesteld op het selecteren van de interne klok van 1 Mhz. de
na koppeling http://www.engbedded.com/fusecalc/ is handig om te vereenvoudigen het enigszins verwarrend
omgekeerde logica die wordt gebruikt voor het programmeren van de zekering. Het fuse.txt bestand hieronder toont de opdracht ik gebruikte
de microcontroller te programmeren.

De build-instructies staan in het bestand build.txt hieronder. (Alleen voor een geestelijke gezondheid te controleren, ik print uit de
maten van de code en de variabele kaart.)

Gerelateerde Artikelen

Guy-Manuel Daft Punk Helmet met programmeerbare LED-verlichting

Guy-Manuel Daft Punk Helmet met programmeerbare LED-verlichting

In dit Instructable, zal u het opbouwen van een Daft Punk Helmet Guy-Manuel de Homem-Christo met programmeerbare LED-verlichting. Het is een lange project, dat enkele tientallen uren werk duurt. Gebieden van deskundigheid die met deze build helpen za
Bouw een Daft Punk helm met programmeerbare LED-display

Bouw een Daft Punk helm met programmeerbare LED-display

dit Instructable zal het proces van het creëren van uw zeer eigen Thomas Bangalter Daft Punk helmetdetailleren. Hoewel deze tutorial specifieke aan Thomas Bangalter van helm in het bijzonder lijkt misschien, zijn er veel processen betrokken binnen di
Pinewood Derby Car met LEDs en Jimmy Neutron

Pinewood Derby Car met LEDs en Jimmy Neutron

U weet uw in problemen wanneer u zorgen te maken over de software in uw zoon Pinewood Derby car!Dit jaar heb ik besloten te geven proberen te concurreren met de "Gear-Heads" in onze Cub Scout-Pack. Er zijn gewoon te veel variabelen wanneer het p
Pinewood derby car met werkende koplampen

Pinewood derby car met werkende koplampen

Bijgewerkt ***Voor de meest recente pinewood derby dacht ik dat het zou cool om te zetten LEDs voor frontschijnwerpers en breken van lichten. Het bleek te zijn echt cool. Hoort hoe ik het deed. (Disclaimer) Dit instructable verder niet in detail tred
Pinewood Derby Car met koplampen met behulp van Chibitronics

Pinewood Derby Car met koplampen met behulp van Chibitronics

Pinewood Derby auto's zijn geweldig, kinderen liefde waardoor ze en ze veel leren over houtbewerking, schilderen, aërodynamica en gewicht distributie. Om de ervaring te verbeteren (en maken uw auto nog cooler) toevoegen LED koplampen of achterlichten
Pinewood derby video auto (met vering)

Pinewood derby video auto (met vering)

dit jaar mijn oudste zoons Cub Scout pack had een open divisie. Ik vind de auto's dat de race van de kinderen hun eigen creatie moeten. Dus na het bijeenkomen van een monitor van de veiligheid voor de oprichting van de echte auto. Ik heb een video au
Arduino Pinewood Derby Timer

Arduino Pinewood Derby Timer

Afgelopen zomer, besloten afkomstig van de SLO om een NOVA 'Making Stuff' workshop gastheer voor onze lokale gemeenschap. Een van de activiteiten van de workshop is een Pinewood Derby.Het goede nieuws is dat zijn altijd leuk. Het slechte nieuws is ha
Pinewood Derby Race

Pinewood Derby Race

Hier in Nederland weten we niet echt de Pinewood Derby. Ik dacht dat het zou leuk om te doen een jaarlijkse Nederlandse versie.Om dit te maken gebeuren, moet ik de Amerikaanse afmetingen en regels te vertalen in iets dat voor ons werken zou. Het eers
Pinewood Derby politie auto

Pinewood Derby politie auto

het is Pinewood Derby seizoen!  Dit jaar bouw ik een met een arduino-chip binnen.  Deze auto heeft geleid kop en staart lichten.  Het heeft ook rood en blauw knipperende lichten die worden beheerd door de arduino-chip.Ik zal u laten zien hoe een te b
Ducted Fan Pinewood Derby Car

Ducted Fan Pinewood Derby Car

Wanneer mijn werkplek (Adobe) Pinewood Derby concurrentie aangekondigd besloten heb ik om deel te nemen in de outlaw/onbeperkte categorie. Een flink aantal jaren geleden maakte ik een auto met behulp van een propeller & elektromotor opnieuw beoogde d
Pinewood Derby Car Detailing ideeën

Pinewood Derby Car Detailing ideeën

Sommige kinderen (of ouders) kon minder zorg over een snelle auto. Voor hen 's it all about stijl...In dit instructable, zal ik de trucs die ik gebruikte tijdens mijn eerste ervaring met het verfraaien van pinewood derby auto's met mijn jongens delen
Pinewood Derby trofee staan

Pinewood Derby trofee staan

It's getting te zijn die tijd van het jaar waar we beginnen te werken op onze Pinewood Derby-auto's voor onze Cub Scouts.Echter, na al het werk in de bouw en uw auto racing, hoe bent u van plan om uw gemiddelde machine weer te geven? Sommige mensen d
Pinewood Derby Car op Shopbot

Pinewood Derby Car op Shopbot

waar mijn zoon in de Pinewood Derby concurreert, ze hebben vrij strikte regels op wat voor werk de jongens op hun eigen auto doet.  De jongens afdelingen hebben strenge regels over wat wel en niet kan worden gedaan.Maar dan is er een papa's divisie! 
Gewicht toevoegen aan een auto Pinewood Derby, snel en goedkoop.

Gewicht toevoegen aan een auto Pinewood Derby, snel en goedkoop.

ik was op zoek naar een snelle en gemakkelijke manier om gewicht toe te voegen aan een Pinewood Derby-auto. U kunt de overlappings- of wolfraam, maar ze zijn relatief duur (1-2 dollar per ounce), komen in vreemde vormen, en je moet bedenken een manie