check in
Ongoing

RGB code with Arduino

STDRGB code with Arduino

tag

1.1k
0
0
0
Mode:Full

License

Public Domain

Creation time:2019-01-14 15:16:20Update time:2021-05-03 17:39:39

Description

Program:
#include

LiquidCrystal_I2C lcd(0x27, 16, 2);

int rosso = 11;
int verde = 10;
int blu = 9;

int pUno = 7;
int pDieci = 6;
int pCento = 5;
int pAvanti = 4;
int pOK = 3;
int pReset = 2;

int valUno = 0;
int valDieci = 0;
int valCento = 0;
int valAvanti = 0;
int valOK = 0;
int valReset = 0;

int colore = 0;
int valRosso = 0;
int valVerde = 0;
int valBlu = 0;

void setup() {
pinMode(rosso, OUTPUT);
pinMode(verde, OUTPUT);
pinMode(blu, OUTPUT);

pinMode(pUno, INPUT);
pinMode(pDieci, INPUT);
pinMode(pCento, INPUT);
pinMode(pAvanti, INPUT);
pinMode(pOK, INPUT);
pinMode(pReset, INPUT);

lcd.init();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("R:");
lcd.setCursor(7, 0);
lcd.print("G:");
lcd.setCursor(0, 1);
lcd.print("B:");
}

void loop() {
valUno = digitalRead(pUno);
valDieci = digitalRead(pDieci);
valCento = digitalRead(pCento);
valAvanti = digitalRead(pAvanti);
valOK = digitalRead(pOK);
valReset = digitalRead(pReset);

if (valAvanti == 1) {
colore = colore + 1;
delay(300);
}

if (colore >= 3) {
colore = 0;
}

if (valRosso >= 256) {
valRosso = 0;
lcd.setCursor(3, 0);
lcd.print(" ");
}

if (valVerde >= 256) {
valVerde = 0;
lcd.setCursor(10, 0);
lcd.print(" ");
}

if (valBlu >= 256) {
valBlu = 0;
lcd.setCursor(3, 1);
lcd.print(" ");
}

if (colore == 0 and valUno == 1) {
valRosso = valRosso + 1;
delay(300);
}

if (colore == 0 and valDieci == 1) {
valRosso = valRosso + 10;
delay(300);
}

if (colore == 0 and valCento == 1) {
valRosso = valRosso + 100;
delay(300);
}

if (colore == 1 and valUno == 1) {
valVerde = valVerde + 1;
delay(300);
}

if (colore == 1 and valDieci == 1) {
valVerde = valVerde + 10;
delay(300);
}

if (colore == 1 and valCento == 1) {
valVerde = valVerde + 100;
delay(300);
}

if (colore == 2 and valUno == 1) {
valBlu = valBlu + 1;
delay(300);
}

if (colore == 2 and valDieci == 1) {
valBlu = valBlu + 10;
delay(300);
}

if (colore == 2 and valCento == 1) {
valBlu = valBlu + 100;
delay(300);
}

lcd.setCursor(3, 0);
lcd.print(valRosso);
lcd.setCursor(10, 0);
lcd.print(valVerde);
lcd.setCursor(3, 1);
lcd.print(valBlu);

if (valOK == 1) {
analogWrite(rosso, valRosso);
analogWrite(verde, valVerde);
analogWrite(blu, valBlu);
}

if (valReset == 1) {
digitalWrite(rosso, LOW);
digitalWrite(verde, LOW);
digitalWrite(blu, LOW);

valRosso = 0;
valVerde = 0;
valBlu = 0;
colore = 0;

lcd.setCursor(3, 0);
lcd.print("   ");
lcd.setCursor(10, 0);
lcd.print("   ");
lcd.setCursor(3, 1);
lcd.print("   ");

}
}

Design Drawing

schematic diagram

BOM

IDNameDesignatorFootprintQuantity
1220R7,R8,R9,R,R2,R3,R4,R5,R6AXIAL-0.39
23W RGB LEDU13W RGB LED1
3button6*6*8KEY1,KEY2,KEY3,KEY4,KEY5,KEY6KEY-6.0*6.0-26
4ARDUINOU2ARDUINO1
5LCD1602_I2C copyU3LCD-1602 ONLY I2C HOLE_V21

Attachments

OrderFile nameDownload times
No data
Clone
Add to Album
0
0
Share
Report

Comment

All Comments(1)
Sort by time|Sort by popularity
Followers0|Likes0
Related projects
Empty

Bottom Navigation