Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- #include <ArduinoJson.h>
- #define FAN_PIN 3
- #define LED_PIN 5
- #define SERVO_PIN 11
- enum msg {
- FAN,
- LED,
- DOOR
- };
- Servo door;
- void setup() {
- pinMode(FAN_PIN, OUTPUT);
- pinMode(LED_PIN, OUTPUT);
- analogWrite(FAN_PIN, 0);
- analogWrite(LED_PIN, 0);
- door.attach(SERVO_PIN);
- closeDoor();
- }
- void loop() {
- }
- void serialEvent()
- {
- StaticJsonDocument<20> doc;
- deserializeJson(doc, Serial);
- int act = doc["action"];
- switch(act) {
- case FAN: {
- int val = doc["state"];
- analogWrite(FAN_PIN, val);
- break;
- }
- case LED: {
- int val = doc["state"];
- analogWrite(LED_PIN, val);
- break;
- }
- case DOOR: {
- bool val = doc["state"];
- handleDoor(val);
- break;
- }
- }
- }
- void handleDoor(bool state) {
- if(state) {
- openDoor();
- } else {
- closeDoor();
- }
- }
- void openDoor() {
- door.write(110);
- }
- void closeDoor() {
- door.write(70);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement