Advertisement
icstation

APR9600 Voice Recording and Playback System with Arduino

Nov 30th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.11 KB | None | 0 0
  1. APR9600 Voice Recording and Playback System with JRC286D Chip ICStation Mega 2560 Compatible Arduino
  2.  
  3. ICStation team(www.ICStation.com) introduce you this APR9600 voice recording and playback system used in elevator based on the ICStation Mega2560 compatible with Arduino. It uses DC5V voltage to work. When you press the different keys, the loudspeaker will sound that which floor you arrive. This design uses a APR9600 voice chip as the core of the circuit and realizes the function of auto recording and playback. It uses power amplifier chip JRC286D to amplify the audio and enhance the volume. The voice recording and playback circuit is widely used in everyday life. For example, the leaving message and response of the telephone, game machine, and toy voice recording and playback, telling time of the clock or alarm, selling products and control of the household appliance, etc. The designed circuit control is easy ,high-quality sound and big volume. It can be recorded and played for many times and has strong ability of portability. It can be used in other ares for a little modification.The voice recording and playback using the APR9600 chip as the core has the advantage on the price.It is worth of promoting.
  4. components list:
  5. 1.ICStation ATMEGA2560 Mega2560 R3 Board Compatible Arduino(www.ICStation.com)
  6. 2.830 Point Solderless PCB Bread Board MB-102 Test DIY
  7. 3.2K 202 Blue White Resistance Adjustable Resistor
  8. 4.APR9600 voice chip
  9. 5.JRC386D power amplifier chip
  10. 6.Electret condenser microphone
  11. 7.Breadboard Plug Wire Cable Tire
  12. 8.Dupont 20cm Color Cable Line 1p-1p Pin Connector
  13. 9.+5 DC power supply
  14. 10.8Ω 0.5W Small Trumpet 36mm Diameter Loudspeaker
  15. 11 9PCS 6X6X5mm Tact Switches 4 Legs
  16. 12.2mm Pitch 8 Pins 4 Position Slide Type DIP Switch
  17. 13. 2PCS LED Light Emitting Diode
  18. 14.220uF 25V 105°C Radial Electrolytic Capacitor
  19. 15.100uF 50V Radial Electrolytic Capacitor
  20. 16.0.047UF 50V 473 Ceramic Capacitor DIP
  21. 17.10UF 25V Radial Electrolytic Capacitor
  22. 18. 2PCS 47UF 25V Radial Electrolytic Capacitor
  23. 19.4.7UF 50V Radial Electrolytic Capacitor
  24. 20. 6PCS 0.1UF 275V Polypropylene Safety Capacitor
  25. 21.5PCS 1K-100K 400 1/4w Resistance
  26. 22 2PCS 1K ohm 1/4W 1% Accuracy Metal Film Resistor
  27. 23.4.7k ohm 1/4W 1% accuracy Metal Film Resistors
  28. 24.470K ohm 1/4W 1% Accuracy Metal Film Resistor
  29. 25.43K ohm 1/4W 1% Accuracy Metal Film Resistor
  30.  
  31. Functions:
  32. 1.When you press the key NO.1 to NO.5, the loudspeaker will sound the different floor arriving.
  33. 2.When you press the key NO.6 and NO.7, the loudspeaker will sound the “go upstairs” and “go downstairs”
  34. 3.When you press the NO.8 key, the loudspeaker loudspeaker will sound “close the door”
  35.  
  36. Full project:http://www.instructables.com/id/APR9600-Voice-Recording-and-Playback-System-with-J/step1/Components-List/
  37. Code for your reference:
  38.  
  39. #define uchar unsigned char
  40. #define uint unsigned int
  41. uint Key_1=30;
  42. uint Key_2=31;
  43. uint Key_3=32;
  44. uint Key_4=33;
  45. uint Key_5=34;
  46. uint Key_6=35;
  47. uint Key_7=36;
  48. uint Key_8=37;
  49. uint Code_1=3;
  50. uint Code_2=4;
  51. uint Code_3=5;
  52. uint Code_4=6;
  53. uint Code_5=7;
  54. uint Code_6=8;
  55. uint Code_7=9;
  56. uint Code_8=10;
  57.  
  58. void setup()
  59. {
  60. pinMode(Key_1,INPUT);
  61. pinMode(Key_2,INPUT);
  62. pinMode(Key_3,INPUT);
  63. pinMode(Key_4,INPUT);
  64. pinMode(Key_5,INPUT);
  65. pinMode(Key_6,INPUT);
  66. pinMode(Key_7,INPUT);
  67. pinMode(Key_8,INPUT);
  68. pinMode(Code_1,OUTPUT);
  69. pinMode(Code_2,OUTPUT);
  70. pinMode(Code_3,OUTPUT);
  71. pinMode(Code_4,OUTPUT);
  72. pinMode(Code_5,OUTPUT);
  73. pinMode(Code_6,OUTPUT);
  74. pinMode(Code_7,OUTPUT);
  75. pinMode(Code_8,OUTPUT);
  76. digitalWrite(Code_1,HIGH);
  77. digitalWrite(Code_2,HIGH);
  78. digitalWrite(Code_3,HIGH);
  79. digitalWrite(Code_4,HIGH);
  80. digitalWrite(Code_5,HIGH);
  81. digitalWrite(Code_6,HIGH);
  82. digitalWrite(Code_7,HIGH);
  83. digitalWrite(Code_8,HIGH);
  84. digitalWrite(Key_1,HIGH);
  85. digitalWrite(Key_2,HIGH);
  86. digitalWrite(Key_3,HIGH);
  87. digitalWrite(Key_4,HIGH);
  88. digitalWrite(Key_5,HIGH);
  89. digitalWrite(Key_6,HIGH);
  90. digitalWrite(Key_7,HIGH);
  91. digitalWrite(Key_8,HIGH);
  92. }
  93.  
  94. void loop()
  95. {
  96. if(digitalRead(Key_1)==0)
  97. {
  98. delay(10);
  99. if(digitalRead(Key_1)==0)
  100. {
  101. digitalWrite(Code_1,LOW);
  102. digitalWrite(Code_2,HIGH);
  103. digitalWrite(Code_3,HIGH);
  104. digitalWrite(Code_4,HIGH);
  105. digitalWrite(Code_5,HIGH);
  106. digitalWrite(Code_6,HIGH);
  107. digitalWrite(Code_7,HIGH);
  108. digitalWrite(Code_8,HIGH);
  109. delay(10);
  110. }
  111. if(digitalRead(Key_1)!=0)
  112. {
  113. digitalWrite(Code_1,HIGH);
  114. digitalWrite(Code_2,HIGH);
  115. digitalWrite(Code_3,HIGH);
  116. digitalWrite(Code_4,HIGH);
  117. digitalWrite(Code_5,HIGH);
  118. digitalWrite(Code_6,HIGH);
  119. digitalWrite(Code_7,HIGH);
  120. digitalWrite(Code_8,HIGH);
  121. delay(10);
  122. }
  123. }
  124.  
  125. if(digitalRead(Key_2)==0)
  126. {
  127. delay(10);
  128. if(digitalRead(Key_2)==0)
  129. {
  130. digitalWrite(Code_1,HIGH);
  131. digitalWrite(Code_2,LOW);
  132. digitalWrite(Code_3,HIGH);
  133. digitalWrite(Code_4,HIGH);
  134. digitalWrite(Code_5,HIGH);
  135. digitalWrite(Code_6,HIGH);
  136. digitalWrite(Code_7,HIGH);
  137. digitalWrite(Code_8,HIGH);
  138. delay(10);
  139. }
  140. if(digitalRead(Key_2)!=0)
  141. {
  142. digitalWrite(Code_1,HIGH);
  143. digitalWrite(Code_2,HIGH);
  144. digitalWrite(Code_3,HIGH);
  145. digitalWrite(Code_4,HIGH);
  146. digitalWrite(Code_5,HIGH);
  147. digitalWrite(Code_6,HIGH);
  148. digitalWrite(Code_7,HIGH);
  149. digitalWrite(Code_8,HIGH);
  150. delay(10);
  151. }
  152. }
  153.  
  154. if(digitalRead(Key_3)==0)
  155. {
  156. delay(10);
  157. if(digitalRead(Key_3)==0)
  158. {
  159. digitalWrite(Code_1,HIGH);
  160. digitalWrite(Code_2,HIGH);
  161. digitalWrite(Code_3,LOW);
  162. digitalWrite(Code_4,HIGH);
  163. digitalWrite(Code_5,HIGH);
  164. digitalWrite(Code_6,HIGH);
  165. digitalWrite(Code_7,HIGH);
  166. digitalWrite(Code_8,HIGH);
  167. delay(10);
  168. }
  169. if(digitalRead(Key_3)!=0)
  170. {
  171. digitalWrite(Code_1,HIGH);
  172. digitalWrite(Code_2,HIGH);
  173. digitalWrite(Code_3,HIGH);
  174. digitalWrite(Code_4,HIGH);
  175. digitalWrite(Code_5,HIGH);
  176. digitalWrite(Code_6,HIGH);
  177. digitalWrite(Code_7,HIGH);
  178. digitalWrite(Code_8,HIGH);
  179. delay(10);
  180. }
  181. }
  182.  
  183. if(digitalRead(Key_4)==0)
  184. {
  185. delay(10);
  186. if(digitalRead(Key_4)==0)
  187. {
  188. digitalWrite(Code_1,HIGH);
  189. digitalWrite(Code_2,HIGH);
  190. digitalWrite(Code_3,HIGH);
  191. digitalWrite(Code_4,LOW);
  192. digitalWrite(Code_5,HIGH);
  193. digitalWrite(Code_6,HIGH);
  194. digitalWrite(Code_7,HIGH);
  195. digitalWrite(Code_8,HIGH);
  196. delay(10);
  197. }
  198. if(digitalRead(Key_4)!=0)
  199. {
  200. digitalWrite(Code_1,HIGH);
  201. digitalWrite(Code_2,HIGH);
  202. digitalWrite(Code_3,HIGH);
  203. digitalWrite(Code_4,HIGH);
  204. digitalWrite(Code_5,HIGH);
  205. digitalWrite(Code_6,HIGH);
  206. digitalWrite(Code_7,HIGH);
  207. digitalWrite(Code_8,HIGH);
  208. delay(10);
  209. }
  210. }
  211.  
  212. if(digitalRead(Key_5)==0)
  213. {
  214. delay(10);
  215. if(digitalRead(Key_5)==0)
  216. {
  217. digitalWrite(Code_1,HIGH);
  218. digitalWrite(Code_2,HIGH);
  219. digitalWrite(Code_3,HIGH);
  220. digitalWrite(Code_4,HIGH);
  221. digitalWrite(Code_5,LOW);
  222. digitalWrite(Code_6,HIGH);
  223. digitalWrite(Code_7,HIGH);
  224. digitalWrite(Code_8,HIGH);
  225. delay(10);
  226. }
  227. if(digitalRead(Key_5)!=0)
  228. {
  229. digitalWrite(Code_1,HIGH);
  230. digitalWrite(Code_2,HIGH);
  231. digitalWrite(Code_3,HIGH);
  232. digitalWrite(Code_4,HIGH);
  233. digitalWrite(Code_5,HIGH);
  234. digitalWrite(Code_6,HIGH);
  235. digitalWrite(Code_7,HIGH);
  236. digitalWrite(Code_8,HIGH);
  237. delay(10);
  238. }
  239. }
  240.  
  241. if(digitalRead(Key_6)==0)
  242. {
  243. delay(10);
  244. if(digitalRead(Key_6)==0)
  245. {
  246. digitalWrite(Code_1,HIGH);
  247. digitalWrite(Code_2,HIGH);
  248. digitalWrite(Code_3,HIGH);
  249. digitalWrite(Code_4,HIGH);
  250. digitalWrite(Code_5,HIGH);
  251. digitalWrite(Code_6,LOW);
  252. digitalWrite(Code_7,HIGH);
  253. digitalWrite(Code_8,HIGH);
  254. delay(10);
  255. }
  256. if(digitalRead(Key_6)!=0)
  257. {
  258. digitalWrite(Code_1,HIGH);
  259. digitalWrite(Code_2,HIGH);
  260. digitalWrite(Code_3,HIGH);
  261. digitalWrite(Code_4,HIGH);
  262. digitalWrite(Code_5,HIGH);
  263. digitalWrite(Code_6,HIGH);
  264. digitalWrite(Code_7,HIGH);
  265. digitalWrite(Code_8,HIGH);
  266. delay(10);
  267. }
  268. }
  269.  
  270. if(digitalRead(Key_7)==0)
  271. {
  272. delay(10);
  273. if(digitalRead(Key_7)==0)
  274. {
  275. digitalWrite(Code_1,HIGH);
  276. digitalWrite(Code_2,HIGH);
  277. digitalWrite(Code_3,HIGH);
  278. digitalWrite(Code_4,HIGH);
  279. digitalWrite(Code_5,HIGH);
  280. digitalWrite(Code_6,HIGH);
  281. digitalWrite(Code_7,LOW);
  282. digitalWrite(Code_8,HIGH);
  283. delay(10);
  284. }
  285. if(digitalRead(Key_7)!=0)
  286. {
  287. digitalWrite(Code_1,HIGH);
  288. digitalWrite(Code_2,HIGH);
  289. digitalWrite(Code_3,HIGH);
  290. digitalWrite(Code_4,HIGH);
  291. digitalWrite(Code_5,HIGH);
  292. digitalWrite(Code_6,HIGH);
  293. digitalWrite(Code_7,HIGH);
  294. digitalWrite(Code_8,HIGH);
  295. delay(10);
  296. }
  297. }
  298.  
  299. if(digitalRead(Key_8)==0)
  300. {
  301. delay(10);
  302. if(digitalRead(Key_8)==0)
  303. {
  304. digitalWrite(Code_1,HIGH);
  305. digitalWrite(Code_2,HIGH);
  306. digitalWrite(Code_3,HIGH);
  307. digitalWrite(Code_4,HIGH);
  308. digitalWrite(Code_5,HIGH);
  309. digitalWrite(Code_6,HIGH);
  310. digitalWrite(Code_7,HIGH);
  311. digitalWrite(Code_8,LOW);
  312. delay(10);
  313. }
  314. if(digitalRead(Key_8)!=0)
  315. {
  316. digitalWrite(Code_1,HIGH);
  317. digitalWrite(Code_2,HIGH);
  318. digitalWrite(Code_3,HIGH);
  319. digitalWrite(Code_4,HIGH);
  320. digitalWrite(Code_5,HIGH);
  321. digitalWrite(Code_6,HIGH);
  322. digitalWrite(Code_7,HIGH);
  323. digitalWrite(Code_8,HIGH);
  324. delay(10);
  325. }
  326. }
  327. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement