Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
#include <neotimer.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#include <NewPing.h>
#define ledUp 12
#define ledDown 7
int value1;
int value2;
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7); // 0x27 is the I2C bus address for an unmodified module
NewPing(11, 8, MAX_DISTANCE),
};
void setup() {
pinMode(ledUp, OUTPUT);
pinMode(ledDown, OUTPUT);
digitalWrite(ledUp, HIGH);
digitalWrite(ledDown, HIGH);
Serial.begin(115200);
lcd.setBacklightPin(3,POSITIVE);
lcd.setBacklight(LOW);
lcd.begin(16, 2);
lcd.clear();
thetimer.start();
void loop() {
sonar[currentSensor].timer_stop();
currentSensor = i;
cm[currentSensor] = 0;
sonar[currentSensor].ping_timer(echoCheck);
if(thetimer.repeat(300)){
lcd.setCursor(0,1);
lcd.print("Reset");
value1 = 0;
value2 = 0;
lcd.setCursor(0,0);
lcd.print("Working");
lcd.setCursor(0,1);
lcd.print("No Action");
Serial.print("0");
Serial.print("=");
Serial.print(cm[0]);
Serial.print("cm ");
Serial.print("1");
Serial.print("=");
Serial.print(cm[1]);
Serial.print("cm ");
Serial.println();
value1 = 1;
thetimer.reset();
delay(50);
value1 = 0;
goUp();
digitalWrite(ledUp, LOW);
delay(400);
digitalWrite(ledUp, HIGH);
lcd.clear();
value1 = 0;
value2 = 0;
}
//set value 2 true
value2 = 1;
thetimer.reset();
delay(50);
value2 = 0;
goDown();
digitalWrite(ledDown, LOW);
delay(400);
digitalWrite(ledDown, HIGH);
lcd.clear();
value1 = 0;
value2 = 0;
void goUp()
Serial.println("MovingUpStarted");
lcd.setCursor(0,1);
lcd.print("Go Up Trigger");
value1 = 0;
value2 = 0;
}
void goDown()
Serial.println("MovingDownStarted");
lcd.setCursor(0,1);
value1 = 0;
value2 = 0;
if (sonar[currentSensor].check_timer())