checkpoint

Dependencies:   mbed Servo mbed-rtos 4DGL-uLCD-SE DHT PinDetect BME280

Files at this revision

API Documentation at this revision

Comitter:
cx872
Date:
Sat May 01 23:21:58 2021 +0000
Parent:
12:c7c1603ec7fe
Commit message:
working version 0501

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r c7c1603ec7fe -r 6cb633e5010a main.cpp
--- a/main.cpp	Sat May 01 21:25:40 2021 +0000
+++ b/main.cpp	Sat May 01 23:21:58 2021 +0000
@@ -1,22 +1,25 @@
 #include "mbed.h"
-#include "DHT.h"
+//#include "DHT.h"
 #include "uLCD_4DGL.h"
 #include "rtos.h"
 #include "PinDetect.h"
 #include "Servo.h"
+#include "BME280.h"
 
 uLCD_4DGL lcd(p13,p14,p19); // serial tx, serial rx, reset pin;
-DHT dht(p18, DHT22);
-PinDetect bt1(p8);
+//DHT dht(p18, DHT22);
+PinDetect bt1(p5);
 PinDetect bt2(p7);
 PinDetect bt3(p6);
 Servo servo(p21);
 Mutex lcd_mutex;
-Serial blue(p28, p27);      //Bluetooth Module
+RawSerial blue(p28, p27);      //Bluetooth Module
+BME280 bme(p9, p10);
 
 
 float humidity;
-volatile float set_temp, curr_temp;
+volatile float set_temp;
+float curr_temp;
 volatile bool AC_on;
 
 // two interrupts for updating the set temperature
@@ -80,7 +83,7 @@
             if (blue.getc() == 's') {
                 if (blue.getc() == 'e') {
                     if (blue.getc() == 't') {
-//                        if (blue.getc() == ' ') {
+                        if (blue.getc() == ' ') {
                             printf("here!\n");
                             char msg[5];
                             msg[0] = blue.getc();
@@ -91,12 +94,13 @@
                             
                             sscanf(msg, "%f", &set_temp);
                             printf("%s", msg);
-//                        }
+
+                        }
                     }
                 }
             }
         }
-        Thread::yield();
+//        Thread::yield();
     }   
 }
 
@@ -142,17 +146,14 @@
     t2.start(&servo_control);
     t3.start(&bluetooth_control);
     
+    float temp_f;
     int code;
     
     // main thread, for updating temperature and humidity printouts on LCD
     while (1) {
-        code = dht.readData();  // error detection code for DHT22
-//        if (code != 0)
-//            continue;
-            
-//        printf("code=%d\n", code);
-        curr_temp = dht.ReadTemperature(CELCIUS);
-        humidity = dht.ReadHumidity();
+        curr_temp = bme.getTemperature();
+//        curr_temp = (temp_f - 32.0) * 5.0 / 9.0;
+        humidity = bme.getHumidity();
         
         lcd_mutex.lock();
             lcd.locate(5, 2);
@@ -161,7 +162,7 @@
             
             lcd.locate(0, 6);
             lcd.color(BLUE);
-            lcd.printf(" %.0f%%", humidity);
+            lcd.printf(" %.0f%% ", humidity);
         lcd_mutex.unlock();
         
         Thread::wait(2000);