ruches 2
Dependencies: mbed Ruche-2 Temps HX711 DHT22 Sigfox GPS
main.cpp@1:25a290929b47, 2019-01-24 (annotated)
- 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?
User | Revision | Line number | New 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 | };*/ |