ruches 2
Dependencies: mbed Ruche-2 Temps HX711 DHT22 Sigfox GPS
main.cpp@3:fe4b3bfd2237, 2019-02-03 (annotated)
- Committer:
- mohayonor
- Date:
- Sun Feb 03 20:27:56 2019 +0000
- Revision:
- 3:fe4b3bfd2237
- Parent:
- 2:5ad0b13c8157
all;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mohayonor | 2:5ad0b13c8157 | 1 | |
Sidibe | 0:126a8e290bd5 | 2 | #include "mbed.h" |
Sidibe | 0:126a8e290bd5 | 3 | #include <iostream> |
Sidibe | 0:126a8e290bd5 | 4 | #include <vector> |
Sidibe | 0:126a8e290bd5 | 5 | #include "sigfox.h" |
Sidibe | 0:126a8e290bd5 | 6 | #include "SoftSerial.h" |
Sidibe | 0:126a8e290bd5 | 7 | #include "message_1.h" |
Sidibe | 0:126a8e290bd5 | 8 | #include "message_2.h" |
Sidibe | 0:126a8e290bd5 | 9 | #include "DHT22.h" |
Sidibe | 0:126a8e290bd5 | 10 | #include "HX711.h" |
Sidibe | 0:126a8e290bd5 | 11 | #include "DS1820.h" |
mohayonor | 2:5ad0b13c8157 | 12 | #include "temps.h" |
mohayonor | 2:5ad0b13c8157 | 13 | #include "gps.h" |
Sidibe | 0:126a8e290bd5 | 14 | |
Sidibe | 0:126a8e290bd5 | 15 | using namespace std; |
Sidibe | 0:126a8e290bd5 | 16 | |
mohayonor | 2:5ad0b13c8157 | 17 | |
mohayonor | 2:5ad0b13c8157 | 18 | |
mohayonor | 2:5ad0b13c8157 | 19 | |
Sidibe | 0:126a8e290bd5 | 20 | void mesureTempExtHumidite(int &humidite, float &temperature); |
Sidibe | 0:126a8e290bd5 | 21 | void mesureTempInt(float &temperatureInt); |
Sidibe | 0:126a8e290bd5 | 22 | void mesureMasse(float &masse, long valeurTare); |
mohayonor | 2:5ad0b13c8157 | 23 | void mesureGps(float &longit, float &lati); |
mohayonor | 2:5ad0b13c8157 | 24 | |
mohayonor | 2:5ad0b13c8157 | 25 | |
Sidibe | 0:126a8e290bd5 | 26 | //Serial sc(SERIAL_TX, SERIAL_RX, 9600); |
Sidibe | 0:126a8e290bd5 | 27 | //Serial device(PA_9, PA_10); |
mohayonor | 2:5ad0b13c8157 | 28 | Serial pc (USBTX , USBRX); |
Sidibe | 0:126a8e290bd5 | 29 | DHT22 dht22(D3); |
Sidibe | 0:126a8e290bd5 | 30 | HX711 Balance(D12,D11); |
Sidibe | 0:126a8e290bd5 | 31 | DS1820 probe = A6; |
Sidibe | 0:126a8e290bd5 | 32 | |
Sidibe | 0:126a8e290bd5 | 33 | //SoftSerial device(D3, D4); |
Sidibe | 0:126a8e290bd5 | 34 | //Serial sc2(D5, D4); |
Sidibe | 0:126a8e290bd5 | 35 | |
Sidibe | 0:126a8e290bd5 | 36 | |
Sidibe | 0:126a8e290bd5 | 37 | int main() { |
Sidibe | 0:126a8e290bd5 | 38 | // device.baud(9600); |
Sidibe | 0:126a8e290bd5 | 39 | //sc.printf("---New start ---\n"); |
Sidibe | 0:126a8e290bd5 | 40 | // while (!device.writeable()) { } |
Sidibe | 0:126a8e290bd5 | 41 | //sc.printf("coucou 1 \n"); |
Sidibe | 0:126a8e290bd5 | 42 | |
Sidibe | 0:126a8e290bd5 | 43 | /* device.printf("AT\r");; |
Sidibe | 0:126a8e290bd5 | 44 | char a = device.getc(); |
Sidibe | 0:126a8e290bd5 | 45 | char b = device.getc(); |
Sidibe | 0:126a8e290bd5 | 46 | sc.printf("%c%c \n", a, b); |
Sidibe | 0:126a8e290bd5 | 47 | sc.printf("%c", device.getc()); |
Sidibe | 0:126a8e290bd5 | 48 | */ |
mohayonor | 2:5ad0b13c8157 | 49 | |
mohayonor | 2:5ad0b13c8157 | 50 | tempVeille.attach(activeVeille, 50.0f); |
mohayonor | 2:5ad0b13c8157 | 51 | |
mohayonor | 2:5ad0b13c8157 | 52 | float lat,lon; |
mohayonor | 2:5ad0b13c8157 | 53 | float longit = 12.3, lati = 18.6; |
Sidibe | 0:126a8e290bd5 | 54 | int humidite= 18; |
Sidibe | 0:126a8e290bd5 | 55 | float temperatureExt = 12; |
Sidibe | 0:126a8e290bd5 | 56 | float temperatureInt = 15; |
Sidibe | 0:126a8e290bd5 | 57 | |
Sidibe | 0:126a8e290bd5 | 58 | long valeur; |
Sidibe | 0:126a8e290bd5 | 59 | long valeurTare ; |
Sidibe | 0:126a8e290bd5 | 60 | float masse; |
Sidibe | 0:126a8e290bd5 | 61 | |
Sidibe | 0:126a8e290bd5 | 62 | valeurTare = Balance.getValue(); |
Sidibe | 0:126a8e290bd5 | 63 | probe.search_ROM(); |
Sidibe | 0:126a8e290bd5 | 64 | char temp; |
mohayonor | 2:5ad0b13c8157 | 65 | |
mohayonor | 2:5ad0b13c8157 | 66 | |
mohayonor | 2:5ad0b13c8157 | 67 | |
mohayonor | 2:5ad0b13c8157 | 68 | // pc.printf("\n\n\rstart\n\r"); |
Sidibe | 0:126a8e290bd5 | 69 | while(1) { |
mohayonor | 2:5ad0b13c8157 | 70 | |
mohayonor | 3:fe4b3bfd2237 | 71 | pc.printf("mesureTempExtHumidte ...\n\r"); |
Sidibe | 0:126a8e290bd5 | 72 | mesureTempExtHumidite(humidite, temperatureExt); |
mohayonor | 3:fe4b3bfd2237 | 73 | pc.printf("mesureTempExtHumidte OK\n\r"); |
Sidibe | 0:126a8e290bd5 | 74 | mesureMasse(masse, valeurTare); |
mohayonor | 2:5ad0b13c8157 | 75 | |
mohayonor | 3:fe4b3bfd2237 | 76 | pc.printf("mesureTempInt ...\n\r"); |
Sidibe | 0:126a8e290bd5 | 77 | mesureTempInt(temperatureInt); |
mohayonor | 3:fe4b3bfd2237 | 78 | pc.printf("mesureTempInt OK\n\r"); |
mohayonor | 2:5ad0b13c8157 | 79 | pc.printf("te:%.2f hu:%d ti:%.2f m:%f\n\r",temperatureExt, humidite, temperatureInt, masse); |
mohayonor | 2:5ad0b13c8157 | 80 | |
Sidibe | 0:126a8e290bd5 | 81 | |
mohayonor | 2:5ad0b13c8157 | 82 | //getLatLong(lat , lon); |
mohayonor | 3:fe4b3bfd2237 | 83 | pc.printf("lat: %f , long: %f\n\r" , lat , lon); |
mohayonor | 2:5ad0b13c8157 | 84 | //Message_1 msg1(1, temperatureExt, temperatureInt, humidite, masse); |
mohayonor | 2:5ad0b13c8157 | 85 | |
mohayonor | 2:5ad0b13c8157 | 86 | |
mohayonor | 2:5ad0b13c8157 | 87 | //msg1.send(); |
mohayonor | 3:fe4b3bfd2237 | 88 | //wait(600); |
mohayonor | 2:5ad0b13c8157 | 89 | wait(1); |
Sidibe | 0:126a8e290bd5 | 90 | } |
Sidibe | 0:126a8e290bd5 | 91 | } |
Sidibe | 0:126a8e290bd5 | 92 | |
Sidibe | 0:126a8e290bd5 | 93 | void mesureTempExtHumidite(int &humidite, float &temperatureExt){ |
Sidibe | 0:126a8e290bd5 | 94 | dht22.sample() ; |
Sidibe | 0:126a8e290bd5 | 95 | humidite=dht22.getHumidity()/10.0; |
Sidibe | 0:126a8e290bd5 | 96 | temperatureExt=dht22.getTemperature()/10.0; |
Sidibe | 0:126a8e290bd5 | 97 | // humidite = 57; |
Sidibe | 0:126a8e290bd5 | 98 | // temperatureExt = 17; |
Sidibe | 0:126a8e290bd5 | 99 | }; |
Sidibe | 0:126a8e290bd5 | 100 | |
Sidibe | 0:126a8e290bd5 | 101 | void mesureMasse(float &masse, long valeurTare){ |
Sidibe | 0:126a8e290bd5 | 102 | wait_ms(200); // Attente de 200 millisecondes |
Sidibe | 0:126a8e290bd5 | 103 | float valeur = Balance.getValue(); // On récupère la valeur du module |
mohayonor | 2:5ad0b13c8157 | 104 | masse = ((double)valeur-(double)valeurTare)/11900 ; |
Sidibe | 0:126a8e290bd5 | 105 | }; |
Sidibe | 0:126a8e290bd5 | 106 | |
Sidibe | 0:126a8e290bd5 | 107 | void mesureTempInt(float &temperatureInt){ |
Sidibe | 0:126a8e290bd5 | 108 | probe.convert_temperature(DS1820::all_devices); |
Sidibe | 0:126a8e290bd5 | 109 | temperatureInt = probe.temperature('c'); |
Sidibe | 0:126a8e290bd5 | 110 | }; |
Sidibe | 0:126a8e290bd5 | 111 | |
Sidibe | 0:126a8e290bd5 | 112 | |
Sidibe | 0:126a8e290bd5 | 113 | /*bool sendMessageToSigfox(Vector<Message*> msg){ |
Sidibe | 0:126a8e290bd5 | 114 | for(int i =0; i<msg.size(); i++){ |
Sidibe | 0:126a8e290bd5 | 115 | msg[i].send(); |
Sidibe | 0:126a8e290bd5 | 116 | wait_ms(100); |
Sidibe | 0:126a8e290bd5 | 117 | }; |
Sidibe | 0:126a8e290bd5 | 118 | };*/ |