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 OneWire DHT22 TSL2561 SSD1306
main.cpp
- Committer:
- pgeorge
- Date:
- 2017-10-17
- Revision:
- 8:2ba90555552e
- Parent:
- 6:998a618b5385
- Child:
- 9:6ef06c9e2bab
File content as of revision 8:2ba90555552e:
#include "mbed.h"
#include "OneWire.h"
#include "TSL2561.h"
#include "DHT22.h"
#include "ssd1306.h"
#include "standard_font.h"
#include "bold_font.h"
//Déclaration variables
TSL2561 Lum(PB_7,PB_6); // Luminosité (I2C:SDA,SCL)
DHT22 Tem_Hum_A(PA_11); // Température & Humidité air
OneWire Tem_S(PA_8); // Température sol
AnalogIn Hum_S(PA_0); // Huminidité sol
Serial pc(PA_2,PA_3); //Serial : Tx,Rx
SSD1306 oled(PB_0,PB_4,PB_5,PA_5,PA_7); // OLED : CS,Reset,DC,Clock,Data
int main() {
//OneWire Tem_S
I2C i2c(PB_7,PB_6);
char _id[16];
DeviceAddresses* devAddresses = Tem_S.getFoundDevAddresses();
uint8_t foundNum = Tem_S.getFoundDevNum();
SPI spi(PA_7,NC, PA_5);
//OLED
oled.initialise();
oled.clear();
oled.set_contrast(255); // max contrast
oled.set_font(bold_font, 8);
oled.printf("Heading\r\n");
oled.set_font(standard_font, 6);
oled.printf("Hello World!\r\n");
oled.printf("Some more text here..");
oled.update();
while(1) {
I2C i2c(PB_7,PB_6);
OneWireDeviceTemperature::startConversationForAll(&Tem_S, OWTEMP_11_BIT);
for (uint8_t i = 0; i < foundNum; i++) {
OneWireDevice* owDevice = OneWireDeviceFactory::init(&Tem_S, (*devAddresses)[i]);
if (owDevice->getFamily() != ONEWIRE_DS18B20_FAMILY) // currently only DS18B20 supports
continue;
owDevice->generateId(_id);
Tem_Hum_A.sample();
float Lumux = Lum.lux();
float Temp_Air = Tem_Hum_A.getTemperature()/10.0;
float Hum_Air = Tem_Hum_A.getHumidity()/10.0;
float Temp_Sol = owDevice->sendGetCommand(GET_TEMPERATURE);
float Hum_Sol = Hum_S.read();
printf( "Lum: %f \tTemp_A: %f \tHum_A: %f \tTemp_S: %f \tHum_S: %f\r\n", Lumux, Temp_Air, Hum_Air, Temp_Sol, Hum_Sol);
delete owDevice;
SPI spi(PA_7,NC, PA_5);
wait(2);
oled.set_font(bold_font, 8);
oled.printf("Capteurs\r\n");
oled.printf("\r\n");
oled.set_font(standard_font, 6);
oled.printf("Lum: %f\r\n", Lumux);
oled.printf("Temp_A: %f\r\n", Temp_Air);
oled.printf("Hum_A: %f\r\n", Hum_Air);
oled.printf("Temp_S: %f\r\n",Temp_Sol);
oled.printf("Hum_S: %f\r\n", Hum_Sol);
oled.printf("\r\n");
oled.update();
}
//wait(5); // Frenquence : 200Hz
}
}
