Inhoudsopgave:
- Stap 1: Vereiste componenten
- Stap 2: Arduino, WS2812B Leds en FastLED-bibliotheek (programmeren en testen)
- Stap 3: Circuitconfiguratie
- Stap 4: Laatste stap: boksen en opzetten in motorfiets
Video: Motorfiets achterlicht met geïntegreerde knipperlichten met programmeerbare LED's - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Hallo!
Dit is een enigszins eenvoudige doe-het-zelfzaak over het maken van een aangepaste programmeerbare RGB-achterlamp (met geïntegreerde knipperlichten/indicatoren) voor uw motorfiets of mogelijk iets met WS2812B (individueel adresseerbare leds) en Arduinos. Er zijn 4 modi van verlichtingspatronen die kunnen worden doorlopen met behulp van een drukknop.
Het idee om zo'n achterlicht te maken was er al sinds de eerste dag dat ik mijn motor kreeg, maar op dat moment was ik niet zeker van de methode om er een te maken en had ik niet echt tijd omdat ik bezig was met mijn college. Mijn eerste plannen waren om RGB-leds te kopen en deze te vervangen door de standaard leds in de achterlamp van mijn motorfiets en wat herbedrading te doen om de geïntegreerde knipperfunctie toe te voegen. Een dergelijke implementatie zou een aantal transistors en spanningsregelaars nodig hebben gehad voor elk van de ROOD-GROEN-BLAUWE stuurdraden op RGB-leds, wat zou resulteren in een zeer complexe schakeling.
Ik was echter zo geobsedeerd door dit idee, dus besloot ik de benodigde RGB-leds en andere componenten te kopen, maar al mijn plannen veranderden toen een man in een elektronicawinkel me kennis liet maken met een soort leds die bekend staat als individueel adresseerbare of programmeerbare leds (die was destijds nieuw voor mij) die vergelijkbaar waren met RGB-leds, maar elke led kan afzonderlijk worden bestuurd om in elke volgorde of kleur op te lichten met behulp van Arduino-controllers en slechts een enkele besturingsdraad voor de hele strip. Vanaf dat moment kostte het me bijna een jaar om dit project te voltooien, beginnend bij het leren hoe deze leds werken … hoe ze te programmeren … verschillende ontwerpen van het circuit en zijn prototypes doorlopen … heel veel probleemoplossing (dit was het enige dat was gedurende de laatste twee maanden van mijn project, omdat er elke dag een reeks fouten en defecten van componenten plaatsvonden als onderdeel van mijn waardeloze ontwerp. en was een complete stress voor mij dat het me bijna onmogelijk maakte om me op iets anders te concentreren). Tegen het einde van dit project was ik door een beschadigde Arduino gegaan, een paar opgeblazen LM7805 IC en weerstanden, heel veel stripboards en leds dat alles zou optellen tot bijna de helft van het geld dat ik aan dit project heb uitgegeven.
Dit project was iets dat ik had kunnen doen of je zou waarschijnlijk binnen 20 dagen kunnen voltooien, op voorwaarde dat je alle benodigde onderdelen tot je beschikking hebt. Wat me zo lang heeft geduurd, was vanwege mijn studie, de wachttijd van de producten die weken of maanden uit elkaar werden besteld omdat geld een probleem voor me was en uiteindelijk bij mezelf dacht of dit allemaal een dom idee was en wat het nut was van eigenlijk mijn tijd en geld aan het verspillen om dit te maken. Hoe dan ook, ik heb enorm genoten van dit project en het hield me bijna een jaar bezig en ik weet zeker dat jij dat ook zult doen. Dus ik heet je welkom op de DIY!
Stap 1: Vereiste componenten
De benodigde componenten kunnen variëren, afhankelijk van hoe u dit project wilt implementeren. Ik had bijvoorbeeld twee Arduino's gebruikt, zodat ik meerdere patronen kan hebben en door deze patronen kan schakelen. Als u echter alleen de geïntegreerde knipperlicht/indicator met remlichtfunctionaliteit wilt, kunt u dit met slechts één Arduino doen. Evenzo waren de koellichamen die in mijn ontwerp werden gebruikt een overkill en waren ze helemaal niet nodig voor mijn doel. Dus je kunt dat soort componenten elimineren waarvan je denkt dat ze niet nodig zijn, die ik alleen heb gebruikt omdat ik dom, onervaren en overbezorgd was (ik slaagde er nog steeds in om mijn circuit een paar keer te vernietigen). Dus hieronder is de lijst met componenten die ik heb gebruikt voor het maken van dit project:
- WS2812B LED's (afhankelijk van hoeveel u nodig heeft voor uw doel)
- ARDUINO NANO x2
- LM7805 x5 (spanningsregelaar om 12v om te zetten van batterij naar 5v)
- 10kΩ weerstand x5
- Draden
- Connectoren (ik gebruikte moederbord-smps-connectoren MALE(x2) & FEMALE(x2))
- Drukknop (om door modi te schakelen) x1
- Stripbord x2"
- Koellichaam x5
- Kunststof container x1
Zoals ik al zei, hangt de benodigde onderdelen echt af van hoe u van plan bent dit project uit te voeren.
Stap 2: Arduino, WS2812B Leds en FastLED-bibliotheek (programmeren en testen)
Dus het eerste dat u moet doen voordat u het eigenlijke circuit maakt, is controleren of uw circuitontwerp echt zou werken en of uw programma zal functioneren zoals het hoort. Dit alles kan worden gedaan door de componenten op een breadboard te testen en als er problemen zijn met een van de componenten of het circuit. We kunnen altijd opnieuw proberen met verschillende opties totdat we het perfecte werkcircuit hebben. Een van de redenen waarom het zo lang duurde om dit project te voltooien, was omdat ik haast had met dit project en het initiële circuitontwerp niet testte voor verschillende combinaties van ingangssignaal. Dit betekende dat we veel onderdelen moesten vervangen en het circuit opnieuw moesten bedraden.
Het eerste waar over moet worden gesproken, is het soort LED dat in dit project is gebruikt en hoe we ze kunnen programmeren om te functioneren zoals we van plan zijn te doen. Het model van de led die ik gebruikte was WS2812B, algemeen bekend als individueel adresseerbare LED's. Er zijn verschillende modellen van deze LED's met verschillende namen en ik heb geen idee wat het verschil is tussen elk van hen, het enige dat ik weet is dat verschillende modellen verschillen in kleurtemperaturen en sommige hebben een klokpin naast de datapin.
Om deze LED's te besturen, gebruiken we de Arduino-controller (ik gebruikte UNO en MEGA voor het testen en NANO's voor mijn laatste circuit) samen met FastLED-bibliotheek, een Arduino-bibliotheek die wordt gebruikt om het soort LED's te besturen dat in dit project wordt gebruikt. Deze bibliotheek kan worden verkregen bij GITHUB REPO.
Dus het eerste dat opvalt voordat we de programma's naar de Arduino kunnen uploaden, is om de FastLED-bibliotheek toe te voegen aan de Arduino IDE. Stappen om dit te doen vindt u hier.
Voor dit project heb ik twee Arduino's gebruikt, een voor het verzenden van signalen naar de LED en een andere om te schakelen tussen verschillende modi of verlichtingspatronen. Als je slechts een enkele modus / standaardpatroon wilt, is één arduino alles wat je nodig hebt.
U kunt de programma's downloaden via de volgende link.
Nu zal ik u door de programma's leiden en beschrijven wat er allemaal moet worden gewijzigd volgens uw instellingen. Je kunt zien dat er twee programma's zijn genaamd ledact en ledpatt2. Programma ledact is voor de arduino die wordt gebruikt om door de modi/patronen te bladeren en programma ledpatt2 is degene die de leds bestuurt. Je kunt dezelfde twee programma's ook in verschillende mappen zien met de naam nano. Het is een ding, maar kleiner van formaat, zodat je het kunt gebruiken met ARDUINO NANO die minder geheugen heeft dan UNO of MEGA.
Laten we eerst eens kijken wat er allemaal moet worden gewijzigd in ledpatt2 volgens uw circuit. Eerst moet je de NUM_LEDS en DATA_PIN in regel 3-4 wijzigen in het aantal leds dat je gebruikt en het nummer van de pin op arduino waarop het datasignaal van je led is aangesloten. Dan moet u de code in 18 wijzigen volgens het type leds dat u gebruikt. Mijn code is bijvoorbeeld zo, aangezien ik WS2812B-leds heb gebruikt met BRG (BLAUW-ROOD-GROEN) kalibratie. Als u een andere led gebruikt, vervang dan WS2812B in de code door de naam van uw led en vervang BRG door zijn kleurkalibratie. Om de kleurkalibratie van uw led te vinden, kunt u het artikel volgen dat u hier vindt.
Je kunt een paar initialisaties zien van regel 15-25, waarvan 15-21 kan worden vermeden als je maar één patroon nodig hebt. Deze pinnen genoemd in regels 15-21 worden gebruikt om de verschillende modi te activeren en dit wordt gedaan met behulp van de andere Arduino. Regels 22-25 zoals vermeld in de code, worden gebruikt voor het opnemen van de ingangssignalen voor rem-, parkeer- en knipper-/knipperlichten.
In ledact hoef je je alleen maar druk te maken over de regels 4-8 als je wilt dat het net zo werkt als voor dit project. Regels 4-7 zijn de pinnen die elk van de modi activeren. Omdat ik maar 4 standen wilde, werden er 4 pinnen gebruikt. Lijn 8 wordt gebruikt om de modePin te initialiseren, de pin waarop de drukknop is aangesloten. In de code kun je zien dat arduino-pinnen 3, 4, 5, 6 worden gebruikt voor de 4 modi. Deze pinnen zijn direct verbonden met 3-4-5-6 pinnen op de Arduino die is geladen met het ledpatt2-programma.
Dit was mijn methode om leds met verschillende patronen te implementeren en ik denk dat het behoorlijk inconsistent is. Ik heb veel op internet gezocht of het mogelijk was om dit allemaal te doen met slechts één Arduino, maar ik kon niets vinden dat me hielp. Als je weet hoe je dit moet doen of heel goed bent met programmeren, raad ik je aan ermee door te gaan, want mijn programma is erg slecht bedoeld en omvangrijk vanwege mijn slechte codeervaardigheden. En deel alstublieft uw resultaten met ons.
Stap 3: Circuitconfiguratie
Dit is eerder een gemakkelijke stap als je het circuit volledig begrijpt of een goed doordacht plan hebt voor de implementatie van het circuit. Als de componenten in het circuit je verwarrend lijken, zal ik het voor je opsplitsen, omdat dit een heel eenvoudig circuit is. Eerst hebben we vijf LM7805 IC's die worden gebruikt om 12v naar 5v te converteren (deze spanning is veilig voor arduino-ingangspinnen), waarvan er vier worden gebruikt om de signalen van rem-, parkeer- en LR-knipperlichten te ontvangen, andere worden gebruikt om de twee arduino's van stroom te voorzien. Dan hebben we een paar weerstanden van 10k ohm die parallel zijn geschakeld met elk van de ingangsaansluitingen en tot slot twee arduino's.
Ik heb het circuit gemaakt dat verwijst naar het circuitontwerp dat is gemaakt voordat Fritzing werd gebruikt. Voor connectoren werden SMPS-MOTHERBOARD MALE/FEMALE connectoren gebruikt. U kunt de foto's afrekenen en volgen.
Dit circuit is niet het beste omdat het geen beschermings- of filtercircuits heeft en de reden dat ik dit niet heb opgenomen, is omdat ik een complete noob ben. Ook de koellichamen die bij de IC's werden gebruikt, zijn van een oude SMPS gehaald en er koelpasta bij gebruikt. Sommige elektronische nerds vertelden me echter dat het gebruik van koellichamen een overkill was voor deze toepassing en dat de IC's zouden werken zonder dat er koellichamen in dit circuit nodig waren. Dus dat is dat.
Stap 4: Laatste stap: boksen en opzetten in motorfiets
Plastic container werd gebruikt als behuizing voor het circuit en wikkelde er isolatietape omheen omdat water iets is dat we niet in ons circuit willen. De volgende taak is om alles aan te sluiten en de bedrading op de motorfiets te doen. Je moet heel voorzichtig zijn bij het werken aan de elektrische bedrading van de motorfiets, aangezien elke kortsluiting de elektronica van de motorfiets volledig kan beschadigen. Als u niet bekend bent met de bedrading van uw motorfiets, kunt u uw servicehandleidingen raadplegen of op internet zoeken. Resterende taak is om uw standaard achterlicht te verwijderen en de LED's erin te vervangen door de WS2812B-lampen. Pak daarna de lamp weer in en sluit de lamp weer af zonder gaten of ruimtes waar vocht binnen kan dringen. U kunt de schakelkast in de opbergruimte onder het achterzadel van de motorfiets bewaren. Sluit tot slot alles aan, start de stroom op en maak een ritje met je motor. Hoewel het project te veel werk lijkt, kan ik je verzekeren dat het uiteindelijke resultaat je zo blij zal maken als een gekke jongen. BEDANKT VOOR HET LEZEN EN GENIETEN!
Aanbevolen:
Renegade-i (programmeerbare IC-tester die aanvoelt als het echte ding): 3 stappen (met afbeeldingen)
Renegade-i (Programmable IC Tester That Feels Like the Real Thing): DE DROOM VAN MILJOENEN DOLLAR. Heb je er ooit van gedroomd om je eigen IC-tester in huis te hebben? Niet alleen een gadget dat IC kan testen, maar een "programmeerbare" machine die aanvoelt als een van de vlaggenschipproducten van de grootste spelers in de semicon-testindustrie, zoals
Van kwartsklokken tot LED-knipperlichten: 13 stappen
Van Quarts-klokken tot LED-flitsers: het klokmechanisme in deze quarts-klokken is echt niet de beste gemaakt, maar het quarts-circuit werkt lang nadat de rest van de klok faalt. Dus hier zijn enkele leuke knippercircuits die u van deze circuits kunt maken. OPMERKING: GEBRUIK GEEN CHIP-LED's. Controleer
Intelligent achterlicht: 3 stappen
Intelligent achterlicht: Enige tijd geleden werkte het achterlicht van mijn fiets niet meer. Toen ik het opendeed, zat er een klein printje met wat elektronica en een LED erin. Het probleem was de drukknop die niet werkte. Ik had de schakelaar kunnen vervangen, maar iets over
Programmeerbare RGB LED-sequencer (met Arduino en Adafruit Trellis): 7 stappen (met afbeeldingen)
Programmeerbare RGB LED-sequencer (met Arduino en Adafruit Trellis): mijn zonen wilden gekleurde LED-strips om hun bureau te verlichten, en ik wilde geen ingeblikte RGB-stripcontroller gebruiken, omdat ik wist dat ze zich zouden vervelen met de vaste patronen deze regelaars hebben. Ik dacht ook dat het een geweldige kans zou zijn om
Programmeerbare LED: 6 stappen (met afbeeldingen)
Programmeerbare LED: Geïnspireerd door verschillende LED Throwies, knipperende LED's en soortgelijke instructables, wilde ik mijn versie van een LED maken die wordt bestuurd door een microcontroller. Het idee is om de LED-knippervolgorde herprogrammeerbaar te maken. Deze herprogrammering kan met licht en