Advertisement
weturtle

arduino_buzzer

Mar 21st, 2019
15,129
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. void setup() {
  7.   pinMode(buzzPin,OUTPUT);    //Il buzzer viene impostato come OUTPUT
  8.  
  9. }
  10.  
  11. void loop() {
  12.  
  13. /* Serie di note da riprodurre, in questo caso Do,Re,Mi,Fa,Sol,La,Si,Do con tempo 1/4.
  14.  * La durata della nota sarà il risultato del tempo impostato / la durata scelta.
  15.  * Ad es:
  16.  * 1 = Semibreve (4/4), 2 = Minima (1/2), 4 = Seminimina (1/4), 8 = Croma (1/8) ecc..
  17.   */
  18.  
  19. suona(NOTE_C4,4);
  20. suona(NOTE_D4,4);
  21. suona(NOTE_E4,4);
  22. suona(NOTE_F4,4);
  23. suona(NOTE_G4,4);
  24. suona(NOTE_A4,4);
  25. suona(NOTE_B4,4);
  26. suona(NOTE_C5,4);
  27. //Per inserire è una pausa, si può aggiungere un delay() alla lista di note, o suonare la nota PAUSE (corrispondente alla frequenza 0)
  28.  
  29.  
  30. delay(10000);   //Pausa tra un'esecuzione e l'altra
  31.  
  32. }
  33.  
  34. void suona(unsigned int nota, long durata){
  35.   tone(buzzPin, nota, tempo / durata);    
  36.   delay(tempo / durata);
  37.   noTone(buzzPin);    
  38. //A fine riproduzione del suono, questo viene manualmente interrotto,
  39. //necessario solo nel caso in cui si utilizzino più pin per controllare il buzzer
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement