Pierre-Yves FAISANT / Mbed 2 deprecated Projetv0

Dependencies:   mbed OneWire DHT22 TSL2561 SSD1306

main.cpp

Committer:
Pipou
Date:
2017-10-17
Revision:
7:7cbb4556e694
Parent:
6:998a618b5385

File content as of revision 7:7cbb4556e694:

#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,PA_7,PB_4,PB_3,PB_5); // OLED : CS,Reset,DC,Clock,Data

int main() {
    //OneWire Tem_S
    char _id[16];
    DeviceAddresses* devAddresses = Tem_S.getFoundDevAddresses();
    uint8_t foundNum = Tem_S.getFoundDevNum();
    
    //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) {
        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;     
            
            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
    }


}