Advertisement
learnelectronics

Arduino for Kids - PIR Alarm

Jun 14th, 2017
2,846
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 6.19 KB | None | 0 0
  1. /*
  2.  * Arduino for Kids - PIR Intruder Alarm
  3.  *
  4.  * learnelectronics
  5.  * 13 JUN 2017
  6.  *
  7.  * www.youtube.com/c/learnelectronics
  8.  */
  9.  
  10.  
  11.                                               //Here we define the frequency of all the notes used
  12. #define  C0 16.35
  13. #define Db0 17.32
  14. #define D0  18.35
  15. #define Eb0 19.45
  16. #define E0  20.60
  17. #define F0  21.83
  18. #define Gb0 23.12
  19. #define G0  24.50
  20. #define Ab0 25.96
  21. #define LA0 27.50
  22. #define Bb0 29.14
  23. #define B0  30.87
  24. #define C1  32.70
  25. #define Db1 34.65
  26. #define D1  36.71
  27. #define Eb1 38.89
  28. #define E1  41.20
  29. #define F1  43.65
  30. #define Gb1 46.25
  31. #define G1  49.00
  32. #define Ab1 51.91
  33. #define LA1 55.00
  34. #define Bb1 58.27
  35. #define B1  61.74
  36. #define C2  65.41
  37. #define Db2 69.30
  38. #define D2  73.42
  39. #define Eb2 77.78
  40. #define E2  82.41
  41. #define F2  87.31
  42. #define Gb2 92.50
  43. #define G2  98.00
  44. #define Ab2 103.83
  45. #define LA2 110.00
  46. #define Bb2 116.54
  47. #define B2  123.47
  48. #define C3  130.81
  49. #define Db3 138.59
  50. #define D3  146.83
  51. #define Eb3 155.56
  52. #define E3  164.81
  53. #define F3  174.61
  54. #define Gb3 185.00
  55. #define G3  196.00
  56. #define Ab3 207.65
  57. #define LA3 220.00
  58. #define Bb3 233.08
  59. #define B3  246.94
  60. #define C4  261.63
  61. #define Db4 277.18
  62. #define D4  293.66
  63. #define Eb4 311.13
  64. #define E4  329.63
  65. #define F4  349.23
  66. #define Gb4 369.99
  67. #define G4  392.00
  68. #define Ab4 415.30
  69. #define LA4 440.00
  70. #define Bb4 466.16
  71. #define B4  493.88
  72. #define C5  523.25
  73. #define Db5 554.37
  74. #define D5  587.33
  75. #define Eb5 622.25
  76. #define E5  659.26
  77. #define F5  698.46
  78. #define Gb5 739.99
  79. #define G5  783.99
  80. #define Ab5 830.61
  81. #define LA5 880.00
  82. #define Bb5 932.33
  83. #define B5  987.77
  84. #define C6  1046.50
  85. #define Db6 1108.73
  86. #define D6  1174.66
  87. #define Eb6 1244.51
  88. #define E6  1318.51
  89. #define F6  1396.91
  90. #define Gb6 1479.98
  91. #define G6  1567.98
  92. #define Ab6 1661.22
  93. #define LA6 1760.00
  94. #define Bb6 1864.66
  95. #define B6  1975.53
  96. #define C7  2093.00
  97. #define Db7 2217.46
  98. #define D7  2349.32
  99. #define Eb7 2489.02
  100. #define E7  2637.02
  101. #define F7  2793.83
  102. #define Gb7 2959.96
  103. #define G7  3135.96
  104. #define Ab7 3322.44
  105. #define LA7 3520.01
  106. #define Bb7 3729.31
  107. #define B7  3951.07
  108. #define C8  4186.01
  109. #define Db8 4434.92
  110. #define D8  4698.64
  111. #define Eb8 4978.03
  112.                                               // DURATION OF THE NOTES
  113. #define BPM 120                               //  you can change this value changing all the others
  114. #define H 2*Q                                 //half 2/4
  115. #define Q 60000/BPM                           //quarter 1/4
  116. #define E Q/2                                 //eighth 1/8
  117. #define S Q/4                                 // sixteenth 1/16
  118. #define W 4*Q                                 // whole 4/4
  119.  
  120. void setup() {
  121.  
  122. pinMode(2,INPUT);                             //digital pin 2 set as an input for PIR sensor    
  123. pinMode(8, OUTPUT);                           //digital pin 8 set as output for speaker
  124. pinMode(9, OUTPUT);                           //digital pin 9 set as output      
  125. digitalWrite(9,LOW);                          //digital pin 9 driven low
  126.  
  127. }
  128.  
  129. void alarm(){                                 //alarm function, plays Star Wars Imperial March
  130.                                               //tone(pin, note, duration)
  131.     tone(8,LA3,Q);
  132.     delay(1+Q);                               //delay duration should always be 1 ms more than the note in order to separate them.
  133.     tone(8,LA3,Q);
  134.     delay(1+Q);
  135.     tone(8,LA3,Q);
  136.     delay(1+Q);
  137.     tone(8,F3,E+S);
  138.     delay(1+E+S);
  139.     tone(8,C4,S);
  140.     delay(1+S);
  141.    
  142.     tone(8,LA3,Q);
  143.     delay(1+Q);
  144.     tone(8,F3,E+S);
  145.     delay(1+E+S);
  146.     tone(8,C4,S);
  147.     delay(1+S);
  148.     tone(8,LA3,H);
  149.     delay(1+H);
  150.    
  151.     tone(8,E4,Q);
  152.     delay(1+Q);
  153.     tone(8,E4,Q);
  154.     delay(1+Q);
  155.     tone(8,E4,Q);
  156.     delay(1+Q);
  157.     tone(8,F4,E+S);
  158.     delay(1+E+S);
  159.     tone(8,C4,S);
  160.     delay(1+S);
  161.    
  162.     tone(8,Ab3,Q);
  163.     delay(1+Q);
  164.     tone(8,F3,E+S);
  165.     delay(1+E+S);
  166.     tone(8,C4,S);
  167.     delay(1+S);
  168.     tone(8,LA3,H);
  169.     delay(1+H);
  170.    
  171.     tone(8,LA4,Q);
  172.     delay(1+Q);
  173.     tone(8,LA3,E+S);
  174.     delay(1+E+S);
  175.     tone(8,LA3,S);
  176.     delay(1+S);
  177.     tone(8,LA4,Q);
  178.     delay(1+Q);
  179.     tone(8,Ab4,E+S);
  180.     delay(1+E+S);
  181.     tone(8,G4,S);
  182.     delay(1+S);
  183.    
  184.     tone(8,Gb4,S);
  185.     delay(1+S);
  186.     tone(8,E4,S);
  187.     delay(1+S);
  188.     tone(8,F4,E);
  189.     delay(1+E);
  190.     delay(1+E);//PAUSE
  191.     tone(8,Bb3,E);
  192.     delay(1+E);
  193.     tone(8,Eb4,Q);
  194.     delay(1+Q);
  195.     tone(8,D4,E+S);
  196.     delay(1+E+S);
  197.     tone(8,Db4,S);
  198.     delay(1+S);
  199.    
  200.     tone(8,C4,S);
  201.     delay(1+S);
  202.     tone(8,B3,S);
  203.     delay(1+S);
  204.     tone(8,C4,E);
  205.     delay(1+E);
  206.     delay(1+E);
  207.     tone(8,F3,E);
  208.     delay(1+E);
  209.     tone(8,Ab3,Q);
  210.     delay(1+Q);
  211.     tone(8,F3,E+S);
  212.     delay(1+E+S);
  213.     tone(8,LA3,S);
  214.     delay(1+S);
  215.    
  216.     tone(8,C4,Q);
  217.     delay(1+Q);
  218.      tone(8,LA3,E+S);
  219.     delay(1+E+S);
  220.     tone(8,C4,S);
  221.     delay(1+S);
  222.     tone(8,E4,H);
  223.     delay(1+H);
  224.    
  225.      tone(8,LA4,Q);
  226.     delay(1+Q);
  227.     tone(8,LA3,E+S);
  228.     delay(1+E+S);
  229.     tone(8,LA3,S);
  230.     delay(1+S);
  231.     tone(8,LA4,Q);
  232.     delay(1+Q);
  233.     tone(8,Ab4,E+S);
  234.     delay(1+E+S);
  235.     tone(8,G4,S);
  236.     delay(1+S);
  237.    
  238.     tone(8,Gb4,S);
  239.     delay(1+S);
  240.     tone(8,E4,S);
  241.     delay(1+S);
  242.     tone(8,F4,E);
  243.     delay(1+E);
  244.     delay(1+E);//PAUSE
  245.     tone(8,Bb3,E);
  246.     delay(1+E);
  247.     tone(8,Eb4,Q);
  248.     delay(1+Q);
  249.     tone(8,D4,E+S);
  250.     delay(1+E+S);
  251.     tone(8,Db4,S);
  252.     delay(1+S);
  253.    
  254.     tone(8,C4,S);
  255.     delay(1+S);
  256.     tone(8,B3,S);
  257.     delay(1+S);
  258.     tone(8,C4,E);
  259.     delay(1+E);
  260.     delay(1+E);
  261.     tone(8,F3,E);
  262.     delay(1+E);
  263.     tone(8,Ab3,Q);
  264.     delay(1+Q);
  265.     tone(8,F3,E+S);
  266.     delay(1+E+S);
  267.     tone(8,C4,S);
  268.     delay(1+S);
  269.    
  270.     tone(8,LA3,Q);
  271.     delay(1+Q);
  272.      tone(8,F3,E+S);
  273.     delay(1+E+S);
  274.     tone(8,C4,S);
  275.     delay(1+S);
  276.     tone(8,LA3,H);
  277.     delay(1+H);
  278.    
  279.     delay(2*H);
  280.    
  281. }
  282.  
  283.  
  284. void loop() {
  285.  
  286.  bool trigger=digitalRead(2);                 //define boolean (true/false) variable trigger as read of pin 2
  287.  if(trigger){                                 //if trigger (pin 2 reads HIGH/TRUE/1)
  288.   alarm();                                    //call alarm function
  289.  }
  290. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement