[PROJEKT] Sterowanie diodą RGB za pomocą joysticka w Arduino
Arduino, jako popularny moduł startowy przeznaczony do prototypowania, zyskuje coraz większą liczbę zwolenników. Wszystko dzięki wykorzystaniu uniwersalnych rozwiązań połączeniowych oraz intuicyjnemu oprogramowaniu. Platforma Arduino szybki rozwój zawdzięcza powiększającej się liczbie pasjonatów elektroniki. W artykule znajduje się przewodnik, który pozwoli wykonać sterowany joystickiem kontroler diody RGB.
Aby wykonać tytułowy projekt, należy skupić się na jego głównych etapach. Pierwszym jest zapoznanie się z działaniem diody RGB oraz początkowe jej wysterowanie. Na rysunku 1 pokazano sposób dołączenie diody RGB do modułu Arduino Nano.

Rys. 1. Schemat połączenia Arduino Nano z diodą RGB
W projekcie wykorzystano diodę RGB ze wspólną anodą. Z tego powodu to wyprowadzenie należy dołączyć do linii wyjściowej Arduino o oznaczeniu 5 V – jest to wyjście do zasilania układów peryferyjnych Arduino. Pozostałe wyprowadzenia diody dołączono do linii Arduino o numerach: 9, 10 i 11 (oznaczenie na rysunku 1: PWM1…PWM3). Są to linie mogące pracować w trybie PWM. Wysterowanie diody LED odbywa się poprzez zmianę współczynnika wypełnienia sygnału PWM rozkazem:
analogWrite(nr_linii_PWM, wartość_współczynnika_wypełnienia_PWM);
Wprowadzana wartość współczynnika PWM musi mieć wartość z przedziału od 0 do 255. Podając wartość 0 otrzymujemy pełny przepływ prądu oraz największą intensywność świecenia danej barwy. Przykładowy program sterujący diodą RGB pokazano na listingu 1.
List. 1. Przykładowy kod wysterowania diody RGB
int red = 9, green = 10, blue = 11; //przypisanie portów PWM jako wyjścia na diodę RGB
void setup()
{
pinMode(red, OUTPUT); //przypisanie systemowe portów jako wyjścia
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
}
void loop()
{
analogWrite(blue,255); //wartość światłości barwy niebieskiej
analogWrite(green,0); //wartość światłości barwy zielonej
analogWrite(red,100); //wartość światłości barwy czerwonej
delay(100); //opóźnienie
}
Kolejnym etapem jest zapoznanie się z zasadą funkcjonowania joysticka. Składa się on z dwóch potencjometrów, które w wyniku przemieszczania drążka odpowiednio zmieniają swoją wartość. Poza tym zawiera on przycisk, który jest uaktywniany za pomocą wciśnięcia drążka. Sposób dołączenia joysticka (moduł modJOY2) do Arduino Nano przedstawiono na rysunku 2.

Rys. 2. Sposób dołączenia modułu modJOY2 do Arduino Nano
Linie modułu modJOY2 oznaczone '+’ i ’-’ należy dołączyć do linii 5V i GND modułu Arduino Nano. Na wyprowadzenia X i Y jest podawany sygnał analogowy związany z położeniem drążka w module. Wyprowadzenie B to wyjście przycisku umiejscowionego pod drążkiem, jego przyciśnięcie powoduje zwarcie z wyprowadzeniem oznaczonym jako '+’. W przypadku połączeń pokazanych na rysunku 2 po naciśnięciu joysticka nastąpi podanie na linię wejściową D13 Arduino napięcia o wartości 5 V (czyli wysokiego poziomu napięcia, co w języku Arduino jest oznaczane stałą „HIGH„).
List. 2. Przykładowy kod do testowania joysticka
int inx=A0, iny=A1; //zmienne położenia potencjometrów xosi x i y
int button=13; //przypisanie portu jako wejście przycisku
int x,y; //zmienne położenia potencjometrów
int stan=1; //tryb pracy
void setup()
{
pinMode(button, INPUT);//przypisanie systemowe portów jako wejście
Serial.begin(9600); //ustalenie komunikacji poprzez port USB
}
void loop()
{
x=analogRead(inx); //przypisanie wartości analogowych napięcia z potencjometrów
y=analogRead(iny);
Serial.print("Pozycja X = " ); //wysłanie informacji poprzez port USB
Serial.print(x);
Serial.print("\t Pozycja Y = ");
Serial.print(y);
Serial.print("\t Stan Button = ");
Serial.println(stan);
delay(100); //opóźnienie
}

Technologie End of Life i bezpieczeństwo sieci – wyzwania Europy związane z tzw. długiem technologicznym
Najczęstsze błędy firm przy wyborze dostawcy energii i jak ich uniknąć
Fotorezystor, czyli czujnik światła dwojakiego działania. Przykład innowacji w automatyce i elektronice możliwej dzięki technologii fotooporników 



