how to control a servo with temp & humidity
Dependencies: DHT22 Servo mbed
main.cpp
- Committer:
- Maggie17
- Date:
- 2016-05-28
- Revision:
- 6:14000499d474
- Parent:
- 5:86adb825bfd2
File content as of revision 6:14000499d474:
#include "mbed.h" // this tells us to load mbed related functions #include "Servo.h" // library for the Servo #include "DHT22.h" // library for the Temp&Humidity sensor DigitalOut myled(LED1); // used as an output for the sensor Servo myservo(p10); // p10 works, using other pins is possible too DHT22 sensor(p6); // the pin of the connected grove port Ticker fan; void fanFunction() { // YOUR CODE HERE: to reverse myservo between 0 and 1 } // this code runs when the microcontroller starts up int main() { bool status; float temp = 0; float hum = 0; // spin a main loop all the time while (1) { // led hearbeat myled = !myled; status = sensor.sample(); // sensor checksum successful if (status) { // printf the temperature and humidity from the sensor temp = sensor.getTemperature()/10.0f; hum = sensor.getHumidity()/10.0f; printf("Temperature is %f C \r\n", temp); printf("Humidity is %f \r\n", hum); // start fanning if temperature > 25C or humidity > 90% if(temp > 25 && hum > 80) { printf("Starting Fan! \r\n"); fan.attach(fanFunction,0.5); } else { printf("Stopping Fan! \r\n"); fan.detach(); } } else { // sensor checksum failed printf("Error reading sample \r\n"); } wait(2.0f); } }