Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- //
- //
- // Arduino Potentiometer Controled Relay Module
- // by learnelectronics
- // 4/6/2019
- // www.youtube.com/c/learnelectronics
- // email:[email protected]
- //
- //
- //
- #include <Wire.h> //I2C LIBRARY FOR OLED
- #include <Adafruit_GFX.h> //ADAFRUIT GRAPHICS LIBRARY
- #include <Adafruit_SSD1306.h> //ADAFRUIT OLED DRIVER LIBRARY
- int potRead = 0; //INITIALIZE VARIABLE FOR POTENTIOMETER
- #define OLED_RESET 4 //REQUIRED BY SSD1306 LIBRARY
- Adafruit_SSD1306 display(OLED_RESET); //DEFINE THE OLED AS display
- void setup() {
- Serial.begin(9600); //SERIAL COMMS FOR DEBUGGING
- pinMode(A0,INPUT); //DEFINE A0 AS AN INPUT
- pinMode(2,OUTPUT); //DEFINE D2 AS AN OUTPUT for relay 1
- pinMode(3,OUTPUT); //DEFINE D3 AS AN OUTPUT for relay 2
- pinMode(5,OUTPUT); //DEFINE D5 AS AN OUTPUT for relay 3 (cant use D4 - in use by OLED)
- display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //START UP THE OLED
- display.display(); //SHOW BUFFER
- display.clearDisplay(); //CLEAR BUFFER
- }
- void loop() {
- potRead = analogRead(A0); //READ THE POTENTIOMETER @ A0
- display.clearDisplay(); //CLEAR THE DISPLAY
- display.setTextSize(1); //SETUP OLED WITH TEXT SIZE OF 1
- display.setTextColor(WHITE); //SETUP OLED WITH COLOR WHITE
- display.setCursor(0,0); //SETUP OLED WITH CURSOR IN UPPER LEFT
- display.print("Analog Val: "); //PRINT HEADING TO OLED BUFFER
- display.println(potRead); //PRINT VALUE TO OLED BUFFER
- display.println("------------"); //PRINT A LINE TO OLED BUFFER
- display.println(""); //PRINT BLANK LINE TO OLED BUFFER
- if (potRead > 2 && potRead <334) //CHECK IF SYSTEM IS ON AND IN POSITION 1
- {
- digitalWrite(2,HIGH); //CLOSE RELAY 1
- digitalWrite(3,LOW); //OPEN RELAY 2
- digitalWrite(5,LOW); //OPEN RELAY 3
- display.setTextSize(2); //SET LARGE TEXT ON OLED
- display.println("Heat ON"); //PRINT SYSTEM STATUS TO OLED BUFFER
- }
- else if (potRead > 333 && potRead <667) //CHECK IF SYSTEM IS IN POSITION 2
- {
- digitalWrite(3,HIGH); //CLOSE RELAY 2(ON)
- digitalWrite(2,LOW); //OPEN RELAY 1(OFF)
- digitalWrite(5,LOW); //OPEN RELAY 3(OFF)
- display.setTextSize(2); //SET LARGE TEXT ON OLED
- display.println("Cool ON"); //PRINT SYSTEM STATUS TO OLED BUFFER
- }
- else if (potRead > 666) //CHECK IF SYSTEM IS IN POSTION 3
- {
- digitalWrite(5,HIGH); //CLOSE RELAY 3
- digitalWrite(2,LOW); //OPEN RELAY 1
- digitalWrite(3,LOW); //OPEN RELAY 2
- display.setTextSize(2); //SET LARGE TEXT ON OLED
- display.println("Fan ON"); //PRINT SYSTEM STATUS TO OLED BUFFER
- }
- else IF SYSTEM IS OFF
- {
- digitalWrite(2,LOW); //OPEN RELAY 1
- digitalWrite(3,LOW); //OPEN RELAY 2
- digitalWrite(5,LOW); //OPEN RELAY 3
- display.setTextSize(2); //SET LARGE TEXT ON OLED
- display.println("All OFF"); //PRINT SYSTEM STATUS TO OLED BUFFER
- }
- display.display(); //SHOW WHATS IN THE OLED BUFFER
- delay(100); //WAIT 100mS
- display.clearDisplay(); //CLEAR THE DISPLAY
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement