2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Door ThomasVDDVolg meer door de auteur:
Als ze naar een groot concert gaan, delen ze vaak kleine LED-lampjes uit. Als je naar een concert van Coldplay gaat, krijg je de geweldige versie ervan: een LED-polsbandje. Tijdens de show lichten ze automatisch op en geven een geweldig effect. Aan het einde van de show wordt de armband echter volkomen onbruikbaar, echt jammer voor zo'n coole gadget!
In deze instructable zullen we er iets aan doen en de LED-polsband nieuw leven inblazen! Ik heb een paar mensen gezien die sommige kleuren aan het werk hebben gekregen, maar dat is niet cool genoeg. We gaan de band herprogrammeren, volledige controle hebben over de LED's, en ze laten oplichten in allerlei coole patronen!
Laten we beginnen!
Stap 1: Het uit elkaar halen
Voordat we de armband nieuw leven kunnen inblazen, moeten we weten wat hem drijft. Laten we het uit elkaar halen!
In de behuizing komen is vrij eenvoudig: 4 schroeven zijn voldoende om de magie van binnen te onthullen. We worden begroet door de batterijen (of wat er nog van over is). Je ziet 2 batterijhouders: de eerste heeft twee (maat 2025) die 6V leveren en worden gebruikt voor de LED's; de tweede heeft een enkele batterij (maat 2032) voor de microcontroller erin.
Als ze de polsbandjes tijdens het concert uitdelen, zetten ze ze aan door een klein plastic lipje tussen de batterij en de batterijhouder te trekken. Omdat ze niet bedoeld zijn om opnieuw te worden gebruikt, is er ook geen manier om ze uit te schakelen. Omdat het apparaat van stroom blijft totdat de batterij leeg is, moeten we het vervangen door een nieuwe knoopcel.
De batterij vervangen is één ding, ervoor zorgen dat we het polsbandje weer kunnen uitschakelen is een tweede. Ik heb geprobeerd een schakelaar toe te voegen, maar vond een veel eenvoudigere oplossing: plaats hetzelfde soort treklipje (maakt dit het een duwlipje..?) tussen de batterij en de houder om de stroom naar het apparaat uit te schakelen. Elk dun en stevig lipje kan werken: hard plastic, karton, … Ik gebruikte een klein stukje nikkelstrip (gebruikt om lithiumcellen aan te sluiten) met wat schilderstape rond de helft ervan. Dit is erg stevig en maakt het mogelijk om het andersom te plaatsen (met het metalen deel tussen de batterij en de houder) als een manier om het lipje op te bergen wanneer de polsband om is.
Nu we de kracht hebben, laten we eens kijken hoe we wat licht kunnen maken!
Stap 2: De LED's bedienen
We gaan nu kijken hoe we de LED's kunnen aansturen. Als je alleen geïnteresseerd bent in het uploaden van de code en het daadwerkelijk bekijken van de LED's, ga dan meteen naar de volgende stap.
Voordat we kunnen beginnen met programmeren, moeten we eerst de hardware kennen. Meer specifiek moeten we weten hoe de LED's zijn aangesloten op de microcontroller. We kunnen dit controleren door de sporen op de printplaat te volgen, of door het schema dat iemand anders al heeft gemaakt te controleren (credits). Het volledige schema is in PDF, maar ik heb ook een vereenvoudigde versie toegevoegd met de informatie die we nodig hebben.
We kunnen zien dat ze de ATmega88 als microcontroller gebruiken. De LED's worden aangestuurd met enkele MOSFET's, die worden aangestuurd door de ATmega88 met de volgende pinnen:
- Rode LED: Poort B6
- Groene LED: Poort C3
- Blauwe LED: Poort B7
- Algemeen: Poort D3
Dat is alles wat we moeten weten! Laten we nu wat licht maken! Dit doen we door simpelweg de bijbehorende pinnen aan of uit te zetten. Er is echter een addertje onder het gras: de LED's hebben geen stroombegrenzende weerstand, dus de stroom wordt alleen beperkt door de interne weerstand van de batterijen. Niet goed. Bovendien, aangezien de rode LED een lagere voorwaartse spanning heeft dan de groene en blauwe, zal deze meer stroom trekken en een stuk helderder zijn dan de andere. Niet goed.
Om de LED's mooi aan te sturen, moeten we ze aansturen met PWM. Ik deed dit door een interruptroutine te schrijven die op 10 kHz loopt en een PWM-signaal creëert voor alle LED's. Het compenseert ook het verschil in stroomverbruik: de huidige duty cycle van de rode LED is lager dan die van de groene en blauwe. We kunnen nu de helderheid van elk van de LED's regelen door een variabele bij te werken.
In de hoofdlus doen we precies dat. Ik heb een aantal patronen gemaakt die de helderheid van de LED's veranderen. Het zou vrij eenvoudig moeten zijn om er nog meer voor jezelf te maken, je kunt mijn code als voorbeeld gebruiken. Ik heb meer dan 10 verschillende patronen gemaakt, en ze blijven maar doorlopen. Een lus duurt ongeveer 5 minuten, dus het verveelt niet snel;)
Stap 3: Programmeren
Met de code geschreven, kunnen we het apparaat programmeren! Maar wacht, waar moeten we de programmer aansluiten?
Laten we eens kijken naar de achterkant van de printplaat. Afgezien van de batterijen zijn er slechts enkele gaten. En dat is precies wat we zoeken, gelukkig maar:) De gaten zijn de programmeerpoort, die wordt gebruikt voor de In-System Programming (ISP). Hiermee kunnen we de microcontroller programmeren terwijl deze zich in het circuit bevindt (vandaar de naam).
Dus nu we ons doelwit hebben gevonden, kunnen we dat aansluiten op een AVR-programmeur (een programmeur voor ATMEL-microcontrollers). Omdat de 6 pinnen op een rij niet echt een standaardverbinding zijn, heb ik eenvoudige jumperdraden gebruikt om de twee met elkaar te verbinden. U kunt de pin-out in de afbeelding controleren.
Afhankelijk van uw programmeur heeft u tijdens het programmeren 2 mogelijkheden om het apparaat van stroom te voorzien. Ofwel voed hem met 3,3V via de programmer zelf (als deze wordt ondersteund) of plaats een nieuwe batterij in de polsband en voed hem op die manier. Zeker niet allebei doen!
Nu we de programmer hebben aangesloten en stroom hebben geleverd, kunnen we eindelijk dat verdomde ding programmeren! We zullen Atmel Studio gebruiken om het uit de as te laten herrijzen!
- Open Atmel Studio en open het project (.atsln-bestand).
- Ga naar Extra>Apparaatprogrammering (ctrl+shift+p) en selecteer uw programmeur; druk op Toepassen.
- Ga naar het tabblad Zekeringen en kopieer de instellingen die in de afbeelding worden getoond. Druk op Programma
- Ga naar het tabblad Herinneringen en druk op Programmeren.
Dat is het, laat er licht zijn!