vh

Dependencies:   C12832

Committer:
arkadia
Date:
Tue Jun 08 06:58:02 2021 +0000
Revision:
0:d7df74440bf6
noah

Who changed what in which revision?

UserRevisionLine numberNew contents of line
arkadia 0:d7df74440bf6 1 /* Programme centrale d'alarme
arkadia 0:d7df74440bf6 2 V1_0
arkadia 0:d7df74440bf6 3 Le 16/12/2020
arkadia 0:d7df74440bf6 4 Par Simon Delcroix */
arkadia 0:d7df74440bf6 5 // On ajoute entree 1
arkadia 0:d7df74440bf6 6
arkadia 0:d7df74440bf6 7 #include "mbed.h"
arkadia 0:d7df74440bf6 8 #include "platform/mbed_thread.h"
arkadia 0:d7df74440bf6 9 #include "C12832.h"
arkadia 0:d7df74440bf6 10
arkadia 0:d7df74440bf6 11 // Blinking rate in milliseconds
arkadia 0:d7df74440bf6 12 #define BLINKING_RATE_MS 500
arkadia 0:d7df74440bf6 13 Serial pc(USBTX,USBRX);
arkadia 0:d7df74440bf6 14 AnalogIn pot1 (A0);
arkadia 0:d7df74440bf6 15 C12832 lcd(D11, D13, D12, D7, D10);
arkadia 0:d7df74440bf6 16 /* fonction qui traite les entrees
arkadia 0:d7df74440bf6 17 en entree : valeur de l'entree
arkadia 0:d7df74440bf6 18 en sortie : etat entree
arkadia 0:d7df74440bf6 19 Cc : Court circuit
arkadia 0:d7df74440bf6 20 An : Anomalie
arkadia 0:d7df74440bf6 21 Nl : normal
arkadia 0:d7df74440bf6 22 Cp : cable coupoe */
arkadia 0:d7df74440bf6 23
arkadia 0:d7df74440bf6 24 #define VNl 1.41 // en dessous pas anomalie
arkadia 0:d7df74440bf6 25 #define VAn 0.88 // en dessous Anomalie
arkadia 0:d7df74440bf6 26 #define VCc 0.36 // en dessous cable cc
arkadia 0:d7df74440bf6 27 // au dessus de VNl Cable coupe
arkadia 0:d7df74440bf6 28 int resultat;
arkadia 0:d7df74440bf6 29 PwmOut led (D5);
arkadia 0:d7df74440bf6 30 PwmOut spkr(D6);
arkadia 0:d7df74440bf6 31
arkadia 0:d7df74440bf6 32 int main()
arkadia 0:d7df74440bf6 33 {
arkadia 0:d7df74440bf6 34 while(true) {
arkadia 0:d7df74440bf6 35 float Entree1;
arkadia 0:d7df74440bf6 36 float cc = 200;
arkadia 0:d7df74440bf6 37 float an = 500;
arkadia 0:d7df74440bf6 38 float cp = 800;
arkadia 0:d7df74440bf6 39 Entree1 = 5*pot1.read();
arkadia 0:d7df74440bf6 40
arkadia 0:d7df74440bf6 41 pc.printf("Entree 1 =%f\n\r",Entree1);
arkadia 0:d7df74440bf6 42 if (Entree1 < VCc) {
arkadia 0:d7df74440bf6 43 lcd.locate(0, 3);
arkadia 0:d7df74440bf6 44 lcd.printf("Entree 1 : Court circuit");
arkadia 0:d7df74440bf6 45 led.write(0.15);
arkadia 0:d7df74440bf6 46 led.period(1);
arkadia 0:d7df74440bf6 47 spkr.period(1.0/cc);
arkadia 0:d7df74440bf6 48 spkr=0.5;
arkadia 0:d7df74440bf6 49 thread_sleep_for(0.2);
arkadia 0:d7df74440bf6 50
arkadia 0:d7df74440bf6 51 } else if (Entree1 < VAn) {
arkadia 0:d7df74440bf6 52 lcd.locate(0, 3);
arkadia 0:d7df74440bf6 53 lcd.printf("Entree 1 : Anomalie ");
arkadia 0:d7df74440bf6 54 led.write(0.05);
arkadia 0:d7df74440bf6 55 led.period(1);
arkadia 0:d7df74440bf6 56 spkr.period(1.0/an);
arkadia 0:d7df74440bf6 57 spkr=0.5;
arkadia 0:d7df74440bf6 58 thread_sleep_for(0.2);
arkadia 0:d7df74440bf6 59
arkadia 0:d7df74440bf6 60 } else if (Entree1 < VNl) {
arkadia 0:d7df74440bf6 61 lcd.locate(0, 3);
arkadia 0:d7df74440bf6 62 lcd.printf("Entree 1 : Etat normal ");
arkadia 0:d7df74440bf6 63 led.write(1);
arkadia 0:d7df74440bf6 64 led.period(1);
arkadia 0:d7df74440bf6 65 spkr=0.0;
arkadia 0:d7df74440bf6 66
arkadia 0:d7df74440bf6 67 } else {
arkadia 0:d7df74440bf6 68 lcd.locate(0, 3);
arkadia 0:d7df74440bf6 69 lcd.printf("Entree 1 : Cable coupe ");
arkadia 0:d7df74440bf6 70 led.write(0.1);
arkadia 0:d7df74440bf6 71 led.period(1);
arkadia 0:d7df74440bf6 72 spkr.period(1.0/cp);
arkadia 0:d7df74440bf6 73 spkr=0.5;
arkadia 0:d7df74440bf6 74 thread_sleep_for(0.2);
arkadia 0:d7df74440bf6 75 }
arkadia 0:d7df74440bf6 76 }
arkadia 0:d7df74440bf6 77
arkadia 0:d7df74440bf6 78 }