25 kwietnia 2024

Jak uruchomić ring LED – Arduino i CODE DESIGNER

Zapewne każdy z Was szukając diod LED w różnych sklepach fizycznych lub internetowych natknął się na ringi LED. Być może nawet zastanawialiście się nad ich zakupem.

Dostaliśmy kilka maili od naszych czytelników z prośbą o podpowiedź lub nawet instrukcje uruchomienia i zaprogramowania. Śpieszymy zatem z wyjaśnieniami i postaramy się opisać wszystko - cały proces podłączenia i zaprogramowania podzespołu ring LED krok po kroku.

Jak zwykle zacząć należy od zakupu ring LED. W naszym sklepie nie posiadamy tego podzespołu jednak są one powszechnie dostępne w sieci, więc bardzo szybko znajdzie potrzebny egzemplarz. Na rynku jest wiele wariantów, zarówno rozmiarowych jak i kolorystycznych. My zdecydowaliśmy się na rozmiar 24 diod RGB, który jest przedstawiony poniżej na zdjęciu:

ring 24 LED

Krok 1 - Lutowanie

Na samym początku musimy zadbać o odpowiednie podłączenie. Niektóre ringi LED mają wyprowadzone wtyczki lub przewody, jednak nam udało się dostać „surowe” ringi LED do których musimy samodzielnie przylutować odpowiednie wyjścia.

Większość ringów LED posiada 4 piny:

- DI

- 5V

- GND

- D0

RingLED

W naszym projekcie potrzebujemy zaledwie trzech pinów: GND, 5V, D1

Zdecydowaliśmy się na męskie piny, aby podłączyć kable w formie wtyków, efekt naszych prac możecie zauważyć na zdjęciu poniżej:

Jak uruchomić ring LED – Arduino i CODE DESIGNER 1

Krok 2 – Arduino

Do uruchomienia użyjemy arduino UNO (działa też na UNO, NANO, LEONARDO itp.).

Podłączenie następujące :

- GND arduino –> GND led

- 5V arduino –> 5V led

- D7 arduino –> D1 led

Po podłączeniu wszystkiego jak na obrazku poniżej przechodzimy do kroku trzeciego.

Jak uruchomić ring LED – Arduino i CODE DESIGNER 2

Krok 3 – Programowanie

Jeżeli nie posiadasz programu Code Designer najpierw należy go pobrać. Program Code Designer ułatwi nam proces wgrywania kodu, ponieważ posiada wszystkie niezbędne biblioteki bez konieczności dodawania ich manualnie.

Po uruchomieniu programu wybieramy typ projektu – Arduino.

Następnie przechodzimy na zakładkę kod źródłowy:

program Code-Designer

Poniżej przedstawiamy kod wraz z opisem. Nasz kod zaczynamy od zdefiniowania pinów, stworzeniu zmiennych oraz wczytania biblioteki:

#include <Adafruit_NeoPixel.h>

#define PIN 7 // Numer pinu do którego jest podłączony ring
#define LICZBA_DIOD 24 // Liczba diod które będą się świecić (od 0 do 24)
 
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(LICZBA_DIOD, PIN, NEO_GRB + NEO_KHZ800);

void setup()
{
  pixels.begin(); // Inicjalizacja biblioteki
}

Następnie przechodzimy do pętli programu:

void loop()
{
  for(int i=0; i<LICZBA_DIOD; i++)
  {
      pixels.setPixelColor(i, 0, 0, 0); // Dioda "i" oraz wartości 
      koloru R=0-255 G=0-255 B=0-255
      pixels.show(); // Wyświetlanie na diodzie
      delay(500); // Opoznienie 500ms przed zaświeceniem kolejnej diody
  }

Teraz pora na szybką animację która zapali co pół sekundy następną diodę w delikatnie innym odcieniu.

//   Wyswietlanie kolejnych diod 
  pixels.setPixelColor(0, 101, 255, 5);
  pixels.show();
  delay(500);
  pixels.setPixelColor(1, 101, 255, 5);
  pixels.show();
  delay(500);
  pixels.setPixelColor(2, 102, 250, 7);
  pixels.show();
   delay(500);
  pixels.setPixelColor(3, 103, 240, 10);
  pixels.show();
   delay(500);
  pixels.setPixelColor(4, 104, 230, 15);
  pixels.show();
   delay(500);
  pixels.setPixelColor(5, 105, 210, 20);
  pixels.show();
   delay(500);
  pixels.setPixelColor(6, 106, 200, 25);
  pixels.show();
   delay(500);
  pixels.setPixelColor(7, 107, 190, 30);
  pixels.show();
   delay(500);
  pixels.setPixelColor(8, 108, 180, 35);
  pixels.show();
   delay(500);
  pixels.setPixelColor(9, 109, 165, 40);
  pixels.show();
   delay(500);
  pixels.setPixelColor(10, 110, 150, 50);
  pixels.show();
   delay(500);
  pixels.setPixelColor(11, 111, 135, 60);
  pixels.show();
   delay(500);
  pixels.setPixelColor(12, 112, 120, 70);
  pixels.show();
   delay(500);
  pixels.setPixelColor(13, 113, 105, 85);
  pixels.show();
   delay(500);
  pixels.setPixelColor(14, 114, 90, 100);
  pixels.show();
   delay(500);
  pixels.setPixelColor(15, 115, 80, 100);
  pixels.show();
   delay(500);
  pixels.setPixelColor(16, 116, 70, 115);
  pixels.show();
   delay(500);
  pixels.setPixelColor(17, 117, 60, 130);
  pixels.show();
   delay(500);
  pixels.setPixelColor(18, 118, 50, 145);
  pixels.show();
   delay(500);
  pixels.setPixelColor(19, 119, 40, 160);
  pixels.show();
   delay(500);
  pixels.setPixelColor(20, 120, 35, 175);
  pixels.show();
   delay(500);
  pixels.setPixelColor(21, 121, 30, 190);
  pixels.show();
   delay(500);
  pixels.setPixelColor(22, 122, 25, 200);
  pixels.show();
   delay(500);
  pixels.setPixelColor(23, 123, 20, 220);
  pixels.show();
   delay(500);
  pixels.setPixelColor(24, 124, 10, 250);
  pixels.show();
   delay(500);
}

Poniżej znajdziecie kilka zdjęć uruchomionego ringa LED oraz gotowy plik z kodem na Arduino.

Pobierz gotowy program:

Aktualnie trwają pracę nad nową wersją programu wraz z aktualizacją, po której będzie możliwość tworzenia programów z ringami LED za pomocą bloczków, abyście nie musieli pisać ręcznie kolejnych linijek kodu. Pracujemy również nad gotowymi animacjami płynnych przejść kolorów, "podróżujących pikseli" i wiele wiele innych. Poniżej prezentujemy drobną wizualizację.

Dodaj komentarz

Copyright © 
Code Designer 2024