Advertisement
Ayush1325

Arduino Uno

Feb 1st, 2021
1,437
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <Servo.h>
  2. #include <ArduinoJson.h>
  3.  
  4. #define FAN_PIN 3
  5. #define LED_PIN 5
  6. #define SERVO_PIN 11
  7.  
  8. enum msg {
  9.   FAN,
  10.   LED,
  11.   DOOR  
  12. };
  13.  
  14. Servo door;
  15.  
  16. void setup() {
  17.   pinMode(FAN_PIN, OUTPUT);
  18.   pinMode(LED_PIN, OUTPUT);
  19.  
  20.   analogWrite(FAN_PIN, 0);
  21.   analogWrite(LED_PIN, 0);
  22.  
  23.   door.attach(SERVO_PIN);
  24.   closeDoor();
  25. }
  26.  
  27. void loop() {
  28.  
  29. }
  30.  
  31. void serialEvent()
  32. {
  33.   StaticJsonDocument<20> doc;
  34.   deserializeJson(doc, Serial);
  35.   int act = doc["action"];
  36.   switch(act) {
  37.     case FAN: {
  38.       int val = doc["state"];
  39.       analogWrite(FAN_PIN, val);
  40.       break;
  41.     }
  42.      case LED: {
  43.       int val = doc["state"];
  44.       analogWrite(LED_PIN, val);
  45.       break;
  46.      }
  47.      case DOOR: {
  48.       bool val = doc["state"];
  49.       handleDoor(val);
  50.       break;
  51.      }
  52.   }
  53. }
  54.  
  55. void handleDoor(bool state) {
  56.   if(state) {
  57.     openDoor();
  58.   } else {
  59.     closeDoor();
  60.   }
  61. }
  62.  
  63. void openDoor() {
  64.   door.write(110);  
  65. }
  66.  
  67. void closeDoor() {
  68.   door.write(70);
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement