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)
Committer:
mbedAustin
Date:
Sat May 28 08:42:28 2016 +0000
Revision:
6:3b1739d2a2c6
Parent:
5:176e1bc77ec2
Removed code for workshop purposes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Maggie17 2:90b2eb3d14e6 1 #include "mbed.h" // this tells us to load mbed related functions
mbedAustin 5:176e1bc77ec2 2 #include "DHT22.h"
mbedAustin 5:176e1bc77ec2 3 DHT22 dht22(p6);
sam_grove 0:c12c28a0f9e7 4
Maggie17 2:90b2eb3d14e6 5 // this code runs when the microcontroller starts up
sam_grove 0:c12c28a0f9e7 6 int main()
sam_grove 0:c12c28a0f9e7 7 {
sam_grove 0:c12c28a0f9e7 8 int error = 0;
mbedAustin 5:176e1bc77ec2 9 float temp, hum;
sam_grove 0:c12c28a0f9e7 10
Maggie17 2:90b2eb3d14e6 11 // spin a main loop all the time
sam_grove 0:c12c28a0f9e7 12 while(1) {
sam_grove 0:c12c28a0f9e7 13 wait(2.0f);
Maggie17 2:90b2eb3d14e6 14
Maggie17 2:90b2eb3d14e6 15 // read data from the sensor
mbedAustin 5:176e1bc77ec2 16 error = dht22.sample();
Maggie17 2:90b2eb3d14e6 17
Maggie17 2:90b2eb3d14e6 18 // read successfully
mbedAustin 5:176e1bc77ec2 19 if (1 == error) {
mbedAustin 5:176e1bc77ec2 20 // YOUR CODE GOES HERE, read temperature and humidity
mbedAustin 6:3b1739d2a2c6 21 temp = //TODO;
mbedAustin 6:3b1739d2a2c6 22 hum = //TODO;
mbedAustin 5:176e1bc77ec2 23 printf("temp: %2.2f , hum:%2.2f \r\n",temp,hum);
Maggie17 2:90b2eb3d14e6 24
Maggie17 2:90b2eb3d14e6 25 } else { // read unseccessfully
sam_grove 0:c12c28a0f9e7 26 printf("Error: %d\n", error);
sam_grove 0:c12c28a0f9e7 27 }
sam_grove 0:c12c28a0f9e7 28 }
sam_grove 0:c12c28a0f9e7 29 }