TaDA

Dependencies:   Servo mbed

Fork of luce_rossa_piezo by Matteo Andriolo

Committer:
EzDzO
Date:
Mon Apr 18 21:04:36 2016 +0000
Revision:
1:0e967fe8862e
Parent:
0:5daff114eb4a
prova

Who changed what in which revision?

UserRevisionLine numberNew 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 }