Spisu treści:

Sterowana przez Bluetooth choinka NeoPixel: 5 kroków
Sterowana przez Bluetooth choinka NeoPixel: 5 kroków

Wideo: Sterowana przez Bluetooth choinka NeoPixel: 5 kroków

Wideo: Sterowana przez Bluetooth choinka NeoPixel: 5 kroków
Wideo: Bądź jak Griswold! Twinkly - lampki choinkowe z Aplikacją, WiFi, Bluetooth, Apple HomeKit 2024, Listopad
Anonim

Czy zastanawiałeś się, jak dodać IoT (Internet of Things) do swojej choinki w tym roku? Cóż, to całkowicie możliwe! Osobiście nazywam ten projekt „ArduXmas”, a składa się on z taśmy ledowej RGB NeoPixel sterowanej płytką Arduino przez Bluetooth. Jest to projekt przyjazny dla początkujących i świetne wprowadzenie do Arduino e IoT, więc zdobądź swoje narzędzia i zróbmy to!

Kieszonkowe dzieci:

Do tego projektu potrzebujesz:

  • Arduino (użyłem Nano, ale każda wersja będzie działać, tylko upewnij się, że prawidłowo zasilasz swoją płytę)
  • Taśma LED NeoPixel WS2812b
  • Moduł Bluetooth HC-06
  • Zasilanie 5V 2A DC
  • Gniazdo zasilania/złącze DC baryłkę
  • Płytka fenolowa do przechowywania komponentów
  • Obudowa obudowy
  • Smartfon z Androidem z zainstalowaną aplikacją Blynk

Krok 1: Obwód

Obwód
Obwód
Obwód
Obwód
Obwód
Obwód

Elektronika tego projektu jest bardzo prosta. Arduino, moduł Bluetooth i pasek LED są zasilane z zasilacza 5V (upewnij się, że wszystkie GND są ze sobą połączone). Płytka Arduino jest zasilana przez port 5 V (UWAGA: Zasilanie Arduino za pomocą portu 5 V może uszkodzić twoją płytę, jeśli nie będziesz ostrożny. Upewnij się, że używasz regulowanego zasilacza 5 V i nie mieszaj + 5 V oraz przewody GND). Prąd dostarczany przez zasilacz będzie zależał od długości paska LED. Używam 180 diod led o 40% pełnej jasności i 2 ampery trzymają się dobrze, ale zawsze upewnij się, że dostarczasz niezbędny prąd (PAMIĘTAJ: Każda dioda RGB zużywa około 20mA + 20mA + 20mA = 60mA).

Moduł Bluetooth HC-06 jest podłączony do pinów 0 i 1 (RX, TX) Arduino, pamiętaj tylko, że aby użyć tego modułu, pin RX HC-06 jest podłączony do TX Arduino, a pin TX HC-06 jest podłączony do Arduino RX. Są to styki połączenia szeregowego płyty i służą do odbierania poleceń ze smartfona. Dodałem przełącznik, aby łatwo włączyć/wyłączyć moduł, dzięki czemu mogę go wyłączyć podczas programowania płytki, w przeciwnym razie komputer nie może komunikować się z Arduino.

W obwodzie pin wyjściowy danych idący do taśmy LED to pin cyfrowy 2, ale możesz wybrać dowolny pin PWM i odpowiednio go zmienić w kodzie (PAMIĘTAJ: taśmy LED NeoPixel mają kierunek dla sygnału danych. Zawsze szukaj ikony strzałek na pasku).

Do wykonania połączeń używam płytki fenolowej z otworami, dzięki czemu można ją łatwo przylutować i rozebrać w przyszłym roku.

Krok 2: Obudowa

Załącznik
Załącznik
Załącznik
Załącznik
Załącznik
Załącznik

Do obudowy używam po prostu obudowy zasilacza starego notebooka, która ładnie pasuje do komponentów. Zabezpiecz wszystko gorącym klejem i zostaw otwory na port USB Arduino, przełącznik HC-06, złącze DC i złącze paska LED.

Krok 3: Aplikacja Blynk

Aplikacja Blynk
Aplikacja Blynk
Aplikacja Blynk
Aplikacja Blynk
Aplikacja Blynk
Aplikacja Blynk

Do komunikacji z Arduino używamy aplikacji Blynk. Dzięki Blynk możesz łatwo tworzyć interfejsy do przesyłania danych ze smartfona do sprzętu lub na odwrót, możliwe jest również bezpośrednie sterowanie portami mikrokontrolera bez zmiany jednej linii kodu!

OŚWIADCZENIE: Niestety ta aplikacja będzie działać tylko na smartfonach z systemem Android, ponieważ funkcja Bluetooth jest nadal w wersji beta i nie jest jeszcze dostępna dla systemu IOS, co oznacza również, że nie będzie można wyeksportować projektu jako samodzielnej aplikacji.

Skonfiguruj swoją aplikację, aby otrzymywać token uwierzytelniania dla swojego projektu w skrzynce odbiorczej e-mail (to uwierzytelnienie będzie potrzebne później w kodzie Arduino). Strona internetowa Blynk zawiera świetny samouczek krok po kroku na ten temat, sprawdź to:

W tym projekcie używam dwóch przycisków do włączania 2 wstępnie zakodowanych animacji świetlnych; jeden składnik RGB do ustawienia koloru taśmy LED; jeden suwak do sterowania jasnością i jeden komponent bluetooth do połączenia z Arduino. Sprawdź obrazy, aby zobaczyć, jak skonfigurowany jest każdy składnik. Zwróć uwagę na piny używane w tym projekcie, ponieważ używamy wirtualnych pinów Blynk, jest to fajna funkcja, która umożliwia wysyłanie danych z aplikacji do sprzętu. Aby uzyskać więcej informacji o wirtualnych pinach:

Krok 4: Kod Arduino

Kod Arduino
Kod Arduino

Czas zrobić trochę kodu! Dostarczony przeze mnie plik ma podstawową strukturę do uruchomienia projektu, ale możesz go zmienić według własnego uznania. Aby jednak działała poprawnie, musisz zastąpić znak auth tokenem, który otrzymałeś w swojej skrzynce odbiorczej. Pamiętaj również o zmianie zmiennych LED_PIN i LED_COUNT zgodnie z konfiguracją.

Zachowanie diod LED jest podyktowane zmienną anim, która zmienia się po odebraniu żądania przez aplikację. Możesz dodać tyle możliwości animacji, ile chcesz, po prostu dodaj swoją funkcję do struktury przełącznika w funkcji toggleAnimation() i przypisz odpowiedni odczyt Virtual Pin na górze kodu.

Animacja działająca w funkcji loop() jest powiązana z zegarem działającym w interwałach 100ms. Jest to konieczne i nie polecam tego zmieniać, ponieważ koliduje to z poleceniem Blynk.run() i połączenie jest zamykane, jeśli biblioteka Blynk wykryje zbyt wiele żądań w krótkim czasie.

Zalecana: