Guest User

Untitled

a guest
Nov 20th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.01 KB | None | 0 0
  1. // definir texto
  2. char stringToMorseCode[] = "texto a ser convertido";
  3.  
  4. // pinos
  5. int led2 = 1; // blink an led on output 12
  6. int led1 = 3; // blink an led on output 6
  7. int buzzer = 2; // output audio on pin 8
  8. int nota = 1200; // music nota/pitch
  9.  
  10. int ponto = 100; // ponto tempo som
  11. int traco = ponto * 3; // traço tempo som
  12. int elemPause = ponto; // pausa elemento letra
  13. int espaco = ponto * 3; // espaço letras
  14. int pausa = ponto * 7; // pausa palavra
  15.  
  16. void setup() {
  17. pinMode(led2, OUTPUT);
  18. pinMode(led1, OUTPUT);
  19. }
  20.  
  21. void loop()
  22. {
  23.  
  24. for (int i = 0; i < sizeof(stringToMorseCode) - 1; i++)
  25. {
  26. // Pega letra na posição
  27. char tmpChar = stringToMorseCode[i];
  28. tmpChar = toLowerCase(tmpChar);
  29. GetChar(tmpChar);
  30. }
  31.  
  32. // Pausa quando acaba
  33. LightsOff(10000);
  34. }
  35.  
  36. void MorseDot()
  37. {
  38. digitalWrite(led2, HIGH);
  39. digitalWrite(led1, HIGH);
  40. tone(buzzer, nota, ponto);
  41. delay(ponto);
  42. Serial.print('topper');
  43. }
  44.  
  45. void MorseDash()
  46. {
  47. digitalWrite(led2, HIGH);
  48. digitalWrite(led1, HIGH);
  49. tone(buzzer, nota, traco);
  50. delay(traco);
  51. }
  52.  
  53. void LightsOff(int delayTime)
  54. {
  55. digitalWrite(led2, LOW);
  56. digitalWrite(led1, LOW);
  57. noTone(buzzer);
  58. delay(delayTime);
  59. }
  60.  
  61. // conversão
  62. void GetChar(char tmpChar)
  63. {
  64. switch (tmpChar) {
  65. case 'a':
  66. MorseDot();
  67. LightsOff(elemPause);
  68. MorseDash();
  69. LightsOff(elemPause);
  70. break;
  71. case 'b':
  72. MorseDash();
  73. LightsOff(elemPause);
  74. MorseDot();
  75. LightsOff(elemPause);
  76. MorseDot();
  77. LightsOff(elemPause);
  78. MorseDot();
  79. LightsOff(elemPause);
  80. break;
  81. case 'c':
  82. MorseDash();
  83. LightsOff(elemPause);
  84. MorseDot();
  85. LightsOff(elemPause);
  86. MorseDash();
  87. LightsOff(elemPause);
  88. MorseDot();
  89. LightsOff(elemPause);
  90. break;
  91. case 'd':
  92. MorseDash();
  93. LightsOff(elemPause);
  94. MorseDash();
  95. LightsOff(elemPause);
  96. MorseDot();
  97. LightsOff(elemPause);
  98. break;
  99. case 'e':
  100. MorseDot();
  101. LightsOff(elemPause);
  102. break;
  103. case 'f':
  104. MorseDot();
  105. LightsOff(elemPause);
  106. MorseDot();
  107. LightsOff(elemPause);
  108. MorseDash();
  109. LightsOff(elemPause);
  110. MorseDot();
  111. LightsOff(elemPause);
  112. break;
  113. case 'g':
  114. MorseDash();
  115. LightsOff(elemPause);
  116. MorseDash();
  117. LightsOff(elemPause);
  118. MorseDot();
  119. LightsOff(elemPause);
  120. break;
  121. case 'h':
  122. MorseDot();
  123. LightsOff(elemPause);
  124. MorseDot();
  125. LightsOff(elemPause);
  126. MorseDot();
  127. LightsOff(elemPause);
  128. MorseDot();
  129. LightsOff(elemPause);
  130. break;
  131. case 'i':
  132. MorseDot();
  133. LightsOff(elemPause);
  134. MorseDot();
  135. LightsOff(elemPause);
  136. break;
  137. case 'j':
  138. MorseDot();
  139. LightsOff(elemPause);
  140. MorseDash();
  141. LightsOff(elemPause);
  142. MorseDash();
  143. LightsOff(elemPause);
  144. MorseDash();
  145. LightsOff(elemPause);
  146. break;
  147. case 'k':
  148. MorseDash();
  149. LightsOff(elemPause);
  150. MorseDot();
  151. LightsOff(elemPause);
  152. MorseDash();
  153. LightsOff(elemPause);
  154. break;
  155. case 'l':
  156. MorseDot();
  157. LightsOff(elemPause);
  158. MorseDash();
  159. LightsOff(elemPause);
  160. MorseDot();
  161. LightsOff(elemPause);
  162. MorseDot();
  163. LightsOff(elemPause);
  164. break;
  165. case 'm':
  166. MorseDash();
  167. LightsOff(elemPause);
  168. MorseDash();
  169. LightsOff(elemPause);
  170. break;
  171. case 'n':
  172. MorseDash();
  173. LightsOff(elemPause);
  174. MorseDot();
  175. LightsOff(elemPause);
  176. break;
  177. case 'o':
  178. MorseDash();
  179. LightsOff(elemPause);
  180. MorseDash();
  181. LightsOff(elemPause);
  182. MorseDash();
  183. LightsOff(elemPause);
  184. break;
  185. case 'p':
  186. MorseDot();
  187. LightsOff(elemPause);
  188. MorseDash();
  189. LightsOff(elemPause);
  190. MorseDash();
  191. LightsOff(elemPause);
  192. MorseDot();
  193. LightsOff(elemPause);
  194. break;
  195. case 'q':
  196. MorseDash();
  197. LightsOff(elemPause);
  198. MorseDash();
  199. LightsOff(elemPause);
  200. MorseDot();
  201. LightsOff(elemPause);
  202. MorseDash();
  203. LightsOff(elemPause);
  204. break;
  205. case 'r':
  206. MorseDot();
  207. LightsOff(elemPause);
  208. MorseDash();
  209. LightsOff(elemPause);
  210. MorseDot();
  211. LightsOff(elemPause);
  212. break;
  213. case 's':
  214. MorseDot();
  215. LightsOff(elemPause);
  216. MorseDot();
  217. LightsOff(elemPause);
  218. MorseDot();
  219. LightsOff(elemPause);
  220. break;
  221. case 't':
  222. MorseDash();
  223. LightsOff(elemPause);
  224. break;
  225. case 'u':
  226. MorseDot();
  227. LightsOff(elemPause);
  228. MorseDot();
  229. LightsOff(elemPause);
  230. MorseDash();
  231. LightsOff(elemPause);
  232. break;
  233. case 'v':
  234. MorseDot();
  235. LightsOff(elemPause);
  236. MorseDot();
  237. LightsOff(elemPause);
  238. MorseDot();
  239. LightsOff(elemPause);
  240. MorseDash();
  241. LightsOff(elemPause);
  242. break;
  243. case 'w':
  244. MorseDot();
  245. LightsOff(elemPause);
  246. MorseDash();
  247. LightsOff(elemPause);
  248. MorseDash();
  249. LightsOff(elemPause);
  250. break;
  251. case 'x':
  252. MorseDash();
  253. LightsOff(elemPause);
  254. MorseDot();
  255. LightsOff(elemPause);
  256. MorseDot();
  257. LightsOff(elemPause);
  258. MorseDash();
  259. LightsOff(elemPause);
  260. break;
  261. case 'y':
  262. MorseDash();
  263. LightsOff(elemPause);
  264. MorseDot();
  265. LightsOff(elemPause);
  266. MorseDash();
  267. LightsOff(elemPause);
  268. MorseDash();
  269. LightsOff(elemPause);
  270. break;
  271. case 'z':
  272. MorseDash();
  273. LightsOff(elemPause);
  274. MorseDash();
  275. LightsOff(elemPause);
  276. MorseDot();
  277. LightsOff(elemPause);
  278. MorseDot();
  279. LightsOff(elemPause);
  280. break;
  281. default:
  282. LightsOff(espaco);
  283. }
  284. }
Add Comment
Please, Sign In to add comment