Indholdsfortegnelse:

Bluetooth -styret NeoPixel juletræ: 5 trin
Bluetooth -styret NeoPixel juletræ: 5 trin

Video: Bluetooth -styret NeoPixel juletræ: 5 trin

Video: Bluetooth -styret NeoPixel juletræ: 5 trin
Video: NeoPixel tree with illuminated star 2024, Juli
Anonim

Har du undret dig over, hvordan du tilføjer IoT (Internet of Things) til dit juletræ i år? Nå, det er helt muligt! Jeg kalder personligt dette projekt "ArduXmas", og det består af en RGB NeoPixel led -strip, der styres af et Arduino -kort via Bluetooth. Dette er et nybegyndervenligt projekt og en god introduktion til Arduino e IoT, så få dine værktøjer og lad os klare det!

Tilbehør:

Til dette projekt skal du bruge:

  • Arduino (jeg brugte Nano, men enhver version vil fungere, bare sørg for at få strøm til dit board)
  • NeoPixel WS2812b LED strip
  • HC-06 Bluetooth-modul
  • 5V 2A DC strømforsyning
  • DC tønde strømstik/stik
  • Fenolitplade til fastholdelse af komponenterne
  • Vedligeholdelsessag
  • Android -smartphone med Blynk -app installeret

Trin 1: Kredsløbet

Kredsløbet
Kredsløbet
Kredsløbet
Kredsløbet
Kredsløbet
Kredsløbet

Elektronikken i dette projekt er meget enkel. Arduino, Bluetooth -modulet og LED -stripen drives af 5V -forsyningen (sørg for at alle GND'er er forbundet sammen). Arduino -kortet drives via 5V -porten (OBS: Strømforsyning af Arduino'en ved hjælp af 5V -porten kan beskadige dit board, hvis du ikke er forsigtig. Sørg for, at du bruger en 5V reguleret strømforsyning, og bland ikke +5V sammen og GND -ledninger). Strømmen fra din strømforsyning afhænger af længden af din LED -strimmel. Jeg bruger 180 lysdioder med 40% af den fulde lysstyrke og 2 ampere holder godt, men sørg altid for at levere den nødvendige strøm (HUSK: Hver RGB LED bruger omkring 20mA + 20mA + 20mA = 60mA).

HC-06 Bluetooth-modulet er forbundet til ben 0 og 1 (RX, TX) på Arduino, bare husk, at for at bruge dette modul, er HC-06's RX-pin forbundet til Arduino's TX, og HC-06's TX-pin er forbundet til Arduino's RX. Disse er kortets serielle forbindelsesstifter og bruges til at modtage kommandoerne fra smartphonen. Jeg tilføjede en switch til let at tænde/slukke modulet, så jeg kan slukke det, når du programmerer kortet, ellers kan computeren ikke kommunikere med Arduino.

I kredsløbet er data out -stiften, der går til LED -stripen, den digitale pin 2, men du kan vælge en hvilken som helst PWM -pin og ændre den i overensstemmelse med koden (HUSK: NeoPixels LED -strips har en retning for datasignalet. Se altid efter pilikonerne i din strimmel).

For at oprette forbindelserne bruger jeg en fenolitplade med huller i, så det er let at lodde og skille det ad næste år.

Trin 2: Vedlægget

Indhegningen
Indhegningen
Indhegningen
Indhegningen
Indhegningen
Indhegningen

Til kabinettet bruger jeg bare en gammel notebooks strømforsyningskasse, der passer fint til komponenterne. Sikre alt med varm lim, og efterlad huller til Arduino's USB-port, HC-06's switch, DC-stik og LED-strip-stik.

Trin 3: Blynk App

Blynk App
Blynk App
Blynk App
Blynk App
Blynk App
Blynk App

Til kommunikation med Arduino bruger vi Blynk -appen. Med Blynk kan du nemt oprette grænseflader til at sende data fra smartphonen til hardwaren eller omvendt, det er også muligt at styre mikrokontrollerens porte direkte uden at ændre en kodelinje!

ANSVARSFRASKRIVELSE: Desværre fungerer denne applikation kun til Android -smarttelefoner, fordi Bluetooth -funktionen stadig er i Beta og ikke er tilgængelig til IOS endnu, det betyder også, at det ikke vil være muligt at eksportere projektet som en selvstændig app.

Konfigurer din app til at modtage godkendelsestoken for dit projekt i din e -mail -indbakke (denne godkendelse er nødvendig senere ved Arduino -koden). Blynks websted har en fantastisk trin-for-trin vejledning om dette, tjek det:

Til dette projekt bruger jeg to knapper til at tænde for 2 forudkodede lysanimationer; en RGB -komponent til indstilling af LED -stripens farve; en skyder til at styre lysstyrken og en bluetooth -komponent til at forbinde til Arduino. Kontroller billederne for at se, hvordan hver komponent er konfigureret. Vær opmærksom på de ben, der bruges til dette projekt, da vi bruger Blynks virtuelle pins, dette er en god funktion, der gør det muligt at sende data fra appen til hardwaren. For mere information om virtuelle pins:

Trin 4: Arduino -kode

Arduino kode
Arduino kode

Det er på tide at få lavet noget kode! Filen, jeg leverede, har den grundlæggende struktur til at køre projektet, men du kan ændre den, som du ønsker. For at det skal fungere korrekt, skal du imidlertid erstatte auth char med det token, du modtog i din e -mail -indbakke. Husk også at ændre variablerne LED_PIN og LED_COUNT i henhold til din opsætning.

LED'ernes adfærd dikteres af animvariablen, der ændres, når en anmodning modtages af appen. Du kan tilføje så mange muligheder for animationer som du vil, bare tilføje din funktion til switchstrukturen i funktionen toggleAnimation () og tildele den tilsvarende Virtual Pin -læsning øverst i koden.

Animationen, der kører i loop (), er knyttet til en timer, der kører i intervaller på 100 ms. Dette er nødvendigt, og jeg anbefaler ikke at ændre det, fordi det forstyrrer kommandoen Blynk.run (), og forbindelsen lukkes, hvis Blynk -biblioteket registrerer for mange anmodninger på kort tid.

Anbefalede: