#define pinbnUp 2
#define pinbtnDown 3
#define pinbtnOff 4
#define pinbtnHorn 5
#define pinbtnTurnRight 6
#define pinbtnTurnLeft 7
#define Hornpin 10
#define LEDCh1Pin 11
#define LEDCh2Pin 12
int sum;
int shim;
int maxs = 10; //max
int mins = 0; //min
int lastsum = maxs;
long last; //lattime
void setup() {
Serial.begin(9600);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(4, INPUT_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
}
void flashLight() {
int LEDRHigh = map(10, 0, 10, 0, 255);
int LEDRLow = map(0, 0, 10, 0, 255);
analogWrite(LEDCh1Pin, LEDRHigh);
analogWrite(LEDCh2Pin, LEDRHigh);
Serial.print("Flashlight: ");
Serial.println(digitalRead(LEDCh1Pin));
delay(50);
analogWrite(LEDCh1Pin, LEDRLow);
analogWrite(LEDCh2Pin, LEDRLow);
Serial.print("Flashlight: ");
Serial.println(digitalRead(LEDCh1Pin));
delay(50);
analogWrite(LEDCh1Pin, LEDRHigh);
analogWrite(LEDCh2Pin, LEDRHigh);
Serial.print("Flashlight: ");
Serial.println(digitalRead(LEDCh1Pin));
delay(50);
analogWrite(LEDCh1Pin, LEDRLow);
analogWrite(LEDCh2Pin, LEDRLow);
Serial.print("Flashlight: ");
Serial.println(digitalRead(LEDCh1Pin));
delay(50);
analogWrite(LEDCh1Pin, LEDRHigh);
analogWrite(LEDCh2Pin, LEDRHigh);
Serial.print("Flashlight: ");
Serial.println(digitalRead(LEDCh1Pin));
delay(50);
analogWrite(LEDCh1Pin, LEDRLow);
analogWrite(LEDCh2Pin, LEDRLow);
Serial.print("Flashlight: ");
Serial.println(digitalRead(LEDCh1Pin));
delay(50);
analogWrite(LEDCh1Pin, shim);
analogWrite(LEDCh2Pin, shim);
}
void loop() {
if (millis() - last > 300) {
//LED LEVEL UP
if (!digitalRead(pinbnUp) & sum < maxs) {
if(lastsum > 0 & sum == 0){
lastsum = lastsum -1;
}
if(lastsum == maxs){
lastsum = lastsum -1;
}
sum = lastsum + 1;
lastsum = sum;
Serial.print("LED Level UP: ");
Serial.println(sum);
last = millis();
}
//LED LEVEL DOWN
if (!digitalRead(pinbtnDown) & sum > mins) {
sum = lastsum - 1;
lastsum = sum;
Serial.print("LED Level Down: ");
Serial.println(sum);
last = millis();
}
//LED TURN OFF
if (digitalRead(pinbtnOff) == 0) {
Serial.println("LED OFF");
if (sum != 0) {
lastsum = sum;
}
sum = 0;
last = millis();
}
//LED TURN RIGHT
if (digitalRead(pinbtnTurnRight) == 0) {
if (digitalRead(LEDCh2Pin)) {
int LEDR = map(0, 0, 10, 0, 255);
analogWrite(LEDCh2Pin, LEDR);
delay(50);
}
}
//LED TURN LEFT
if (digitalRead(pinbtnTurnLeft) == 0) {
if (digitalRead(LEDCh1Pin)) {
int LEDL = map(0, 0, 10, 0, 255);
analogWrite(LEDCh1Pin, LEDL);
delay(50);
}
}
}
//TURN ON HORN
if (digitalRead(pinbtnHorn) == 0) {
analogWrite(Hornpin, HIGH);
flashLight();
} else {
analogWrite(Hornpin, LOW);
}
shim = map(sum, 0, 10, 0, 255);
analogWrite(LEDCh1Pin, shim);
analogWrite(LEDCh2Pin, shim);
}