Tandem
/
Progetto_Tandem_Finale
TaDA
Fork of luce_rossa_piezo by
main.cpp@1:0e967fe8862e, 2016-04-18 (annotated)
- Committer:
- EzDzO
- Date:
- Mon Apr 18 21:04:36 2016 +0000
- Revision:
- 1:0e967fe8862e
- Parent:
- 0:5daff114eb4a
prova
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Karrots3 | 0:5daff114eb4a | 1 | #include "mbed.h" |
EzDzO | 1:0e967fe8862e | 2 | #include "note.h" |
EzDzO | 1:0e967fe8862e | 3 | #include "Servo.h" |
EzDzO | 1:0e967fe8862e | 4 | |
EzDzO | 1:0e967fe8862e | 5 | DigitalIn bottone(p14); |
Karrots3 | 0:5daff114eb4a | 6 | DigitalOut ledR(p25); |
Karrots3 | 0:5daff114eb4a | 7 | DigitalOut ledG(p24); |
Karrots3 | 0:5daff114eb4a | 8 | DigitalOut ledB(p26); |
Karrots3 | 0:5daff114eb4a | 9 | PwmOut piezo(p22); |
EzDzO | 1:0e967fe8862e | 10 | Servo myservo1(p23); |
EzDzO | 1:0e967fe8862e | 11 | Servo myservo2(p21); |
Karrots3 | 0:5daff114eb4a | 12 | int c=0; |
EzDzO | 1:0e967fe8862e | 13 | |
EzDzO | 1:0e967fe8862e | 14 | void suono(int frequenza, int beat); |
EzDzO | 1:0e967fe8862e | 15 | |
Karrots3 | 0:5daff114eb4a | 16 | int main() |
Karrots3 | 0:5daff114eb4a | 17 | { |
Karrots3 | 0:5daff114eb4a | 18 | while(1) { |
Karrots3 | 0:5daff114eb4a | 19 | |
EzDzO | 1:0e967fe8862e | 20 | c=0; |
EzDzO | 1:0e967fe8862e | 21 | if(bottone==1) { |
EzDzO | 1:0e967fe8862e | 22 | ledG=1; |
Karrots3 | 0:5daff114eb4a | 23 | ledR=0; |
EzDzO | 1:0e967fe8862e | 24 | suono(NOTE_B4,1); |
EzDzO | 1:0e967fe8862e | 25 | wait(1); |
Karrots3 | 0:5daff114eb4a | 26 | |
EzDzO | 1:0e967fe8862e | 27 | do { |
EzDzO | 1:0e967fe8862e | 28 | wait(0.001); |
EzDzO | 1:0e967fe8862e | 29 | c++; |
EzDzO | 1:0e967fe8862e | 30 | if(c++>=10000) { |
EzDzO | 1:0e967fe8862e | 31 | ledG=0; |
EzDzO | 1:0e967fe8862e | 32 | ledR=1; |
EzDzO | 1:0e967fe8862e | 33 | suono(NOTE_C5,1); |
EzDzO | 1:0e967fe8862e | 34 | } |
EzDzO | 1:0e967fe8862e | 35 | } while(!bottone); |
EzDzO | 1:0e967fe8862e | 36 | //*************************MOVIMENTO SERVI************************ |
EzDzO | 1:0e967fe8862e | 37 | int a=0; |
EzDzO | 1:0e967fe8862e | 38 | int b=0; |
EzDzO | 1:0e967fe8862e | 39 | if(a<2) a++; |
EzDzO | 1:0e967fe8862e | 40 | else if(a>=2) { |
EzDzO | 1:0e967fe8862e | 41 | for(float i=0; i<30; i++) { |
EzDzO | 1:0e967fe8862e | 42 | myservo1=i; |
EzDzO | 1:0e967fe8862e | 43 | wait(0.1); |
EzDzO | 1:0e967fe8862e | 44 | a=0; |
EzDzO | 1:0e967fe8862e | 45 | b++; |
EzDzO | 1:0e967fe8862e | 46 | } |
EzDzO | 1:0e967fe8862e | 47 | } |
EzDzO | 1:0e967fe8862e | 48 | if(b==5){ |
EzDzO | 1:0e967fe8862e | 49 | for(float i=180; i<0; i++) |
EzDzO | 1:0e967fe8862e | 50 | myservo1=i; |
EzDzO | 1:0e967fe8862e | 51 | wait(0.1); |
EzDzO | 1:0e967fe8862e | 52 | b=0; |
EzDzO | 1:0e967fe8862e | 53 | } |
EzDzO | 1:0e967fe8862e | 54 | int f=0; |
EzDzO | 1:0e967fe8862e | 55 | |
EzDzO | 1:0e967fe8862e | 56 | if(f==0){ |
EzDzO | 1:0e967fe8862e | 57 | for(float i=0; i<30; i++) |
EzDzO | 1:0e967fe8862e | 58 | myservo2=i; |
EzDzO | 1:0e967fe8862e | 59 | wait(0.1); |
EzDzO | 1:0e967fe8862e | 60 | f++; |
EzDzO | 1:0e967fe8862e | 61 | } |
EzDzO | 1:0e967fe8862e | 62 | else if(f==1) |
EzDzO | 1:0e967fe8862e | 63 | for(float i=0; i<60; i++) |
EzDzO | 1:0e967fe8862e | 64 | myservo2=i; |
EzDzO | 1:0e967fe8862e | 65 | wait(0.1); |
EzDzO | 1:0e967fe8862e | 66 | f++; |
EzDzO | 1:0e967fe8862e | 67 | if(f==3){ |
EzDzO | 1:0e967fe8862e | 68 | for(float i=60; i<0; i--) |
EzDzO | 1:0e967fe8862e | 69 | myservo2=i; |
EzDzO | 1:0e967fe8862e | 70 | wait(0.1); |
EzDzO | 1:0e967fe8862e | 71 | f=0; |
EzDzO | 1:0e967fe8862e | 72 | } |
EzDzO | 1:0e967fe8862e | 73 | |
EzDzO | 1:0e967fe8862e | 74 | //**************************************************************** |
EzDzO | 1:0e967fe8862e | 75 | |
EzDzO | 1:0e967fe8862e | 76 | ledR=0; |
EzDzO | 1:0e967fe8862e | 77 | ledB=1; |
EzDzO | 1:0e967fe8862e | 78 | wait(1); |
EzDzO | 1:0e967fe8862e | 79 | ledB=0; |
EzDzO | 1:0e967fe8862e | 80 | suono(NOTE_F1,1); |
Karrots3 | 0:5daff114eb4a | 81 | } |
Karrots3 | 0:5daff114eb4a | 82 | |
Karrots3 | 0:5daff114eb4a | 83 | wait_ms(1); |
Karrots3 | 0:5daff114eb4a | 84 | |
Karrots3 | 0:5daff114eb4a | 85 | } |
Karrots3 | 0:5daff114eb4a | 86 | } |
EzDzO | 1:0e967fe8862e | 87 | |
EzDzO | 1:0e967fe8862e | 88 | void suono(int frequenza, int beat) |
EzDzO | 1:0e967fe8862e | 89 | { |
EzDzO | 1:0e967fe8862e | 90 | piezo.period(1.0 / frequenza); |
EzDzO | 1:0e967fe8862e | 91 | piezo.write(0.5); |
EzDzO | 1:0e967fe8862e | 92 | wait(1.0 / beat); |
EzDzO | 1:0e967fe8862e | 93 | piezo.write(0); |
EzDzO | 1:0e967fe8862e | 94 | wait(0.05); |
EzDzO | 1:0e967fe8862e | 95 | } |