INHOUDSOPGAWE:

Bluetooth -beheerde NeoPixel -kersboom: 5 stappe
Bluetooth -beheerde NeoPixel -kersboom: 5 stappe

Video: Bluetooth -beheerde NeoPixel -kersboom: 5 stappe

Video: Bluetooth -beheerde NeoPixel -kersboom: 5 stappe
Video: How to connect Neopixel Xenopixel lightsaber to Bluetooth #lightsaber #starwars #neopixellightsaber 2024, Julie
Anonim

Het u al gewonder hoe u hierdie jaar IoT (Internet of Things) in u kersboom kan byvoeg? Wel, dit is heeltemal moontlik! Ek noem hierdie projek persoonlik 'ArduXmas', en dit bestaan uit 'n RGB NeoPixel led -strook wat deur 'n Arduino -bord via Bluetooth beheer word. Dit is 'n beginner -vriendelike projek en 'n goeie inleiding tot Arduino e IoT, so kry u gereedskap en laat ons dit regkry!

Benodighede:

Vir hierdie projek benodig u:

  • Arduino (ek het Nano gebruik, maar enige weergawe werk, maak seker dat u die bord behoorlik aanskakel)
  • NeoPixel WS2812b LED -strook
  • HC-06 Bluetooth-module
  • 5V 2A DC kragbron
  • DC Barrel Power Jack/Connector
  • Fenolietplaat vir die hou van die komponente
  • Omhulsel geval
  • Android -slimfoon met Blynk -app geïnstalleer

Stap 1: Die stroombaan

Die stroombaan
Die stroombaan
Die stroombaan
Die stroombaan
Die stroombaan
Die stroombaan

Die elektronika van hierdie projek is baie eenvoudig. Die Arduino, Bluetooth -module en LED -strook word aangedryf deur die 5V -toevoer (maak seker dat alle GND's aan mekaar gekoppel is). Die Arduino -bord word deur die 5V -poort aangedryf (AANDAG: As u nie versigtig is nie, kan u die bord beskadig as u nie versigtig is nie. Maak seker dat u 'n 5V gereguleerde kragtoevoer gebruik en nie die +5V meng nie. en GND -drade). Die stroom wat deur u kragtoevoer voorsien word, sal afhang van die lengte van u LED -strook. Ek gebruik 180 LED's met 40% van die volle helderheid en 2 ampère hou goed, maar sorg altyd dat jy die nodige stroom verskaf (ONTHOU: Elke RGB LED gebruik ongeveer 20mA + 20mA + 20mA = 60mA).

Die HC-06 Bluetooth-module is gekoppel aan penne 0 en 1 (RX, TX) van die Arduino, onthou net dat die HC-06 se RX-pen aan die Arduino's TX gekoppel is en die TX-pin van die HC-06 gekoppel aan die Arduino's RX. Dit is die seriële verbindingspenne van die bord en word gebruik om die opdragte van die slimfoon te ontvang. Ek het 'n skakelaar bygevoeg om die module maklik aan/uit te skakel, sodat ek dit kan uitskakel tydens die programmering van die bord, anders kan die rekenaar nie met die Arduino kommunikeer nie.

In die kring is die data -uitpen na die LED -strook die digitale pen 2, maar u kan enige PWM -pen kies en dit ooreenkomstig in die kode verander (ONTHOU: NeoPixel se LED -stroke het 'n rigting vir die datasignaal. Soek altyd na die pyltjie -ikone in u strook).

Om die verbindings te maak, gebruik ek 'n fenolietplaat met gate daarin, sodat dit maklik is om volgende jaar te soldeer en uitmekaar te haal.

Stap 2: Die omhulsel

Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel
Die omhulsel

Vir die omhulsel gebruik ek net die kragtoevoerkas van 'n ou notebook wat goed by die komponente pas. Beveilig alles met warm gom en laat gate vir die Arduino se USB-poort, HC-06 se skakelaar, DC-aansluiting en LED-strookaansluiting.

Stap 3: Blynk -app

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

Vir die kommunikasie met die Arduino gebruik ons die Blynk -app. Met Blynk kan u maklik koppelvlakke skep om data van die slimfoon na die hardeware te stuur of andersom; dit is ook moontlik om die poorte van die mikrobeheerder direk te beheer sonder om een reël kode te verander!

VRYWARING: Ongelukkig werk hierdie toepassing slegs vir Android -slimfone omdat die Bluetooth -funksie nog steeds in Beta is en nog nie vir IOS beskikbaar is nie, dit beteken ook dat dit nie moontlik is om die projek as 'n selfstandige app uit te voer nie.

Stel u app op om die verifikasietoken vir u projek in u e -posbus te ontvang (hierdie verifikasie sal later by die Arduino -kode benodig word). Die webwerf van Blynk het 'n uitstekende stap-vir-stap handleiding hieroor, kyk gerus hier:

Vir hierdie projek gebruik ek twee knoppies om 2 vooraf gekodeerde liganimasies aan te skakel; een RGB -komponent om die kleur van die LED -strook in te stel; een skuifbalk om die helderheid te beheer en een Bluetooth -komponent om aan te sluit op die Arduino. Kyk na die prente om te sien hoe elke komponent gekonfigureer is. Gee aandag aan die penne wat vir hierdie projek gebruik word, aangesien ons Blynk se virtuele penne gebruik; dit is 'n goeie funksie waarmee u data vanaf die app na die hardeware kan stuur. Vir meer inligting oor virtuele penne:

Stap 4: Arduino -kode

Arduino -kode
Arduino -kode

Dit is tyd om 'n bietjie kode te kry! Die lêer wat ek verskaf het, het die basiese struktuur om die projek uit te voer, maar u kan dit verander soos u wil. Om dit behoorlik te laat werk, moet u egter die author char vervang met die token wat u in u e -posbus ontvang het. Onthou ook om die veranderlikes LED_PIN en LED_COUNT volgens u opstelling te verander.

Die gedrag van die LED's word bepaal deur die anim veranderlike wat verander wanneer 'n versoek deur die app ontvang word. U kan soveel moontlik animasies byvoeg as u wil; voeg u funksie net by die skakelaarstruktuur in die toggleAnimation () -funksie en ken die ooreenstemmende virtuele pin -lesing bo -aan die kode toe.

Die animasie wat in lus () loop, is gekoppel aan 'n timer wat in intervalle van 100 ms loop. Dit is nodig, en ek beveel nie aan om dit te verander nie, want dit belemmer die opdrag Blynk.run () en die verbinding word afgesluit as die Blynk -biblioteek te veel versoeke in 'n kort tyd opspoor.

Aanbeveel: