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:
Maggie17
Date:
Sat May 28 04:22:38 2016 +0000
Revision:
2:90b2eb3d14e6
Parent:
0:c12c28a0f9e7
Child:
3:f215a9bec026
add the comments

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
Maggie17 2:90b2eb3d14e6 2 #include "DHT.h" // library for the Temp&Humidity sensor
sam_grove 0:c12c28a0f9e7 3
Maggie17 2:90b2eb3d14e6 4 DHT sensor(D4, DHT11); // used as an ouput for the sensor
sam_grove 0:c12c28a0f9e7 5
Maggie17 2:90b2eb3d14e6 6 // this code runs when the microcontroller starts up
sam_grove 0:c12c28a0f9e7 7 int main()
sam_grove 0:c12c28a0f9e7 8 {
sam_grove 0:c12c28a0f9e7 9 int error = 0;
sam_grove 0:c12c28a0f9e7 10 float h = 0.0f, c = 0.0f, f = 0.0f, k = 0.0f, dp = 0.0f, dpf = 0.0f;
sam_grove 0:c12c28a0f9e7 11
Maggie17 2:90b2eb3d14e6 12 // spin a main loop all the time
sam_grove 0:c12c28a0f9e7 13 while(1) {
sam_grove 0:c12c28a0f9e7 14 wait(2.0f);
Maggie17 2:90b2eb3d14e6 15
Maggie17 2:90b2eb3d14e6 16 // read data from the sensor
sam_grove 0:c12c28a0f9e7 17 error = sensor.readData();
Maggie17 2:90b2eb3d14e6 18
Maggie17 2:90b2eb3d14e6 19 // read successfully
sam_grove 0:c12c28a0f9e7 20 if (0 == error) {
Maggie17 2:90b2eb3d14e6 21 // read the temperature in CELCIUS
sam_grove 0:c12c28a0f9e7 22 c = sensor.ReadTemperature(CELCIUS);
Maggie17 2:90b2eb3d14e6 23
Maggie17 2:90b2eb3d14e6 24 // YOUR CODE HERE: read the temperature in FARENHEIT
Maggie17 2:90b2eb3d14e6 25
Maggie17 2:90b2eb3d14e6 26
Maggie17 2:90b2eb3d14e6 27 // YOUR CODE HERE: read the temperature in KELVIN
Maggie17 2:90b2eb3d14e6 28
Maggie17 2:90b2eb3d14e6 29
Maggie17 2:90b2eb3d14e6 30 // read the humidity and do the calculation
sam_grove 0:c12c28a0f9e7 31 h = sensor.ReadHumidity();
sam_grove 0:c12c28a0f9e7 32 dp = sensor.CalcdewPoint(c, h);
sam_grove 0:c12c28a0f9e7 33 dpf = sensor.CalcdewPointFast(c, h);
Maggie17 2:90b2eb3d14e6 34
Maggie17 2:90b2eb3d14e6 35 // printf the temperature in Kelvin, Celcius and Farenheit
sam_grove 0:c12c28a0f9e7 36 printf("Temperature in Kelvin: %4.2f, Celcius: %4.2f, Farenheit %4.2f\n", k, c, f);
Maggie17 2:90b2eb3d14e6 37
Maggie17 2:90b2eb3d14e6 38 // YOUR CODE HERE: printf the humidity, dewpoint and dewpoint fast
Maggie17 2:90b2eb3d14e6 39
Maggie17 2:90b2eb3d14e6 40 } else { // read unseccessfully
sam_grove 0:c12c28a0f9e7 41 printf("Error: %d\n", error);
sam_grove 0:c12c28a0f9e7 42 }
sam_grove 0:c12c28a0f9e7 43 }
sam_grove 0:c12c28a0f9e7 44 }