renix1

Imperial March, with Arduino and Buzzer

May 15th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.39 KB | None | 0 0
  1. int speakerPin = 8;
  2. //buzzer conectado na porta digital 8
  3.  
  4. #define c 261
  5. #define d 294
  6. #define e 329
  7. #define f 349
  8. #define g 391
  9. #define gS 415
  10. #define a 440
  11. #define aS 455
  12. #define b 466
  13. #define cH 523
  14. #define cSH 554
  15. #define dH 587
  16. #define dSH 622
  17. #define eH 659
  18. #define fH 698
  19. #define fSH 740
  20. #define gH 784
  21. #define gSH 830
  22. #define aH 880
  23. //frequencia para os tons que nós estamos usando
  24. //usado http://home.mit.bme.hu/~bako/tonecalc/tonecalc.htm
  25.  
  26. void setup()
  27. {
  28.   //definir o buzzer como (saída) de áudio
  29.   pinMode(speakerPin, OUTPUT);
  30. }
  31.  
  32. void loop()     //rodar uma e mais uma vez
  33. {
  34.   march();
  35. }
  36.  
  37. void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds)
  38. {
  39.  
  40.     int x;
  41.     long delayAmount = (long)(1000000/frequencyInHertz);
  42.     long loopTime = (long)((timeInMilliseconds*1000)/(delayAmount*2));
  43.     for (x=0;x<loopTime;x++)    {
  44.         digitalWrite(speakerPin,HIGH);
  45.         delayMicroseconds(delayAmount);
  46.         digitalWrite(speakerPin,LOW);
  47.         delayMicroseconds(delayAmount);
  48.     }
  49.  
  50.     delay(20);
  51.     //um pouco de delay para separar todas as notas
  52. }
  53.  
  54. void march()
  55. {
  56.     beep(speakerPin, a, 500);
  57.     beep(speakerPin, a, 500);
  58.     beep(speakerPin, a, 500);
  59.     beep(speakerPin, f, 350);
  60.     beep(speakerPin, cH, 150);
  61.  
  62.     beep(speakerPin, a, 500);
  63.     beep(speakerPin, f, 350);
  64.     beep(speakerPin, cH, 150);
  65.     beep(speakerPin, a, 1000);
  66.     //first
  67.  
  68.     beep(speakerPin, eH, 500);
  69.     beep(speakerPin, eH, 500);
  70.     beep(speakerPin, eH, 500);
  71.     beep(speakerPin, fH, 350);
  72.     beep(speakerPin, cH, 150);
  73.  
  74.     beep(speakerPin, gS, 500);
  75.     beep(speakerPin, f, 350);
  76.     beep(speakerPin, cH, 150);
  77.     beep(speakerPin, a, 1000);
  78.     //second
  79.  
  80.     beep(speakerPin, aH, 500);
  81.     beep(speakerPin, a, 350);
  82.     beep(speakerPin, a, 150);
  83.     beep(speakerPin, aH, 500);
  84.     beep(speakerPin, gSH, 250);
  85.     beep(speakerPin, gH, 250);
  86.  
  87.     beep(speakerPin, fSH, 125);
  88.     beep(speakerPin, fH, 125);
  89.     beep(speakerPin, fSH, 250);
  90.     delay(250);
  91.     beep(speakerPin, aS, 250);
  92.     beep(speakerPin, dSH, 500);
  93.     beep(speakerPin, dH, 250);
  94.     beep(speakerPin, cSH, 250);
  95.     //ficando interessante
  96.  
  97.     beep(speakerPin, cH, 125);
  98.     beep(speakerPin, b, 125);
  99.     beep(speakerPin, cH, 250);
  100.     delay(250);
  101.     beep(speakerPin, f, 125);
  102.     beep(speakerPin, gS, 500);
  103.     beep(speakerPin, f, 375);
  104.     beep(speakerPin, a, 125);
  105.  
  106.     beep(speakerPin, cH, 500);
  107.     beep(speakerPin, a, 375);
  108.     beep(speakerPin, cH, 125);
  109.     beep(speakerPin, eH, 1000);
  110.  
  111.     beep(speakerPin, aH, 500);
  112.     beep(speakerPin, a, 350);
  113.     beep(speakerPin, a, 150);
  114.     beep(speakerPin, aH, 500);
  115.     beep(speakerPin, gSH, 250);
  116.     beep(speakerPin, gH, 250);
  117.  
  118.     beep(speakerPin, fSH, 125);
  119.     beep(speakerPin, fH, 125);
  120.     beep(speakerPin, fSH, 250);
  121.     delay(250);
  122.     beep(speakerPin, aS, 250);
  123.     beep(speakerPin, dSH, 500);
  124.     beep(speakerPin, dH, 250);
  125.     beep(speakerPin, cSH, 250);
  126.     //repita, repita...
  127.  
  128.     beep(speakerPin, cH, 125);
  129.     beep(speakerPin, b, 125);
  130.     beep(speakerPin, cH, 250);
  131.     delay(250);
  132.     beep(speakerPin, f, 250);
  133.     beep(speakerPin, gS, 500);
  134.     beep(speakerPin, f, 375);
  135.     beep(speakerPin, cH, 125);
  136.  
  137.     beep(speakerPin, a, 500);
  138.     beep(speakerPin, f, 375);
  139.     beep(speakerPin, c, 125);
  140.     beep(speakerPin, a, 1000);
  141.     //CABOU
  142. }
Advertisement
Add Comment
Please, Sign In to add comment