Arduino i smartfon jako kontroler oświetlania LED (rgbw)

Arduino i smartfon jako kontroler oświetlania LED (rgbw)

Witam.

Dotychczasowe moje wpisy dotyczyły RaspberryPI oraz ESP8266. Tym razem chciałbym Wam zaprezentować proste rozwiązanie, które pozwala zbudować kontroler oświetlenia LED (rgbw) i sterować nim za pośrednictwem smartfona.

Potrzebne elementy to:

  1. Smartfon z systemem Android (min. 3.1.x) – w chili obecnej aplikacja dla iOS nie obsługuje jeszcze RGB
  2. Arduino MEGA (http://botland.com.pl/arduino-moduly-glowne/1062-arduino-mega-2560-rev3.html)
  3. Ethernet Shield (http://botland.com.pl/arduino-shield-komunikacja/3779-ethernet-shield-dla-arduino-z-czytnikiem-kart-microsd.html)
  4. Pięć rezystorów 1k
  5. Pięć tranzystorów typu N-Channel MOSFET np. IRFZ44N
  6. Płytka stykowa (http://botland.com.pl/plytki-stykowe/55-plytka-stykowa-a-830-otworow.html)
  7. Przewody połączeniowe
  8. Zasilacz 12V
  9. Taśma LED (rgbw) (https://www.eled.pl/tasmy_led_rgbw_5050)

Na początek krótki film prezentujący rozwiązanie opisywane w tym artykule.

1. Zaczynamy od połączenia wszystkich elementów razem.

arduinorgbw

Przewody RED, GREEN, BLUE, WHITE oraz +12V należy podłączyć do taśmy LED RGBW

2. Pobieramy bibliotekę SuplaDevice dla Arduino MEGA z https://www.supla.org/download/ArduinoSuplaDevice.zip i instalujemy ją w Arduino IDE (Menu Szkic->Dołącz bibliotekę->Dołącz bibliotekę ZIP)

3. W Arduino IDE otwieramy przykład SuplaEthernetShield_RGBW (Menu Plik->Przykłady->SuplaDevice->SuplaEthernetShield_RGBW)

4. W powyższym kodzie należy zamienić GUID

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} na ten wygenerowany na stronie https://www.supla.org/arduino/get-guid

5. Następnie należy zarejestrować się na https://cloud.supla.org  (rejestracja i korzystanie są bezpłatne ) i odczytany tam ID lokalizacji oraz hasło lokalizacji należy przepisać do parametrów wywołania funkcji SuplaDevice.begin

6. Po zmodyfikowaniu powyższego kodu należy wgrać go do Arduino i uruchomić urządzenie.

7. Arduino po połączeniu z serwerem pojawi się na cloud.supla.org na liście urządzeń. Należy otworzyć właściwości kanału 0 i zmienić typ kanału na “Ściemniacz i oświetlenie RGB”

wybor_kanalu

8. Pobieramy aplikację na Smartfon  z GooglePlay https://play.google.com/store/apps/details?id=org.supla.android

9. W ustawieniach aplikacji wprowadzamy adres serwera, id dostępu oraz hasło dostępu, które należy odczytać na cloud.supla.org

Gotowe.

Strona domowa projektu: https://www.supla.org

Forum (pomoc) projektu: https://forum.supla.org

Ocena: 4.44/5 (głosów: 36)

Podobne posty

21 komentarzy do “Arduino i smartfon jako kontroler oświetlania LED (rgbw)

  • Pracuję nad podobną rzeczą, z tym że sterowanie jest za pomocą RPi, a ledy są tylko RGB (bez białej).

    Korzystam z tych samych mosfetów i niestety prawdopodobnie nie do końca się otwierają. Po pierwsze logika maliny to 3.3v a jeszcze w szeregu mam diody schottkiego które zdejmują jakieś 0.1-0.2V. W dodatku kolor czerwony dużo słabiej świeci. Czy Autor może mi coś w tej kwestii doradzić?

    Druga sprawa widzę 5 tranzystorów, 4 do sterowania każdym kolorem, a piąty?

    Odpowiedz
    • 3 tranzystory do kolorów R G B
      1 tranzystor do koloru białego
      1 tranzystor do ściemniania RGB. Z uwagi na to, że Arduino ma PWM-a 8 bitowego to ciężko zrobić ściemnianie na 3 tranzystorach dodając odpowiedni współczynnik. Na ESP8266 powinno być już trochę inaczej. Co do pozostały kwestii to elektronikiem nie jestem i trudno mi to coś precyzyjnie doradzić.

      Odpowiedz
      • Bardzo dziękuję za odpowiedź.

        Jeszcze dwa pytania, czy rezystory nie powinny znaleźć się między bramką a masą w celu odprowadzenia ładunku?

        Czy dołożyłeś jakiś radiator do tranzystora pełniącego rolę ściemniacza? U mnie na listwie o długości ~1.8m te mosfety były lekko ciepłe, a na tym odkłada się prąd z trzech wcześniejszych.

        Odpowiedz
        • Ja testuję to na taśmie 1m i są zimne.
          Generalnie części jakie użyłem są takie jakie miałem pod ręką. Ogólnie rzecz biorąc układ powinien być bardziej dopracowany ale tu chodziło bardziej o to aby zaprezentować działanie. Prawdopodobnie przygotujemy coś bardziej precyzyjnego, ale to już na ESP8266.

          Odpowiedz
  • Ten szeregowy rezystor do bramki nie jest niezbędny, taki mosfet można do mikrokontrolera podłączyć właściwie bezpośrednio.Rezystor taki napewno przyda się np.: w przypadku wewnętrznego zwarcia bramki z drenem. Wskazany jest też rezystor bramka-gnd, który rozładuje pojemność wejściową tranzystora w momencie przełączania. Dobór parametrów pracy tranzystorów w tym przypadku zależy m.in. od wielkości obciążenia czy częstotliwości PWM itd. Dla 1m taśmy ten model tranzystora to “duży kaliber” ale kwestia samego tranzystora wykonawczego jest tu jak pisze autor raczej drugoplanowa dużo ciekawszy jest sposób w jaki działa cały system i jakie daje możliwości. Jestem pod wrażeniem.

    Odpowiedz
  • Trochę dziwnie rozwiązane. Strona upadnie i już nasz system przestanie działać, nie lepiej napisać sobie samemu takie coś? Znaczy, ja rozumiem, że będzie to znacznie trudniejsze ale i znacznie lepsze.

    Odpowiedz
    • Krótko: tak.
      Trochę dłużej: trzeba wyrzucić z kody obsługę kolorów.
      Do sterowania starczy jeden mosfet. Osobiście dałbym odbiór danych po UDP, lub prostą usługę REST i całkowicie pominął wypychanie danych na zewnątrz. Tutoriali na to jest mnóstwo.

      Odpowiedz

Odpowiedz

anuluj

Masz uwagi?