ruches 2

Dependencies:   mbed Ruche-2 Temps HX711 DHT22 Sigfox GPS

Committer:
Sidibe
Date:
Thu Jan 24 13:08:02 2019 +0000
Revision:
1:25a290929b47
Parent:
0:126a8e290bd5
Child:
2:5ad0b13c8157
projet super

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sidibe 0:126a8e290bd5 1 #include "mbed.h"
Sidibe 0:126a8e290bd5 2 #include <iostream>
Sidibe 0:126a8e290bd5 3 #include <vector>
Sidibe 0:126a8e290bd5 4 #include "sigfox.h"
Sidibe 0:126a8e290bd5 5 #include "SoftSerial.h"
Sidibe 0:126a8e290bd5 6 #include "message_1.h"
Sidibe 0:126a8e290bd5 7 #include "message_2.h"
Sidibe 0:126a8e290bd5 8 #include "DHT22.h"
Sidibe 0:126a8e290bd5 9 #include "HX711.h"
Sidibe 0:126a8e290bd5 10 #include "DS1820.h"
Sidibe 0:126a8e290bd5 11
Sidibe 0:126a8e290bd5 12 using namespace std;
Sidibe 0:126a8e290bd5 13
Sidibe 0:126a8e290bd5 14 void mesureTempExtHumidite(int &humidite, float &temperature);
Sidibe 0:126a8e290bd5 15 void mesureTempInt(float &temperatureInt);
Sidibe 0:126a8e290bd5 16 void mesureMasse(float &masse, long valeurTare);
Sidibe 0:126a8e290bd5 17 void mesureGps(float &longit, float &lat);
Sidibe 0:126a8e290bd5 18 DigitalOut myled(D2);
Sidibe 0:126a8e290bd5 19 //Serial sc(SERIAL_TX, SERIAL_RX, 9600);
Sidibe 0:126a8e290bd5 20 //Serial device(PA_9, PA_10);
Sidibe 0:126a8e290bd5 21 DHT22 dht22(D3);
Sidibe 0:126a8e290bd5 22 HX711 Balance(D12,D11);
Sidibe 0:126a8e290bd5 23 DS1820 probe = A6;
Sidibe 0:126a8e290bd5 24
Sidibe 0:126a8e290bd5 25 //SoftSerial device(D3, D4);
Sidibe 0:126a8e290bd5 26 //Serial sc2(D5, D4);
Sidibe 0:126a8e290bd5 27
Sidibe 0:126a8e290bd5 28
Sidibe 0:126a8e290bd5 29 int main() {
Sidibe 0:126a8e290bd5 30 // device.baud(9600);
Sidibe 0:126a8e290bd5 31 //sc.printf("---New start ---\n");
Sidibe 0:126a8e290bd5 32 // while (!device.writeable()) { }
Sidibe 0:126a8e290bd5 33 //sc.printf("coucou 1 \n");
Sidibe 0:126a8e290bd5 34
Sidibe 0:126a8e290bd5 35 /* device.printf("AT\r");;
Sidibe 0:126a8e290bd5 36 char a = device.getc();
Sidibe 0:126a8e290bd5 37 char b = device.getc();
Sidibe 0:126a8e290bd5 38 sc.printf("%c%c \n", a, b);
Sidibe 0:126a8e290bd5 39 sc.printf("%c", device.getc());
Sidibe 0:126a8e290bd5 40 */
Sidibe 0:126a8e290bd5 41 float longit = 12.3, lat = 18.6;
Sidibe 0:126a8e290bd5 42 int humidite= 18;
Sidibe 0:126a8e290bd5 43 float temperatureExt = 12;
Sidibe 0:126a8e290bd5 44 float temperatureInt = 15;
Sidibe 0:126a8e290bd5 45
Sidibe 0:126a8e290bd5 46 long valeur;
Sidibe 0:126a8e290bd5 47 long valeurTare ;
Sidibe 0:126a8e290bd5 48 float masse;
Sidibe 0:126a8e290bd5 49
Sidibe 0:126a8e290bd5 50 valeurTare = Balance.getValue();
Sidibe 0:126a8e290bd5 51 probe.search_ROM();
Sidibe 0:126a8e290bd5 52 char temp;
Sidibe 0:126a8e290bd5 53 while(1) {
Sidibe 0:126a8e290bd5 54 mesureTempExtHumidite(humidite, temperatureExt);
Sidibe 0:126a8e290bd5 55 mesureMasse(masse, valeurTare);
Sidibe 0:126a8e290bd5 56 mesureTempInt(temperatureInt);
Sidibe 0:126a8e290bd5 57 //sc.printf("temperature externe: %.2f humidity: %d temperature interne: %.2f \n\r",temperatureExt, humidite, temperatureInt);
Sidibe 0:126a8e290bd5 58 //sc.printf("masse: %f\n\r", masse);
Sidibe 0:126a8e290bd5 59
Sidibe 0:126a8e290bd5 60 Message_1 msg1(1, temperatureExt, temperatureInt, humidite, masse);
Sidibe 0:126a8e290bd5 61 msg1.send();
Sidibe 0:126a8e290bd5 62
Sidibe 1:25a290929b47 63 wait(20);
Sidibe 0:126a8e290bd5 64 }
Sidibe 0:126a8e290bd5 65 }
Sidibe 0:126a8e290bd5 66
Sidibe 0:126a8e290bd5 67 void mesureTempExtHumidite(int &humidite, float &temperatureExt){
Sidibe 0:126a8e290bd5 68 dht22.sample() ;
Sidibe 0:126a8e290bd5 69 humidite=dht22.getHumidity()/10.0;
Sidibe 0:126a8e290bd5 70 temperatureExt=dht22.getTemperature()/10.0;
Sidibe 0:126a8e290bd5 71 // humidite = 57;
Sidibe 0:126a8e290bd5 72 // temperatureExt = 17;
Sidibe 0:126a8e290bd5 73 };
Sidibe 0:126a8e290bd5 74
Sidibe 0:126a8e290bd5 75 void mesureMasse(float &masse, long valeurTare){
Sidibe 0:126a8e290bd5 76 wait_ms(200); // Attente de 200 millisecondes
Sidibe 0:126a8e290bd5 77 float valeur = Balance.getValue(); // On récupère la valeur du module
Sidibe 0:126a8e290bd5 78 masse = ((double)valeur-(double)valeurTare)/11200;
Sidibe 0:126a8e290bd5 79 };
Sidibe 0:126a8e290bd5 80
Sidibe 0:126a8e290bd5 81 void mesureTempInt(float &temperatureInt){
Sidibe 0:126a8e290bd5 82 probe.convert_temperature(DS1820::all_devices);
Sidibe 0:126a8e290bd5 83 temperatureInt = probe.temperature('c');
Sidibe 0:126a8e290bd5 84 };
Sidibe 0:126a8e290bd5 85
Sidibe 0:126a8e290bd5 86 void mesureGps(float &longit, float &lat){
Sidibe 0:126a8e290bd5 87 };
Sidibe 0:126a8e290bd5 88
Sidibe 0:126a8e290bd5 89 /*bool sendMessageToSigfox(Vector<Message*> msg){
Sidibe 0:126a8e290bd5 90 for(int i =0; i<msg.size(); i++){
Sidibe 0:126a8e290bd5 91 msg[i].send();
Sidibe 0:126a8e290bd5 92 wait_ms(100);
Sidibe 0:126a8e290bd5 93 };
Sidibe 0:126a8e290bd5 94 };*/