Kod: Zaznacz cały
Komunikuje sieprzez I2C .podłaczone do pinów 20 ,21 oraz 5v i GND.
Po przekreceniu potencjometru pojawił sie napis VOLUME iles tam procent i chciałbym żeby po czasie znikną napis a pojawił sie np.. inny lub zrobić przycisk taki zatwierdzający daną wartoś i powraca np do WELCOM..
Kod:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
int Control1 = 0;
int Control2 = 0;
//3//
int ControlAnt1 = 0;
int ControlAnt2 = 0;
//3//
int pot1 = 0;
int sensorPIN = A0;
int sensorValue = 0;
int push1 = LOW, push2 = LOW, push3 = LOW, push4 = LOW, push5 = LOW, push6 = LOW; //
int edoant1 = LOW, edoant2 = LOW, edoant3 = LOW, edoant4 = LOW, edoant5 = LOW, edoant6 = LOW;
int edo1 = 0, edo2 = 0, edo3 = 0, edo4 = 0, edo5 = 0, edo6 = 0;
void setup() {
Serial.begin(115200);
lcd.begin(16,2);
lcd.setCursor(1,0);
lcd.print(" W E L C O M ");
lcd.setCursor(3,1);
lcd.print("F E N D E R");
delay(9000);
pinMode(22,OUTPUT);
pinMode(23,OUTPUT);
pinMode(24,OUTPUT);
pinMode(25,OUTPUT);
pinMode(40, OUTPUT);
pinMode(41, OUTPUT);
}
void loop() {
push1 = digitalRead(22);
push2 = digitalRead(23);
push3 = digitalRead(24);
push4 = digitalRead(25);
pot1 = analogRead(A0);
Control1 = map(pot1, 0,1023,0, 127);
/////------VOLUME-----///
if (Control1 != ControlAnt1) {
Serial.write(176);
Serial.write(14);
Serial.write(Control1);
ControlAnt1 = Control1;
sensorValue = analogRead(A0);
sensorValue = sensorValue / 10.22;
lcd.clear();
lcd.setCursor(5,0);
lcd.print ("VOLUME");
lcd.setCursor(6,1);
lcd.print(sensorValue);
lcd.print("%");
lcd.print(" ");
delay(5000);
lcd.clear();
}
if (push4 == HIGH&& edoant4 == LOW) {
edo4 = 1 - edo4;
Serial.write(176);
Serial.write(20);
Serial.write(127); // ON
edoant4 = push4;
if(edo4==1) {
lcd.setCursor(3,0);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print(" OK ");
delay(1000);
lcd.print(" ");
}
//////----------- Przycisk 1 ----------------
if (push1 == HIGH&& edoant1 == LOW) {
edo1 = 1 - edo1;
Serial.write(176);
Serial.write(16);
Serial.write(127); // ON
edoant1 = push1;
if(edo1==1) {
lcd.setCursor(3,0);
lcd.print("StompComp");
lcd.setCursor(6,1);
lcd.print(" OK ");
digitalWrite(40, HIGH);
delay(1000);
lcd.clear();
}
else{
digitalWrite(40, LOW);
lcd.setCursor(3,0);
lcd.print("StompComp");
lcd.setCursor(6,1);
lcd.print("OFF");
delay(1000);
lcd.clear();
}
}
if (push1 == LOW && edoant1 == HIGH)
Serial.write(176);
Serial.write(16);
Serial.write(0); // OFF
edoant1 = push1;
//////----------- Przycisk 2 ----------------
if (push2 == HIGH && edoant2 == LOW) {
edo2 = 1 - edo2;
Serial.write(176);
Serial.write(17);
Serial.write(127); // ON
edoant2 = push2;
if(edo2==1) {
lcd.setCursor(3,0);
lcd.print("Flanger");
lcd.setCursor(6,1);
lcd.print("ON");
digitalWrite(41, HIGH);
delay(2000);
lcd.clear();
}
else{
digitalWrite(41, LOW);
lcd.setCursor(3,0);
lcd.print("Flanger");
lcd.setCursor(6,1);
lcd.print("OFF");
delay(2000);
lcd.clear();
}
}
if (push2 == LOW && edoant2== HIGH)
Serial.write(176);
Serial.write(17);
Serial.write(0); // OFF
edoant2 = push2;
/////-------------------------Przycisk 3------------------
if (push3 == HIGH && edoant3 == LOW) {
edo3 = 1 - edo3;
Serial.write(176);
Serial.write(18);
Serial.write(127); // ON
edoant3 = push3;
if(edo3==1) {
lcd.setCursor(3,0);
lcd.print("HAW");
lcd.setCursor(6,1);
lcd.print("ON");
digitalWrite(42, HIGH);
delay(2000);
lcd.clear();
}
else{
digitalWrite(42, LOW);
lcd.setCursor(3,0);
lcd.print("HAW");
lcd.setCursor(6,1);
lcd.print("OFF");
delay(2000);
lcd.clear();
}
}
if (push3 == LOW && edoant3== HIGH)
Serial.write(176);
Serial.write(18);
Serial.write(0); // OFF
edoant3 = push3;
}
}
Komunikuje sieprzez I2C .podłaczone do pinów 20 ,21 oraz 5v i GND.
Po przekreceniu potencjometru pojawił sie napis VOLUME iles tam procent i chciałbym żeby po czasie znikną napis a pojawił sie np.. inny lub zrobić przycisk taki zatwierdzający daną wartoś i powraca np do WELCOM..