3FEN
/
Input_sirena
programma simulazione modulo sonoro
main.cpp@0:02e2cd02022c, 2017-06-09 (annotated)
- Committer:
- Wonderjack996
- Date:
- Fri Jun 09 10:58:42 2017 +0000
- Revision:
- 0:02e2cd02022c
programma simulazione modulo sonoro
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wonderjack996 | 0:02e2cd02022c | 1 | /*---programma per simulare uscita del sensore sonoro---*/ |
Wonderjack996 | 0:02e2cd02022c | 2 | /*il sensore sonoro si andra ad agganciare solo a una parte del suono della sirena, |
Wonderjack996 | 0:02e2cd02022c | 3 | la porzione a frequenza 1kHez, quindi il programma ricevera segnali variabili come: |
Wonderjack996 | 0:02e2cd02022c | 4 | SEQUENZA SEGNALI ALTI + SEQUENZA SEGNALI BASSI + SEQUENZA SEGNALI ALTI... |
Wonderjack996 | 0:02e2cd02022c | 5 | |
Wonderjack996 | 0:02e2cd02022c | 6 | il programma simula questo tipo di uscita*/ |
Wonderjack996 | 0:02e2cd02022c | 7 | |
Wonderjack996 | 0:02e2cd02022c | 8 | /*utilizzando lo user button attivo e disattivo la sirena (led on sirena accesa, led off spenta)*/ |
Wonderjack996 | 0:02e2cd02022c | 9 | |
Wonderjack996 | 0:02e2cd02022c | 10 | #include "mbed.h" |
Wonderjack996 | 0:02e2cd02022c | 11 | #include "rtos.h" |
Wonderjack996 | 0:02e2cd02022c | 12 | |
Wonderjack996 | 0:02e2cd02022c | 13 | void check_sirena_thread(); |
Wonderjack996 | 0:02e2cd02022c | 14 | |
Wonderjack996 | 0:02e2cd02022c | 15 | DigitalOut myled(D8); |
Wonderjack996 | 0:02e2cd02022c | 16 | |
Wonderjack996 | 0:02e2cd02022c | 17 | DigitalOut check(D11); |
Wonderjack996 | 0:02e2cd02022c | 18 | |
Wonderjack996 | 0:02e2cd02022c | 19 | DigitalIn button1(USER_BUTTON); |
Wonderjack996 | 0:02e2cd02022c | 20 | |
Wonderjack996 | 0:02e2cd02022c | 21 | bool button = true; |
Wonderjack996 | 0:02e2cd02022c | 22 | |
Wonderjack996 | 0:02e2cd02022c | 23 | Serial pc(USBTX, USBRX); //istanzio oggetto per utilizzo monitor seriale |
Wonderjack996 | 0:02e2cd02022c | 24 | |
Wonderjack996 | 0:02e2cd02022c | 25 | int main() { |
Wonderjack996 | 0:02e2cd02022c | 26 | |
Wonderjack996 | 0:02e2cd02022c | 27 | int conta = 0, mod = 0; |
Wonderjack996 | 0:02e2cd02022c | 28 | |
Wonderjack996 | 0:02e2cd02022c | 29 | Thread sirenaThread(check_sirena_thread); // start Thread controllo sirena |
Wonderjack996 | 0:02e2cd02022c | 30 | |
Wonderjack996 | 0:02e2cd02022c | 31 | while(true) { |
Wonderjack996 | 0:02e2cd02022c | 32 | while(button) { |
Wonderjack996 | 0:02e2cd02022c | 33 | if( mod % 2 == 0 ) |
Wonderjack996 | 0:02e2cd02022c | 34 | myled = 1; |
Wonderjack996 | 0:02e2cd02022c | 35 | else |
Wonderjack996 | 0:02e2cd02022c | 36 | myled = 0; |
Wonderjack996 | 0:02e2cd02022c | 37 | conta++; |
Wonderjack996 | 0:02e2cd02022c | 38 | if( conta == 500 ){ |
Wonderjack996 | 0:02e2cd02022c | 39 | mod++; |
Wonderjack996 | 0:02e2cd02022c | 40 | conta = 0; |
Wonderjack996 | 0:02e2cd02022c | 41 | } |
Wonderjack996 | 0:02e2cd02022c | 42 | wait_ms(1); |
Wonderjack996 | 0:02e2cd02022c | 43 | } |
Wonderjack996 | 0:02e2cd02022c | 44 | myled = 0; |
Wonderjack996 | 0:02e2cd02022c | 45 | } |
Wonderjack996 | 0:02e2cd02022c | 46 | } |
Wonderjack996 | 0:02e2cd02022c | 47 | |
Wonderjack996 | 0:02e2cd02022c | 48 | void check_sirena_thread() |
Wonderjack996 | 0:02e2cd02022c | 49 | { |
Wonderjack996 | 0:02e2cd02022c | 50 | int val, conta2 = 0; |
Wonderjack996 | 0:02e2cd02022c | 51 | while(true) { |
Wonderjack996 | 0:02e2cd02022c | 52 | val = button1.read(); |
Wonderjack996 | 0:02e2cd02022c | 53 | if( val == 0 ) |
Wonderjack996 | 0:02e2cd02022c | 54 | conta2++; |
Wonderjack996 | 0:02e2cd02022c | 55 | while(button1.read() == 0); |
Wonderjack996 | 0:02e2cd02022c | 56 | //pc.printf("recived: %d \r\n",conta2); //stampa a video |
Wonderjack996 | 0:02e2cd02022c | 57 | if( conta2 % 2 == 1 ){ |
Wonderjack996 | 0:02e2cd02022c | 58 | button = true; |
Wonderjack996 | 0:02e2cd02022c | 59 | check = 1; |
Wonderjack996 | 0:02e2cd02022c | 60 | } |
Wonderjack996 | 0:02e2cd02022c | 61 | else{ |
Wonderjack996 | 0:02e2cd02022c | 62 | button = false; |
Wonderjack996 | 0:02e2cd02022c | 63 | check = 0; |
Wonderjack996 | 0:02e2cd02022c | 64 | } |
Wonderjack996 | 0:02e2cd02022c | 65 | } |
Wonderjack996 | 0:02e2cd02022c | 66 | } |