Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // definir texto
- char stringToMorseCode[] = "texto a ser convertido";
- // pinos
- int led2 = 1; // blink an led on output 12
- int led1 = 3; // blink an led on output 6
- int buzzer = 2; // output audio on pin 8
- int nota = 1200; // music nota/pitch
- int ponto = 100; // ponto tempo som
- int traco = ponto * 3; // traço tempo som
- int elemPause = ponto; // pausa elemento letra
- int espaco = ponto * 3; // espaço letras
- int pausa = ponto * 7; // pausa palavra
- void setup() {
- pinMode(led2, OUTPUT);
- pinMode(led1, OUTPUT);
- }
- void loop()
- {
- for (int i = 0; i < sizeof(stringToMorseCode) - 1; i++)
- {
- // Pega letra na posição
- char tmpChar = stringToMorseCode[i];
- tmpChar = toLowerCase(tmpChar);
- GetChar(tmpChar);
- }
- // Pausa quando acaba
- LightsOff(10000);
- }
- void MorseDot()
- {
- digitalWrite(led2, HIGH);
- digitalWrite(led1, HIGH);
- tone(buzzer, nota, ponto);
- delay(ponto);
- Serial.print('topper');
- }
- void MorseDash()
- {
- digitalWrite(led2, HIGH);
- digitalWrite(led1, HIGH);
- tone(buzzer, nota, traco);
- delay(traco);
- }
- void LightsOff(int delayTime)
- {
- digitalWrite(led2, LOW);
- digitalWrite(led1, LOW);
- noTone(buzzer);
- delay(delayTime);
- }
- // conversão
- void GetChar(char tmpChar)
- {
- switch (tmpChar) {
- case 'a':
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'b':
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'c':
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'd':
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'e':
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'f':
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'g':
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'h':
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'i':
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'j':
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'k':
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'l':
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'm':
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'n':
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'o':
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'p':
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 'q':
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'r':
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 's':
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- case 't':
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'u':
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'v':
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'w':
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'x':
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'y':
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- break;
- case 'z':
- MorseDash();
- LightsOff(elemPause);
- MorseDash();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- MorseDot();
- LightsOff(elemPause);
- break;
- default:
- LightsOff(espaco);
- }
- }
Add Comment
Please, Sign In to add comment