Read the temperature and humidity from the sensor and print them.

Dependencies:   DHT22 mbed

Fork of Program2_TempAndHumidity by Robotics Kit Workshop

Seeed_Arch_link_TempAndHumidity

Setup

  1. Connect the Temperature sensor as well as the Servo to the Seeeduino-Arch-Link board, and then connect the board to you PC using the micro-USB cable.
  2. The board mounts as a mass-storage device (like a USB drive). Verify that you can see it (drive name will be MBED).
  3. Go to http://developer.mbed.org
  4. Create an ARM mbed account if you do not have one.
  5. On the top right corner, click the Compiler button.

An IDE should open. Congratulations!

On Windows: To see debug messages, install the serial driver.

Debug messages: We can talk to the board via a serial port, but you might need some software. Read this doc and install required software (like PuTTY or CoolTermon Windows).

Locally: If you like things locally, you can do so by exporting to a supported toolchain.

I very much recommend to just use the online IDE, as it makes it easier for us, but if you want to continue hacking in the future, this is a nice way.

Seeed_Arch_link_TempAndHumidity

  1. Go back to the compiler browser window and click F5 to refresh the page.
  2. Click the Import button, then click "Click Here to import from URL"
  3. Paste the URL https://developer.mbed.org/teams/znrobotics/code/Seeed_Arch_link_TempAndHumidity/
  4. Double click to open main.cpp
  5. We are trying to get the temperature and humidity from the sensor
  6. Try to finish the code under ' YOUR CODE HERE: read the temperature and humidity
  1. Now press Compile
  2. A file downloads ( Seeed_Arch_link_TempAndHumidity.hex)
  3. Drag the file to the 'MBED' disk
  4. After flashing, hit the 'Reset' button to start the program.
  5. With the program running successfully, we can see the temperature and humidity information printed on the terminal (CoolTerm / TeraTerm/ Putty)
Revision:
5:176e1bc77ec2
Parent:
4:9e198fc36ab5
Child:
6:3b1739d2a2c6
--- a/main.cpp	Sat May 28 07:27:23 2016 +0000
+++ b/main.cpp	Sat May 28 08:41:37 2016 +0000
@@ -1,37 +1,26 @@
 #include "mbed.h"   // this tells us to load mbed related functions
-#include "DHT.h"    // library for the Temp&Humidity sensor
-
-DHT sensor(p6, DHT11); // used as an ouput for the sensor
+#include "DHT22.h"
+DHT22 dht22(p6);
 
 // this code runs when the microcontroller starts up
 int main()
 {
     int error = 0;
-    float h = 0.0f, c = 0.0f, f = 0.0f, k = 0.0f, dp = 0.0f, dpf = 0.0f;
+    float temp, hum;
 
     // spin a main loop all the time
     while(1) {
         wait(2.0f);
         
         // read data from the sensor
-        error = sensor.readData();
+        error = dht22.sample();
         
         // read successfully
-        if (0 == error) {
-            // read the temperature in CELCIUS
-            c   = sensor.ReadTemperature(CELCIUS);
-            
-            // YOUR CODE HERE: read the temperature in FARENHEIT and KELVIN
-            
-            
-            // read the humidity and do the calculation
-            h   = sensor.ReadHumidity();
-            dp  = sensor.CalcdewPoint(c, h);
-            dpf = sensor.CalcdewPointFast(c, h);
-            
-            // printf the temperature and the humidity 
-            printf("Temperature in Kelvin: %4.2f, Celcius: %4.2f, Farenheit %4.2f\n", k, c, f);
-            printf("Humidity is %4.2f, Dewpoint: %4.2f, Dewpoint fast: %4.2f\n", h, dp, dpf);
+        if (1 == error) {
+            // YOUR CODE GOES HERE, read temperature and humidity
+            temp = dht22.getTemperature()/10.0;
+            hum = dht22.getHumidity()/10.0;
+            printf("temp: %2.2f  , hum:%2.2f    \r\n",temp,hum);
             
         } else {  // read unseccessfully
             printf("Error: %d\n", error);