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)

main.cpp

Committer:
Maggie17
Date:
2016-05-28
Revision:
2:90b2eb3d14e6
Parent:
0:c12c28a0f9e7
Child:
3:f215a9bec026

File content as of revision 2:90b2eb3d14e6:

#include "mbed.h"   // this tells us to load mbed related functions
#include "DHT.h"    // library for the Temp&Humidity sensor

DHT sensor(D4, DHT11); // used as an ouput for the sensor

// 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;

    // spin a main loop all the time
    while(1) {
        wait(2.0f);
        
        // read data from the sensor
        error = sensor.readData();
        
        // read successfully
        if (0 == error) {
            // read the temperature in CELCIUS
            c   = sensor.ReadTemperature(CELCIUS);
            
            // YOUR CODE HERE: read the temperature in FARENHEIT
            
            
            // YOUR CODE HERE: read the temperature in KELVIN
            
            
            // read the humidity and do the calculation
            h   = sensor.ReadHumidity();
            dp  = sensor.CalcdewPoint(c, h);
            dpf = sensor.CalcdewPointFast(c, h);
            
            // printf the temperature in Kelvin, Celcius and Farenheit
            printf("Temperature in Kelvin: %4.2f, Celcius: %4.2f, Farenheit %4.2f\n", k, c, f);
            
            // YOUR CODE HERE: printf the humidity, dewpoint and dewpoint fast
            
        } else {  // read unseccessfully
            printf("Error: %d\n", error);
        }
    }
}