Advertisement
weturtle

arduino_buzzer_variante

Mar 21st, 2019
15,006
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include "pitches.h"  //Si aggiunge la libreria contenente le note
  2. int buzzPin = 2;      //Pin collegato al buzzer
  3.  
  4. int tempo = 1000;     //Velocità di esecuzione. 1000 = 60 bpm, 500 = 120 bpm, 2000 = 30 bpm
  5.  
  6. //Liste che compongono lo spartito
  7. int note[] = { NOTE_C4, NOTE_D4, NOTE_E4, NOTE_F4, NOTE_G4, NOTE_A4, NOTE_B4, NOTE_C5 }; //inserire la nota PAUSE per inserire una pausa nello spartito
  8. int tempi[] = { 4, 4, 4, 4, 4, 4, 4, 2 };
  9.  
  10.  
  11. void setup() {
  12.   pinMode(buzzPin,OUTPUT);    //Il buzzer viene impostato come OUTPUT
  13.  
  14. }
  15.  
  16. void loop() {
  17.  
  18. for ( int notaAttuale = 0; notaAttuale < sizeof(note); notaAttuale ++ ) {
  19.  
  20.   suona( note[ notaAttuale ], tempi[ notaAttuale ] );
  21.  
  22. }
  23.  
  24.  
  25. delay(10000);   //Pausa tra un'esecuzione e l'altra
  26.  
  27. }
  28.  
  29. void suona(unsigned int nota, long durata){
  30.   tone(buzzPin, nota, tempo / durata);    
  31.   delay(tempo / durata);
  32.   noTone(buzzPin);    
  33. //A fine riproduzione del suono, questo viene manualmente interrotto,
  34. //necessario solo nel caso in cui si utilizzino più pin per controllare il buzzer
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement