Noah Proust
/
centrale_alarme_v1
vh
main.cpp@0:d7df74440bf6, 2021-06-08 (annotated)
- Committer:
- arkadia
- Date:
- Tue Jun 08 06:58:02 2021 +0000
- Revision:
- 0:d7df74440bf6
noah
Who changed what in which revision?
User | Revision | Line number | New 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 | } |