Inhoudsopgave:
Video: Bluetooth-gestuurde NeoPixel-kerstboom - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Heb je je afgevraagd hoe je dit jaar IoT (Internet of Things) in je kerstboom kunt toevoegen? Nou, het is helemaal mogelijk! Ik noem dit project persoonlijk "ArduXmas", en het bestaat uit een RGB NeoPixel ledstrip die wordt bestuurd door een Arduino-bord via Bluetooth. Dit is een beginnersvriendelijk project en een geweldige introductie tot Arduino e IoT, dus pak je gereedschap en laten we het maken!
Benodigdheden:
Voor dit project heb je nodig:
- Arduino (ik heb Nano gebruikt, maar elke versie zal werken, zorg er gewoon voor dat je je bord goed van stroom voorziet)
- NeoPixel WS2812b ledstrip
- HC-06 Bluetooth-module
- 5V 2A DC-voeding
- DC Barrel Power Jack/Connector
- Fenolietplaat voor het vasthouden van de componenten
- Behuizing:
- Android-smartphone met Blynk-app geïnstalleerd
Stap 1: Het circuit
De elektronica van dit project is heel eenvoudig. De Arduino, Bluetooth-module en LED-strip worden gevoed door de 5V-voeding (zorg ervoor dat alle GND's met elkaar zijn verbonden). Het Arduino-bord wordt gevoed via de 5V-poort (LET OP: het voeden van de Arduino met behulp van de 5V-poort kan uw bord beschadigen als u niet voorzichtig bent. Zorg ervoor dat u een 5V-gereguleerde voeding gebruikt en verwissel de +5V niet en GND-draden). De stroom die uw voeding levert, is afhankelijk van de lengte van uw ledstrip. Ik gebruik 180 leds met 40% van de volledige helderheid en 2 ampères houden het goed, maar zorg er altijd voor dat u de nodige stroom levert (ONTHOUD: elke RGB-led verbruikt ongeveer 20mA + 20mA + 20mA = 60mA).
De HC-06 Bluetooth-module is verbonden met pinnen 0 en 1 (RX, TX) van de Arduino, onthoud dat om deze module te gebruiken, de RX-pin van de HC-06 is verbonden met de TX van de Arduino en de TX-pin van de HC-06 is aangesloten op de RX van de Arduino. Dit zijn de seriële verbindingspinnen van het bord en worden gebruikt om de opdrachten van de smartphone te ontvangen. Ik heb een schakelaar toegevoegd om de module gemakkelijk aan / uit te zetten, zodat ik hem kan uitschakelen bij het programmeren van het bord, anders kan de computer niet communiceren met de Arduino.
In het circuit is de data-out-pin die naar de LED-strip gaat de digitale pin 2, maar je kunt elke PWM-pin kiezen en deze dienovereenkomstig in de code wijzigen (ONTHOUD: NeoPixel's LED-strips hebben een richting voor het datasignaal. Zoek altijd naar de pijlpictogrammen in uw strip).
Om de verbindingen te maken, gebruik ik een fenolietplaat met gaten erin, zodat het gemakkelijk te solderen is en volgend jaar uit elkaar te halen.
Stap 2: De behuizing
Voor de behuizing gebruik ik gewoon de voedingbehuizing van een oude notebook die mooi op de componenten past. Zet alles vast met hete lijm en laat gaten voor de Arduino's USB-poort, HC-06's schakelaar, DC-connector en LED-stripconnector.
Stap 3: Blynk-app
Voor de communicatie met de Arduino gebruiken we de Blynk-app. Met Blynk kun je eenvoudig interfaces maken om gegevens van de smartphone naar de hardware te sturen of andersom, het is ook mogelijk om de poorten van de microcontroller direct aan te sturen zonder één regel code te veranderen!
DISCLAIMER: Helaas werkt deze applicatie alleen voor Android-smartphones omdat de Bluetooth-functie nog in bèta is en nog niet beschikbaar is voor IOS, dit betekent ook dat het niet mogelijk zal zijn om het project als een zelfstandige app te exporteren.
Stel uw app in om het authenticatietoken voor uw project in uw e-mailinbox te ontvangen (deze auth is later nodig bij de Arduino-code). De website van Blynk heeft een geweldige stapsgewijze zelfstudie hierover, bekijk deze:
Voor dit project gebruik ik twee knoppen om 2 voorgecodeerde lichtanimaties in te schakelen; één RGB-component om de kleur van de ledstrip in te stellen; een schuifregelaar om de helderheid te regelen en een Bluetooth-component om verbinding te maken met de Arduino. Bekijk de afbeeldingen om te zien hoe elk onderdeel is geconfigureerd. Let op de pinnen die voor dit project worden gebruikt, aangezien we de virtuele pinnen van Blynk gebruiken, dit is een leuke functie waarmee gegevens van de app naar de hardware kunnen worden verzonden. Voor meer informatie over virtuele pinnen:
Stap 4: Arduino-code
Het is tijd om wat code gedaan te krijgen! Het bestand dat ik heb verstrekt heeft de basisstructuur om het project uit te voeren, maar u kunt het naar wens wijzigen. Om het echter goed te laten werken, moet je het auth-teken vervangen door het token dat je in je e-mailinbox hebt ontvangen. Vergeet ook niet om de variabelen LED_PIN en LED_COUNT te wijzigen volgens uw instellingen.
Het gedrag van de LED's wordt bepaald door de anim-variabele die verandert wanneer een verzoek wordt ontvangen door de app. U kunt zoveel mogelijkheden voor animaties toevoegen als u wilt, voeg gewoon uw functie toe aan de schakelaarstructuur in de toggleAnimation()-functie en wijs de bijbehorende virtuele pin-waarde toe bovenaan de code.
De animatie die in loop() wordt uitgevoerd, is gekoppeld aan een timer die in intervallen van 100 ms loopt. Dit is nodig, en ik raad het niet aan om het te wijzigen, omdat het de opdracht Blynk.run() verstoort en de verbinding wordt verbroken als de Blynk-bibliotheek te veel verzoeken in een korte tijdsperiode detecteert.
Aanbevolen:
Neopixel-tester: 4 stappen
Neopixel-tester: je bouwt misschien een project dat Neopixel-LED's gebruikt of je hebt er een paar in je componentendoos waarvan je wilt controleren of ze werken. Ik had dezelfde behoefte, maar in plaats van te wachten tot het project voltooid was om een probleem te vinden, wilde ik ervoor zorgen dat ze
Micro:bit Neopixel Introductie: 6 stappen
Micro:bit Neopixel Introductie: deze instructable leert wat basiskennis over Neopixels en laat zien hoe de Neopixel-bibliotheek moet worden gebruikt. Neopixels zijn een geweldige manier om licht in uw projecten te brengen, omdat ze goedkoop en gebruiksvriendelijk zijn en de micro:bit er veel tegelijk kan aansturen
Heb je een nieuwe Neopixel? Hier is een snelstartgids!: 5 stappen
Heb je een nieuwe Neopixel? Hier is een snelstartgids!: Ik weet dat ik in mijn laatste instructable zei dat ik regelmatig zal zijn, maar dat heb ik niet. Nou, ik heb het geprobeerd, maar ik had geen goede ideeën:Wax bedekte lucifer: KABOOM!*Crayon kaars: Fisssssss… KABOOOM!**Fancy math art: Ik heb de hoeken verkeerd!Hoe dan ook, ik ben terug
Neopixel-nachtlampje: 14 stappen (met afbeeldingen)
Neopixel Night Light: Ik geef over een paar weken een aantal workshops in elektronica, gecentreerd rond een goedkoop, maar nuttig project uit de echte wereld. Toen ik probeerde iets te bedenken om te maken, wilde ik dat het een microcontroller, NeoPixel-LED's (omdat ze geweldig zijn)
Meerdere onafhankelijke NeoPixel-ringen: 3 stappen
Meerdere onafhankelijke NeoPixel-ringen: dus heb ik dit project gebouwd om de 12 LED-pixel te zien werken. Ik vond deze met 16 hier. En ik zag deze geïntegreerde armband, maar ik wilde zien hoe verschillende ringen, verschillende maten onafhankelijk van elkaar zouden werken. Dus in plaats van Dig aan te sluiten