Sadržaj:

NeoPixel božićno drvce s Bluetooth kontrolom: 5 koraka
NeoPixel božićno drvce s Bluetooth kontrolom: 5 koraka

Video: NeoPixel božićno drvce s Bluetooth kontrolom: 5 koraka

Video: NeoPixel božićno drvce s Bluetooth kontrolom: 5 koraka
Video: Объяснение прошивки Marlin 2.0.x 2024, Juli
Anonim

Jeste li se pitali kako ove godine dodati IoT (Internet of Things) u svoje božićno drvce? Pa, potpuno je moguće! Ja osobno ovaj projekt nazivam "ArduXmas", a sastoji se od RGB NeoPixel LED trake koju kontrolira Arduino ploča putem Bluetootha. Ovo je projekt prilagođen početnicima i odličan uvod u Arduino e IoT, stoga nabavite svoje alate i uspjet ćemo!

Potrošni materijal:

Za ovaj projekat trebat će vam:

  • Arduino (koristio sam Nano, ali svaka verzija će raditi, samo pazite da pravilno napajate ploču)
  • NeoPixel WS2812b LED traka
  • HC-06 Bluetooth modul
  • 5V 2A DC napajanje
  • Utičnica/konektor za jednosmjernu cijev
  • Fenolitna ploča za držanje komponenti
  • Kućište kućišta
  • Android pametni telefon sa instaliranom aplikacijom Blynk

Korak 1: Krug

The Circuit
The Circuit
The Circuit
The Circuit
The Circuit
The Circuit

Elektronika ovog projekta je vrlo jednostavna. Arduino, Bluetooth modul i LED traka napajaju se 5V napajanjem (provjerite jesu li svi GND spojeni zajedno). Arduino ploča napaja se putem 5V priključka (PAŽNJA: Napajanje Arduina pomoću 5V priključka može oštetiti vašu ploču ako niste oprezni. Provjerite koristite li 5V regulirano napajanje i nemojte miješati +5V i GND žice). Struja koju daje vaše napajanje ovisit će o dužini vaše LED trake. Koristim 180 LED dioda s 40% potpune svjetline i 2 ampera se dobro drže, ali uvijek osigurajte potrebnu struju (Upamtite: svaka RGB LED dioda koristi oko 20mA + 20mA + 20mA = 60mA).

Bluetooth-modul HC-06 je spojen na pinove 0 i 1 (RX, TX) Arduina, samo zapamtite da je za korištenje ovog modula HC-06-ov RX pin spojen na Arduino-ov TX, a HC-06-ov TX pin je spojen na Arduino RX. Ovo su pinovi za serijsko povezivanje ploče i koriste se za primanje naredbi sa pametnog telefona. Dodao sam prekidač za jednostavno uključivanje/isključivanje modula pa ga mogu isključiti prilikom programiranja ploče, inače računar ne može komunicirati s Arduinom.

U krugu izlazni pin za podatke koji ide na LED traku je digitalni pin 2, ali možete odabrati bilo koji PWM pin i prema potrebi ga promijeniti u kodu (ZAPAMTITE: NeoPixel LED trake imaju smjer za signal podataka. Uvijek tražite ikone strelica u vašoj traci).

Da bih uspostavio veze, koristim fenolitnu ploču s rupama za lako lemljenje i rastavljanje sljedeće godine.

Korak 2: Ograđivanje

The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure

Za kućište koristim samo kućište za napajanje starog prijenosnog računara koje lijepo pristaje komponentama. Osigurajte sve vrućim ljepilom i ostavite rupe za USB priključak Arduina, prekidač HC-06, DC konektor i konektor za LED traku.

Korak 3: Blynk aplikacija

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

Za komunikaciju s Arduinom koristimo aplikaciju Blynk. S Blynkom možete jednostavno stvoriti sučelja za slanje podataka sa pametnog telefona na hardver ili obrnuto, također je moguće izravno kontrolirati portove mikrokontrolera bez promjene jedne linije koda!

ODRICANJE: Nažalost, ova aplikacija će raditi samo za Android smarfone jer je Bluetooth funkcija još uvijek u beta verziji i još nije dostupna za iOS, to također znači da neće biti moguće izvesti projekt kao samostalnu aplikaciju.

Postavite svoju aplikaciju da prima token za provjeru autentičnosti vašeg projekta u vašu pristiglu poštu (ovo će ovlaštenje biti potrebno kasnije kod Arduina). Blynkova web stranica ima odličan korak-po-korak vodič o tome, provjerite:

Za ovaj projekt koristim dva gumba za uključivanje 2 unaprijed kodirane svjetlosne animacije; jedna RGB komponenta za podešavanje boje LED trake; jedan klizač za kontrolu svjetline i jedna bluetooth komponenta za povezivanje s Arduinom. Provjerite slike da vidite kako je svaka komponenta konfigurirana. Obratite pažnju na pinove koji se koriste za ovaj projekt jer koristimo Blynkove virtualne pinove, ovo je lijepa značajka koja omogućava slanje podataka iz aplikacije na hardver. Za više informacija o virtualnim pinovima:

Korak 4: Arduino kod

Arduino kod
Arduino kod

Vrijeme je da obavite neki kod! Datoteka koju sam naveo ima osnovnu strukturu za pokretanje projekta, ali je možete promijeniti po želji. Međutim, kako bi ispravno funkcionirao, morate zamijeniti auth char tokenom koji ste primili u pristiglu poštu. Također ne zaboravite promijeniti LED_PIN i LED_COUNT varijable prema vašim postavkama.

Ponašanje LED dioda diktira varijabla anim koja se mijenja kada aplikacija primi zahtjev. Možete dodati onoliko mogućnosti za animacije koliko želite, samo dodajte svoju funkciju u strukturu prekidača u funkciji toggleAnimation () i dodijelite odgovarajuće očitanje virtualnog pina na vrhu koda.

Animacija koja se izvodi u loop () vezana je za tajmer koji radi u intervalima od 100 ms. Ovo je potrebno i ne preporučujem promjenu jer ometa naredbu Blynk.run () i veza se prekida ako biblioteka Blynk otkrije previše zahtjeva u kratkom vremenskom periodu.

Preporučuje se: