Programme d'une sonde de température DHT 11 associée à de la sauvegarde de données sur clé USB et à l'affichage de ces données sur afficheur LCD
Dependencies: FatFileSystemCpp mbed
main.cpp
- Committer:
- Fanta025
- Date:
- 2015-06-02
- Revision:
- 0:ed0b4e66d2ad
File content as of revision 0:ed0b4e66d2ad:
#include "mbed.h" #include "MSCFileSystem.h" #include "DHT.h" #include "TextLCD.h" Ticker timer_5s; MSCFileSystem msc("usb"); // Mount flash drive under the name "msc" Serial pc(USBTX,USBRX); DigitalOut led(LED1); DigitalOut rw(p13); DHT sensor(p10, DHT11); TextLCD lcd(p12, p14, p15, p16, p17, p18, TextLCD::LCD16x2); void attime() { led = !led; } int main() { rw=0; led =0; unsigned char data[120*160]; // Test array of data timer_5s.attach(&attime, 10); int error = 0; //float h = 0.0f, c = 0.0f, f = 0.0f, k = 0.0f, dp = 0.0f, dpf = 0.0f; float h = 0.0f, c = 0.0f; while(1) { wait(2.0f); error = sensor.readData(); if (0 == error) { c = sensor.ReadTemperature(CELCIUS); h = sensor.ReadHumidity(); lcd.locate(0,0); lcd.printf("Temp : %4.2f\n", c); lcd.locate(0,1); lcd.printf("Humid : %4.2f\n", h); // lcd.printf("Humidity is %4.2f, Dewpoint: %4.2f, Dewpoint fast: %4.2f\n", h, dp, dpf); } else { lcd.printf("Error: %d\n", error); } if (led==1) { wait(0.2); // Fill the data with values for (int i=0; i<120*160; i++) { data[i] = 0xAA; // Fill array with data } // Create timers // Timer Write_time, Read_time; // Write_time.start(); // Write to local file FILE *fp = fopen( "/usb/Mesures.txt", "a"); for (int i=0; i<1; i++) { //fprintf(fp, "%c",data[i]); fprintf(fp, "Temp : %4.2f\n - ",c,data[0]); fprintf(fp, "Humid : %4.2f\n\r\n", h,data[0]); } fclose(fp); led=0; } } // Write_time.stop(); // pc.printf("\n\rTime taken so write array = %f seconds",Write_time.read()); }