// generated by mBlock5 for <your product>
// codes make you happy
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
float Pot_Value = 0;
float RED = 0;
float BLUE = 0;
float GREEN = 0;
float PROGRAM_X = 0;
float Average_Angle = 0;
float New_State = 0;
float Previous_State = 0;
float Timer_Value = 0;
float PREVIOUS_ANGLE = 0;
float ACCUMULATIVE = 0;
float BUTTON_NEW = 0;
float BUTTON_OLD = 0;
float SWITCH_STATE = 0;
float LCD_REFRESH = 0;
float NEXT_PROGRAM_NEW = 0;
float NEXT_PROGRAM_OLD = 0;
float PREV_PROGRAM_NEW = 0;
float PREV_PROGRAM_OLD = 0;
float OLD_PROGRAM_X = 0;
void NEXT_PROGRAM (){
NEXT_PROGRAM_NEW = digitalRead(8);
if(!((NEXT_PROGRAM_NEW == NEXT_PROGRAM_OLD))){
_delay(0.05);
}
NEXT_PROGRAM_NEW = digitalRead(8);
if((!((NEXT_PROGRAM_NEW == NEXT_PROGRAM_OLD))) && (NEXT_PROGRAM_NEW == 1.000000)){
PROGRAM_X = (PROGRAM_X + 1);
LCD_REFRESH = 0;
SWITCH_STATE = 0;
}
NEXT_PROGRAM_OLD = NEXT_PROGRAM_NEW;
}
void PREVIOUS_PROGRAM (){
PREV_PROGRAM_NEW = digitalRead(7);
if(!((PREV_PROGRAM_NEW == PREV_PROGRAM_OLD))){
_delay(0.05);
}
PREV_PROGRAM_NEW = digitalRead(7);
if((!((PREV_PROGRAM_NEW == PREV_PROGRAM_OLD))) && (PREV_PROGRAM_NEW == 1.000000)){
PROGRAM_X = ((PROGRAM_X - 1));
SWITCH_STATE = 0;
LCD_REFRESH = 0;
}
PREV_PROGRAM_OLD = PREV_PROGRAM_NEW;
}
void ON_OFF_SWITCH (){
BUTTON_NEW = digitalRead(4);
if(!((BUTTON_NEW == BUTTON_OLD))){
_delay(0.01);
}
BUTTON_NEW = digitalRead(4);
if((!((BUTTON_NEW == BUTTON_OLD))) && (BUTTON_NEW == 1.000000)){
if(SWITCH_STATE == 0.000000){
SWITCH_STATE = 1;
}else{
SWITCH_STATE = 0;
}
LCD_REFRESH = 0;
}
BUTTON_OLD = BUTTON_NEW;
}
void LEVEL_0 (){
digitalWrite(11,1);
digitalWrite(10,0);
digitalWrite(9,0);
if((SWITCH_STATE == 1.000000) && (LCD_REFRESH == 0.000000)){
analogWrite(3,50);
analogWrite(6,50);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(String("Program") + String(String(String(PROGRAM_X).toInt()) + String(" ON")));
lcd.setCursor(0,1);
lcd.print(String("PWI 1:") + String("50"));
lcd.setCursor(0,2);
lcd.print(String("PWI 2:") + String("50"));
LCD_REFRESH = 1;
}
if((SWITCH_STATE == 0.000000) && (LCD_REFRESH == 0.000000)){
analogWrite(3,0);
analogWrite(6,0);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(String("Program") + String(String(String(PROGRAM_X).toInt()) + String(" OFF")));
lcd.setCursor(0,1);
lcd.print(String("PWI 1:") + String("50"));
lcd.setCursor(0,2);
lcd.print(String("PWI 2:") + String("50"));
LCD_REFRESH = 1;
}
}
void LEVEL_1 (){
digitalWrite(11,0);
digitalWrite(10,1);
digitalWrite(9,0);
if((SWITCH_STATE == 1.000000) && (LCD_REFRESH == 0.000000)){
analogWrite(3,125);
analogWrite(6,125);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(String("Program") + String(String(String(PROGRAM_X).toInt()) + String(" ON")));
lcd.setCursor(0,1);
lcd.print(String("PWI 1:") + String("125"));
lcd.setCursor(0,2);
lcd.print(String("PWI 2:") + String("125"));
LCD_REFRESH = 1;
}
if((SWITCH_STATE == 0.000000) && (LCD_REFRESH == 0.000000)){
analogWrite(3,0);
analogWrite(6,0);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(String("Program") + String(String(String(PROGRAM_X).toInt()) + String(" OFF")));
lcd.setCursor(0,1);
lcd.print(String("PWI 1:") + String("125"));
lcd.setCursor(0,2);
lcd.print(String("PWI 2:") + String("125"));
LCD_REFRESH = 1;
}
}
void LEVEL2 (){
digitalWrite(11,0);
digitalWrite(10,0);
digitalWrite(9,1);
if((SWITCH_STATE == 1.000000) && (LCD_REFRESH == 0.000000)){
analogWrite(3,200);
analogWrite(6,200);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(String("Program") + String(String(String(PROGRAM_X).toInt()) + String(" ON")));
lcd.setCursor(0,1);
lcd.print(String("PWI 1:") + String("200"));
lcd.setCursor(0,2);
lcd.print(String("PWI 2:") + String("200"));
LCD_REFRESH = 1;
}
if((SWITCH_STATE == 0.000000) && (LCD_REFRESH == 0.000000)){
analogWrite(3,0);
analogWrite(6,0);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(String("Program") + String(String(String(PROGRAM_X).toInt()) + String(" OFF")));
lcd.setCursor(0,1);
lcd.print(String("PWI 1:") + String("200"));
lcd.setCursor(0,2);
lcd.print(String("PWI 2:") + String("200"));
LCD_REFRESH = 1;
}
}
void _delay(float seconds) {
long endTime = millis() + seconds * 1000;
while(millis() < endTime) _loop();
}
void setup() {
lcd.init();
pinMode(8,INPUT);
pinMode(7,INPUT);
pinMode(4,INPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(3,OUTPUT);
pinMode(6,OUTPUT);
lcd.backlight();
while(1) {
ON_OFF_SWITCH();
NEXT_PROGRAM();
PREVIOUS_PROGRAM();
if(PROGRAM_X == -1.000000){
PROGRAM_X = 2;
}
if(PROGRAM_X == 0.000000){
LEVEL_0();
}
if(PROGRAM_X == 1.000000){
LEVEL_1();
}
if(PROGRAM_X == 2.000000){
LEVEL2();
}
if(PROGRAM_X == 3.000000){
PROGRAM_X = 0;
}
_loop();
}
}
void _loop() {
}
void loop() {
_loop();
}