![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
une 30aine passés sans pb entre les trames
Dependencies: ADS1015 ARNSRS_SENSORS DmTftLibrary MS5803_14BA SDFileSystem mbed
Fork of ARNSRS_SERVOS_USB_TFT by
main.cpp
- Committer:
- POTLESS_2
- Date:
- 2017-05-03
- Revision:
- 6:1c2212891714
- Parent:
- 5:e1d0dc7940a6
- Child:
- 7:c5a5d8f678ff
File content as of revision 6:1c2212891714:
/* procédure lecture capteur COZIR ou MINIR - CO2 seul sur broches F401RE SERIAL PA_11 et PA_12 renvoie sur moniteur (IDE arduino par exemple) de la valeur lue procédures possibles sont : request (char commande) - renvoie la valeur lue si la commande ne représente qu'un seul caractère (entre '') cozirSend (string commande) - permet d'envoyer des commandes multicaractères (entre "") - exemple A 32 - donne la réponse obtenue la fonction cozirSend est davantage "sécurisée" */ #include "mbed.h" #include "SDFileSystem.h" #include "ARNSRS_SENSORS.h" //Init de la lib ARNSRS; ARNSRS arnsrs; //Bouton et led de la carte DigitalIn mybutton(USER_BUTTON); DigitalOut myled(LED1); //RTC time_t seconds; //Quelque FLAG... bool FLAG_SIMPLE_TIME = false; //COM Série Serial serialMonit (USBTX,USBRX); //Serial 2 //Variable des capteurs int co2, ppO2; float pression, Temp1, Temp2, Humi; string DateHeure; //SD card SDFileSystem sd(D11, D12, D13, D10, "sd"); // MOSI, MISO, SCK, CS FILE *fp; /////////////////////////////////// // fonction initialisation ///// /////////////////////////////////// void setup() { //RTC seconds = time(NULL); DateHeure = ctime(&seconds); arnsrs.Sensors_INIT(5, SPOOLING, DIGI_FILTER32, CALIB_AIR); } ///////////////////////////////////// /// procédure principale ///////// ///////////////////////////////////// int main() { wait(2); serialMonit.printf("Initialisation SD card\r\n"); fp = fopen("/sd/Capteurs.txt", "r"); if (fp != NULL) { fclose(fp); remove("/sd/Capteurs.txt"); serialMonit.printf("Suppression d'un fichier du meme nom\r\n"); } fp = fopen("/sd/Capteurs.txt", "w"); if (fp == NULL) { serialMonit.printf("Impossible d'ouvrir le fichier LOG\r\n"); } else { fprintf(fp, "LOG Capteurs ARNSRS"); fclose(fp); serialMonit.printf("Header du fichier cree\r\n"); } setup(); //initialisation while (1) { wait(2); //RTC seconds = time(NULL); if (!FLAG_SIMPLE_TIME){ DateHeure = ctime(&seconds); printf(" Date / Heure = %s\r\n", DateHeure); }else{ char buffer[32]; strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); printf(" Heure = %s", buffer); } //CO2 / H / T sur Cozir co2 = arnsrs.requestCO2(); Humi = arnsrs.requestHUMI(); Temp1 = arnsrs.requestTEMP(); //P / T sur MS5803_14BA pression = arnsrs.requestPress(); Temp2 = arnsrs.requestTemp(); //PPO2 sur ADS1015 ppO2 = arnsrs.requestPpO2(); //Affichage sur moniteur série serialMonit.printf(" Co2 = %d\r\n" , co2); serialMonit.printf(" Humidité = %f\r\n" , Humi); serialMonit.printf(" Temperature = %f\r\n" ,Temp1); //P / T sur MS5803 serialMonit.printf(" Pression = %f\r\n", pression); serialMonit.printf(" Temperature = %f\r\n", Temp2); //PPO2 sur ADS1015 serialMonit.printf(" PPO2 = %d\r\n", ppO2); serialMonit.printf("\r\n", ""); if (mybutton == 0) { // Button is pressed myled = !myled; // Toggle the LED state FLAG_SIMPLE_TIME = !FLAG_SIMPLE_TIME; wait(0.2); // 200 ms } } }