Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed Servo mbed-rtos 4DGL-uLCD-SE DHT PinDetect BME280
Revision 13:6cb633e5010a, committed 2021-05-01
- 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 |
--- 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);