Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <OneWire.h>
- #include <DallasTemperature.h>
- #include <LiquidCrystal_I2C.h>
- #define ONE_WIRE_BUS A1 //✔✔ //Signal Pull-Up resistor
- #define IR_Sensor 11 //✔✔
- #define Input A0 //✔
- #define Relay_1 3 //✔✔
- #define Relay_2 12 //✔✔
- #define Relay_3 8 //✔✔
- #define Relay_4 9 //✔✔
- #define proximity A2 //✔✔
- #define buttonPin 2 //✔✔ //Signal Pull-Down resistor
- #define IR_col 10 //✔✔
- #define IN1 4 //✔✔
- #define IN2 7 //✔✔
- #define enA 5 //✔✔
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- LiquidCrystal_I2C lcd(0x27, 16, 2);
- int x = 0;
- int state = 0;
- int val_proximity;
- int LEDState = 0;
- int buttonNew;
- int buttonOld = 1;
- int dt = 100;
- int val_col = HIGH;
- void setup(){
- sensors.begin();
- lcd.init();
- lcd.init();
- lcd.backlight();
- lcd.setCursor(0, 1);
- lcd.print("turn=");
- pinMode(Input, INPUT);
- pinMode(buttonPin, INPUT);
- pinMode(proximity, INPUT);
- pinMode(IR_col, INPUT);
- pinMode(Relay_1, OUTPUT);
- pinMode(Relay_2, OUTPUT);
- pinMode(Relay_3, OUTPUT);
- pinMode(Relay_4, OUTPUT);
- pinMode(IR_Sensor, OUTPUT);
- pinMode(IN1, OUTPUT);
- pinMode(IN2, OUTPUT);
- pinMode(enA, OUTPUT);
- digitalWrite(Relay_1, LOW);
- digitalWrite(Relay_2, LOW);
- digitalWrite(Relay_3, LOW);
- digitalWrite(Relay_4, LOW);
- }
- void loop(){
- lcd.setCursor(0, 1);
- lcd.print("turn=");
- buttonNew = digitalRead(buttonPin);
- val_proximity = digitalRead(proximity);
- val_col = digitalRead(IR_col);
- if (val_col == LOW) {
- lcd.clear();
- delay(50);
- lcd.setCursor(0, 0);
- lcd.print("DON = 10CM");
- delay(1500);
- }
- if (val_proximity == LOW) {
- digitalWrite(Relay_1, LOW);
- digitalWrite(Relay_2, LOW);
- digitalWrite(Relay_3, LOW);
- digitalWrite(Relay_4, LOW);
- digitalWrite(IR_Sensor, LOW);
- }
- if (buttonOld == 0 && buttonNew == 1) {
- if (LEDState == 0) {
- digitalWrite(IR_Sensor, HIGH);
- digitalWrite(Relay_1, HIGH);
- digitalWrite(Relay_2, HIGH);
- digitalWrite(Relay_3, HIGH);
- digitalWrite(Relay_4, HIGH);
- LEDState = 1;
- }
- else {
- digitalWrite(IR_Sensor, LOW);
- digitalWrite(Relay_1, LOW);
- digitalWrite(Relay_2, LOW);
- digitalWrite(Relay_3, LOW);
- digitalWrite(Relay_4, LOW);
- LEDState = 0;
- }
- }
- buttonOld = buttonNew;
- delay(dt);
- analogWrite(enA, 75);
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- delay(100);
- lcd.setCursor(9, 1);
- lcd.print("T=");
- lcd.print(millis() / 5000);
- sensors.requestTemperatures();
- lcd.setCursor(0, 0);
- lcd.print("Temp in C =");
- lcd.println(sensors.getTempCByIndex(0));
- int counter = digitalRead(Input);
- if (state == 0)
- {
- switch (counter) {
- case 1 : state = 1; lcd.setCursor (5, 1); x = x + 1; lcd.print(x); break;
- case 0 : state = 0; break;
- }
- }
- if (counter == LOW) {
- state = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement