Podłączamy diodę RGB ze wspólną anodą do Arduino!

Podłączamy diodę RGB ze wspólną anodą do Arduino!

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Dioda rgb pozwala na świecenie w trzech różnych kolorach: czerwonym, zielonym i niebieskim. Poprzez zastosowanie odpowiedniego kodu do arduino, możemy sprawić że te kolory będą świeciły na przemian, lub nawet mieszały się ze sobą!

W tym poradniku dowiecie się jak podłączyć taką diodę do arduino, i sprawić by świeciła ona w różnych kolorach i uzyskacie płynne przechodzenie kolorów pomiędzy sobą.

 

Do projektu potrzebne będą:

-Płytka stykowa;

-Dioda RGB ze wspólną anodą;

-Arduino UNO (wraz z kablem usb)

-3 rezystory o rezystancji 200 Ω każdy;

-Kable do płytki stykowej (najlepiej w kolorach odpowiadających pinom w diodzie);

-Opcjonalnie jakaś gąbeczka lub pianka którą można nałożyć na diodę w celu lepszego rozproszenia koloru.

Zaczynajmy!

Najpierw pokaże wam który pin odpowiada któremu kolorowi w diodzie:

Podłączamy diodę RGB ze wspólną anodą do Arduino!

Następnie wkładamy naszą diodę w płytkę stykową:

Podłączamy diodę RGB ze wspólną anodą do Arduino!

Arduino podaje napięcie 5V, dioda potrzebuje odrobinę mniej dlatego wpinamy rezystory do każdego pinu odpowiadającemu kolorowi.

Podłączamy diodę RGB ze wspólną anodą do Arduino!

Teraz do każdego wyjścia z diody podłączamy kabelki:

Podłączamy diodę RGB ze wspólną anodą do Arduino!

I podłączamy je do arduino w następujący sposób:

Podłączamy diodę RGB ze wspólną anodą do Arduino!Podłączamy diodę RGB ze wspólną anodą do Arduino!

Zielony do pinu 9, czerwony do pinu 6 a niebieski do pinu 5.

Kabel od zasilania podłączamy pod pin 5V po drugiej stronie Arduino.

Opcjonalnie zakładamy piankę na diodę:

Podłączamy diodę RGB ze wspólną anodą do Arduino!

Część techniczna już za nami, teraz trzeba zaopatrzyć się w kod:

void setup() {

pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
pinMode(RED, OUTPUT);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, HIGH);
digitalWrite(RED, HIGH);
}

int redVal;
int blueVal;
int greenVal;

void loop() {

int redVal = 255;
int blueVal = 0;
int greenVal = 0;
for( int i = 0 ; i < 255 ; i += 1 ){
greenVal += 1;
redVal -= 1;
analogWrite( GREEN, 255 – greenVal );
analogWrite( RED, 255 – redVal );

delay( delayTime );
}

redVal = 0;
blueVal = 0;
greenVal = 255;
for( int i = 0 ; i < 255 ; i += 1 ){
blueVal += 1;
greenVal -= 1;
analogWrite( BLUE, 255 – blueVal );
analogWrite( GREEN, 255 – greenVal );

delay( delayTime );
}

redVal = 0;
blueVal = 255;
greenVal = 0;
for( int i = 0 ; i < 255 ; i += 1 ){
redVal += 1;
blueVal -= 1;
analogWrite( RED, 255 – redVal );
analogWrite( BLUE, 255 – blueVal );

(kod nie jest mój, należy do użytkownika cyragia ze strony instructables.com)

Kod wklejamy do programu Arduino i wysyłamy na nasze urządzenie.

GOTOWE! Nasza dioda powinna świecić w kolorach od czerwonego do zielonego aż po niebieski!

Efekt:

https://www.youtube.com/watch?v=e4oKmie5bcM

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 3/5 (głosów: 1)

Podobne posty

Skrzynka meteo

Skrzynka meteo

Prosta obudowa do stacji meteo. A raczej obudowa radiacyjna.

8 komentarzy do “Podłączamy diodę RGB ze wspólną anodą do Arduino!

  • Po przeczytaniu pewnej książki skleciłem dla was coś takiego efekt jest super

    /*
    Autor:Tomasz Wasinski
    wasyl2007
    17/05/2014

    Szkic sterowanie diodą LED za pomocą PWM.
    sygnał PWM można wygenerować za
    pomocą funkcji analogWrite(x,y) gdzie x oznacza
    pin cyfrowy a y wartość współczynnika wypełnienia
    impulsu z (przedziału od 0 do 255 gdzie 255 oznacza
    100% wypełnienia

    • /

    int pauza1 = 5; //różne pauzy dla kombinacji
    int pauza2 = 9;
    int pauza3 = 13;

    int ledPin[] ={
    3,5,6};
    #define SIZE 3
    int i;

    void setup()
    {
    pinMode(ledPin[i], OUTPUT);
    }

    void loop()
    {

    flash1();
    flash2();
    flash3();

    flash2();
    flash1();
    flash3();
    }
    void flash1()
    {
    for(int a = 0; a = 0; a–)
    {
    analogWrite(3,a);
    delay(pauza1);

    }
    }

    void flash2()
    {
    for(int a = 0; a = 0; a–)
    {
    analogWrite(5,a);
    delay(pauza1);

    }
    }

    void flash3()
    {
    for(int a = 0; a = 0; a–)
    {
    analogWrite(6,a);
    delay(pauza1);

    }
    }

    Odpowiedz

Odpowiedz

anuluj

Podłączamy diodę RGB ze wspólną anodą do Arduino!

Nie przegap nowych projektów!

Zapisując się na nasz Newsletter będziesz miał pewność, że nie przegapisz żadnego nowego projektu opublikowanego w Majsterkowie!

Od teraz nie przegapisz żadnego projektu!

Masz uwagi?