Read the temperature and humidity from the sensor and print them.
Fork of Program2_TempAndHumidity by
Seeed_Arch_link_TempAndHumidity
Setup
- 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.
- The board mounts as a mass-storage device (like a USB drive). Verify that you can see it (drive name will be MBED).
- Go to http://developer.mbed.org
- Create an ARM mbed account if you do not have one.
- 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
- Go back to the compiler browser window and click F5 to refresh the page.
- Click the Import button, then click "Click Here to import from URL"
- Paste the URL https://developer.mbed.org/teams/znrobotics/code/Seeed_Arch_link_TempAndHumidity/
- Double click to open main.cpp
- We are trying to get the temperature and humidity from the sensor
- Try to finish the code under ' YOUR CODE HERE: read the temperature and humidity
- Now press Compile
- A file downloads ( Seeed_Arch_link_TempAndHumidity.hex)
- Drag the file to the 'MBED' disk
- After flashing, hit the 'Reset' button to start the program.
- With the program running successfully, we can see the temperature and humidity information printed on the terminal (CoolTerm / TeraTerm/ Putty)
main.cpp@3:f215a9bec026, 2016-05-28 (annotated)
- Committer:
- Maggie17
- Date:
- Sat May 28 06:35:00 2016 +0000
- Revision:
- 3:f215a9bec026
- Parent:
- 2:90b2eb3d14e6
- Child:
- 4:9e198fc36ab5
modify
Who changed what in which revision?
User | Revision | Line number | New 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 | 3:f215a9bec026 | 24 | // YOUR CODE HERE: read the temperature in FARENHEIT and KELVIN |
Maggie17 | 2:90b2eb3d14e6 | 25 | |
Maggie17 | 2:90b2eb3d14e6 | 26 | |
Maggie17 | 2:90b2eb3d14e6 | 27 | // read the humidity and do the calculation |
sam_grove | 0:c12c28a0f9e7 | 28 | h = sensor.ReadHumidity(); |
sam_grove | 0:c12c28a0f9e7 | 29 | dp = sensor.CalcdewPoint(c, h); |
sam_grove | 0:c12c28a0f9e7 | 30 | dpf = sensor.CalcdewPointFast(c, h); |
Maggie17 | 2:90b2eb3d14e6 | 31 | |
Maggie17 | 3:f215a9bec026 | 32 | // printf the temperature and the humidity |
sam_grove | 0:c12c28a0f9e7 | 33 | printf("Temperature in Kelvin: %4.2f, Celcius: %4.2f, Farenheit %4.2f\n", k, c, f); |
Maggie17 | 3:f215a9bec026 | 34 | printf("Humidity is %4.2f, Dewpoint: %4.2f, Dewpoint fast: %4.2f\n", h, dp, dpf); |
Maggie17 | 2:90b2eb3d14e6 | 35 | |
Maggie17 | 2:90b2eb3d14e6 | 36 | } else { // read unseccessfully |
sam_grove | 0:c12c28a0f9e7 | 37 | printf("Error: %d\n", error); |
sam_grove | 0:c12c28a0f9e7 | 38 | } |
sam_grove | 0:c12c28a0f9e7 | 39 | } |
sam_grove | 0:c12c28a0f9e7 | 40 | } |