This is a very basic (hopefully easily understandeable) program to send the data bits of a DHT11 temperature and humidity sensor through Nucleo UART. It is a simple step-by-step guide to build the program.

Dependencies:   mbed

Committer:
kaliczp
Date:
Tue Jan 06 00:10:33 2015 +0000
Revision:
3:6228ab73d420
Parent:
2:4469aa7f4995
Child:
4:62b680fac6ed
Make a function to initialize DHT11

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaliczp 0:e8a1a503d390 1 #include "mbed.h"
kaliczp 0:e8a1a503d390 2
kaliczp 2:4469aa7f4995 3 DigitalOut myled(LED1); // Activate LED
kaliczp 2:4469aa7f4995 4 DigitalIn mybutton(USER_BUTTON); // Activate button
kaliczp 2:4469aa7f4995 5 DigitalInOut data_pin(A0); // Activate digital in
kaliczp 0:e8a1a503d390 6
kaliczp 3:6228ab73d420 7 // Function to initialize DHT11
kaliczp 3:6228ab73d420 8 void dht_read(void) {
kaliczp 3:6228ab73d420 9 data_pin.output(); // Set A0 as output
kaliczp 3:6228ab73d420 10 // Initialize measurement > 18 ms low
kaliczp 3:6228ab73d420 11 data_pin = 0;
kaliczp 3:6228ab73d420 12 wait_ms(20);
kaliczp 3:6228ab73d420 13 // After high and release the pin switch input mode
kaliczp 3:6228ab73d420 14 data_pin = 1;
kaliczp 3:6228ab73d420 15 data_pin.input();
kaliczp 3:6228ab73d420 16 }
kaliczp 3:6228ab73d420 17
kaliczp 0:e8a1a503d390 18 int main() {
kaliczp 0:e8a1a503d390 19 while(1) {
kaliczp 1:c0c5b5860aa8 20 if (mybutton == 0) { // Button is pressed
kaliczp 1:c0c5b5860aa8 21 myled = 1; // LED is ON
kaliczp 3:6228ab73d420 22 dht_read(); // Call the function
kaliczp 2:4469aa7f4995 23 wait_ms(200); // Wait 0.2 sec till continue.
kaliczp 1:c0c5b5860aa8 24 } else {
kaliczp 1:c0c5b5860aa8 25 myled = 0; // LED is OFF
kaliczp 1:c0c5b5860aa8 26 }
kaliczp 0:e8a1a503d390 27 }
kaliczp 0:e8a1a503d390 28 }