====== Servo näidis ====== Servomootor peab olema ühendatud anduri mooduliga. Oluline on jälgida, et servomootor oleks õigesti ühendatud. Õige ühendamise viis on näha allolevalt pildilt: {{:en:iot:examples:servopicture1.jpg?200|}} {{:en:iot:examples:servopicture2.jpg?200|}} Vajaminevad teegid: lib_deps = ITTIoT /* * IoT Servo example * * This example subscribe to the "servo" topic. When a message received, then it * change servo position * * Created 11 Sept 2017 by Heiko Pikner */ // Includes global variables and librarys that the servo motor uses #include #include #include #define MODULE_TOPIC "ESP30/servo" #define WIFI_NAME "name" #define WIFI_PASSWORD "password" //Pin definition for the Servo (D3) #define SERVO_PIN D3 Servo myservo; // create servo object to control a servo // Change the servo position (value between 0 and 180) when a message has been received // mosquitto_pub -u test -P test -t "RL/esp-{ESP-ID}/servo" -m "51" = this calls servo motor to change position void iot_received(String topic, String msg) { Serial.print("MSG FROM USER callback, topic: "); Serial.print(topic); Serial.print(" payload: "); Serial.println(msg); if(topic == MODULE_TOPIC) { myservo.write(msg.toInt()); } } // Function started after the connection to the server is established void iot_connected() { Serial.println("MQTT connected callback"); iot.subscribe(MODULE_TOPIC); // Subscribe to the topic "servo" iot.log("IoT Servo example!"); } void setup() { Serial.begin(115200); // Setting up serial connection parameter Serial.println("Booting"); //iot.setConfig("wname", WIFI_NAME); //iot.setConfig("wpass", WIFI_PASSWORD); iot.printConfig(); // Print json config to serial iot.setup(); // Initialize IoT library myservo.attach(SERVO_PIN); // Setting the servo control pin } void loop() { iot.handle(); // IoT behind the plan work, it should be periodically called }