RGB LED WITH JOYSTICK CONTROL

by RksTEch in Circuits > Arduino

1069 Views, 0 Favorites, 0 Comments

RGB LED WITH JOYSTICK CONTROL

Screenshot_2019_1130_180153.png
Hey,come let's do this interesting project.

Supplies

Arduino
lcd 16x2 display
joystick
rgb led
potentiometer
jumper wires

Connection

Lcd Display:
VSS - Gnd
VDD - 5V
VO - potentiometer
RS - Gnd
RW - 11
E - 12
D4 - 5
D5 - 4
D6 - 3
D7 - 2
Potetiometer:
Middle - lcd's VO pin
Another - 5V or Nothing
Another - Gnd
Joystick:
Gnd - Gnd
5V - 5V
VRX - A0
VRY - A1
SW - 6
RGB led:
long end - Gnd
Other 3 - 8 , 9 , 10 Respectively

Coding

IMG_20191130_170810.jpg
#include
#include
int contrast=75;
LiquidCrystal lcd(12,11,5,4,3,2);
#define redPin 9
#define greenPin 10
#define bluePin 8
// Arduino pin numbers
const int SWpin = 6; // digital pin connected to switch output
const int Xpin = 0; // analog pin connected to X output
const int Ypin = 1; // analog pin connected to Y output
int r,b,g,a,n;

void setup() {
pinMode(SWpin, INPUT);
digitalWrite(SWpin, HIGH);
lcd.begin(16,2);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
r=0;
b=127;
g=0;
a=0;
}

void loop() {
if(digitalRead(SWpin)==0)
{
a=a+1;
};
if(a==4)
{
a=1;
};
switch(a)
{
case 1:
lcd.clear();
lcd.print("Red: ");
n=analogRead(Ypin);
if(n==0&r>0)
{
r=r-1;
}
if(n>1000&r<225)
{
r=r+1;
}
lcd.print(r);
setColor(r,g,b);
break;
case 2:
lcd.clear();
lcd.print("Blue: ");
n=analogRead(Ypin);
if(n==0&b>127)
{
b=b-1;
}
if(n>1000&b<225)
{
b=b+1;
}
lcd.print(b);
setColor(r,g,b);
break;
case 3:
lcd.clear();
lcd.print("Green:");
n=analogRead(Ypin);
if(n==0&g>0)
{
g=g-1;
}
if(n>1000&g<225)
{
g=g+1;
}
lcd.print(g);
setColor(r,g,b);
break;

}
delay(100);

}
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}

Video YOUTUBE

20191130_174252_0000.png
https://youtu.be/GVxPgRuVwBw