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.
main.cpp@1:4be4b811b40e, 2022-01-03 (annotated)
- Committer:
- rollman
- Date:
- Mon Jan 03 02:41:25 2022 +0000
- Revision:
- 1:4be4b811b40e
- Parent:
- 0:fcddd87b788e
initial commit;
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| rollman | 0:fcddd87b788e | 1 | #include "mbed.h" |
| rollman | 0:fcddd87b788e | 2 | #include "CCS811.h" |
| rollman | 1:4be4b811b40e | 3 | #include "DHT.h" |
| rollman | 0:fcddd87b788e | 4 | |
| rollman | 1:4be4b811b40e | 5 | eType partname = DHT11; |
| rollman | 1:4be4b811b40e | 6 | eScale tmp_fmt = CELCIUS; |
| rollman | 1:4be4b811b40e | 7 | Serial m_pc(USBTX, USBRX); |
| rollman | 0:fcddd87b788e | 8 | |
| rollman | 0:fcddd87b788e | 9 | int main() { |
| rollman | 0:fcddd87b788e | 10 | m_pc.baud(9600); |
| rollman | 0:fcddd87b788e | 11 | |
| rollman | 1:4be4b811b40e | 12 | DHT dht(p26, partname); |
| rollman | 1:4be4b811b40e | 13 | |
| rollman | 0:fcddd87b788e | 14 | I2C i2c_ccs811(p28, p27); |
| rollman | 0:fcddd87b788e | 15 | // i2c_ccs811.frequency(100000); |
| rollman | 0:fcddd87b788e | 16 | CCS811 ccs(i2c_ccs811, m_pc); |
| rollman | 0:fcddd87b788e | 17 | |
| rollman | 0:fcddd87b788e | 18 | { |
| rollman | 0:fcddd87b788e | 19 | char res = ccs.init(); |
| rollman | 0:fcddd87b788e | 20 | if (res != 0) printerr(m_pc, res); |
| rollman | 0:fcddd87b788e | 21 | } |
| rollman | 0:fcddd87b788e | 22 | |
| rollman | 0:fcddd87b788e | 23 | { |
| rollman | 0:fcddd87b788e | 24 | char status = ccs.readStatus(); |
| rollman | 0:fcddd87b788e | 25 | if (status & 0x01){ |
| rollman | 0:fcddd87b788e | 26 | char errid = ccs.readErr(); |
| rollman | 0:fcddd87b788e | 27 | printerr_reg1(m_pc, errid); |
| rollman | 0:fcddd87b788e | 28 | } |
| rollman | 0:fcddd87b788e | 29 | } |
| rollman | 0:fcddd87b788e | 30 | m_pc.printf("Init Done\r\n"); |
| rollman | 0:fcddd87b788e | 31 | |
| rollman | 0:fcddd87b788e | 32 | uint16_t co2, tvoc; |
| rollman | 0:fcddd87b788e | 33 | while(1) { |
| rollman | 1:4be4b811b40e | 34 | wait(3); |
| rollman | 1:4be4b811b40e | 35 | int dhtres; |
| rollman | 1:4be4b811b40e | 36 | if ((dhtres = dht.readData()) != 0){ |
| rollman | 1:4be4b811b40e | 37 | m_pc.printf("ERROR when reading DHT11: %d\r\n", dhtres); |
| rollman | 1:4be4b811b40e | 38 | continue; |
| rollman | 1:4be4b811b40e | 39 | } |
| rollman | 1:4be4b811b40e | 40 | float celsius = dht.ReadTemperature(tmp_fmt); |
| rollman | 1:4be4b811b40e | 41 | float humidity = dht.ReadHumidity(); |
| rollman | 1:4be4b811b40e | 42 | m_pc.printf("DEBUG: celsius = %f, humidity = %f\r\n", celsius, humidity); |
| rollman | 1:4be4b811b40e | 43 | ccs.setEnvironment(celsius, humidity); |
| rollman | 0:fcddd87b788e | 44 | while(!ccs.readStatus() & 0x08); // wait for DATA_READY |
| rollman | 1:4be4b811b40e | 45 | int err; |
| rollman | 1:4be4b811b40e | 46 | if((err = ccs.readData(&co2, &tvoc)) != 0){ |
| rollman | 1:4be4b811b40e | 47 | printerr(m_pc, err); |
| rollman | 1:4be4b811b40e | 48 | continue; |
| rollman | 1:4be4b811b40e | 49 | } |
| rollman | 0:fcddd87b788e | 50 | m_pc.printf("%d %d\r\n", co2, tvoc); |
| rollman | 0:fcddd87b788e | 51 | } |
| rollman | 0:fcddd87b788e | 52 | } |