Innholdsfortegnelse:

Bluetooth -kontrollert NeoPixel juletre: 5 trinn
Bluetooth -kontrollert NeoPixel juletre: 5 trinn

Video: Bluetooth -kontrollert NeoPixel juletre: 5 trinn

Video: Bluetooth -kontrollert NeoPixel juletre: 5 trinn
Video: Bluetooth RGB strip for HNY 2024, Juli
Anonim

Har du lurt på hvordan du kan legge til IoT (Internet of Things) i juletreet ditt i år? Vel, det er fullt mulig! Jeg kaller dette prosjektet personlig "ArduXmas", og det består av en RGB NeoPixel led -stripe som styres av et Arduino -kort via Bluetooth. Dette er et nybegynnervennlig prosjekt og en flott introduksjon til Arduino e IoT, så skaff deg verktøyene og la oss klare det!

Rekvisita:

For dette prosjektet trenger du:

  • Arduino (jeg brukte Nano, men hvilken som helst versjon vil fungere, bare sørg for å slå styret på riktig måte)
  • NeoPixel WS2812b LED -stripe
  • HC-06 Bluetooth-modul
  • 5V 2A likestrømforsyning
  • DC fat strømkontakt/kontakt
  • Fenolittplate for å holde komponentene
  • Vedleggssak
  • Android -smarttelefon med Blynk -app installert

Trinn 1: Kretsen

Kretsen
Kretsen
Kretsen
Kretsen
Kretsen
Kretsen

Elektronikken til dette prosjektet er veldig enkel. Arduino, Bluetooth -modulen og LED -stripen drives av 5V -forsyningen (sørg for at alle GND -er er koblet sammen). Arduino -kortet drives av 5V -porten (OBS: Strømforsyning av Arduino med 5V -porten kan skade kortet hvis du ikke er forsiktig. Sørg for at du bruker en 5V regulert strømforsyning og ikke bland sammen +5V og GND -ledninger). Strømmen fra strømforsyningen din avhenger av lengden på LED -stripen. Jeg bruker 180 lysdioder med 40% av full lysstyrke og 2 ampere holder godt, men sørg alltid for å levere den nødvendige strømmen (HUSK: Hver RGB -LED bruker rundt 20mA + 20mA + 20mA = 60mA).

HC-06 Bluetooth-modulen er koblet til pinne 0 og 1 (RX, TX) på Arduino, bare husk at for å bruke denne modulen, er HC-06s RX-pinne koblet til Arduino's TX og HC-06s TX-pinne er koblet til Arduino's RX. Dette er de serielle tilkoblingspinnene på kortet, og brukes for å motta kommandoene fra smarttelefonen. Jeg la til en bryter for å enkelt slå modulen på/av, så jeg kan slå den av når du programmerer kortet, ellers kan ikke datamaskinen kommunisere med Arduino.

I kretsen er data -ut -pinnen som går til LED -stripen den digitale pinnen 2, men du kan velge hvilken som helst PWM -pinne og endre den i samsvar med koden (HUSK: NeoPixels LED -strips har en retning for datasignalet. Se alltid etter pilikonene i stripen din).

For å få tilkoblingene bruker jeg en fenolittplate med hull i, så det er enkelt å lodde og ta det fra hverandre neste år.

Trinn 2: Vedlegget

Vedlegget
Vedlegget
Vedlegget
Vedlegget
Vedlegget
Vedlegget

For kabinettet bruker jeg bare en gammel bærbar strømforsyning som passer fint til komponentene. Fest alt med varmt lim, og la hull for Arduino USB-port, HC-06-bryter, DC-kontakt og LED-stripe-kontakt.

Trinn 3: Blynk App

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

For å kommunisere med Arduino bruker vi Blynk -appen. Med Blynk kan du enkelt lage grensesnitt for å sende data fra smarttelefonen til maskinvaren eller omvendt, det er også mulig å kontrollere mikrokontrollerens porter direkte uten å endre en kodelinje!

ANSVARSFRASKRIVELSE: Dessverre fungerer denne applikasjonen bare for Android -smarttelefoner fordi Bluetooth -funksjonen fremdeles er i Beta og ikke er tilgjengelig for IOS ennå, dette betyr også at det ikke vil være mulig å eksportere prosjektet som en frittstående app.

Sett opp appen din for å motta godkjenningstokenet for prosjektet ditt i innboksen på e -posten (denne autorisasjonen vil være nødvendig senere ved Arduino -koden). Blynks nettsted har en flott trinn-for-trinn-opplæring om dette, sjekk det ut:

For dette prosjektet bruker jeg to knapper for å slå på to forhåndskodede lysanimasjoner; en RGB -komponent for å stille inn fargen på LED -stripen; en glidebryter for å kontrollere lysstyrken og en bluetooth -komponent for å koble til Arduino. Sjekk bildene for å se hvordan hver komponent er konfigurert. Vær oppmerksom på pinnene som ble brukt til dette prosjektet ettersom vi bruker Blynks virtuelle pinner, dette er en fin funksjon som gjør det mulig å sende data fra appen til maskinvaren. For mer informasjon om virtuelle pins:

Trinn 4: Arduino -kode

Arduino -koden
Arduino -koden

Det er på tide å få gjort noen kode! Filen jeg ga har den grunnleggende strukturen for å kjøre prosjektet, men du kan endre den etter eget ønske. For at det skal fungere skikkelig, må du imidlertid erstatte char med tegnet du mottok i innboksen din. Husk også å endre variabelene LED_PIN og LED_COUNT i henhold til oppsettet ditt.

LEDenes oppførsel dikteres av animvariabelen som endres når en forespørsel mottas av appen. Du kan legge til så mange muligheter for animasjoner du vil, bare legg til funksjonen din i bryterstrukturen i funksjonen toggleAnimation () og tilordne den tilsvarende Virtual Pin -lesingen øverst i koden.

Animasjonen som kjører i loop () er knyttet til en timer som går i 100 ms intervaller. Dette er nødvendig, og jeg anbefaler ikke å endre det, fordi det forstyrrer kommandoen Blynk.run () og tilkoblingen stenges hvis Blynk -biblioteket oppdager for mange forespørsler på kort tid.

Anbefalt: