En este fragmento de código vamos a ver el de código morse y realizaremos la famosa señal SOS en Arduino. Para los curiosos, saber que las letras SOS no son siglas de nada, no tienen ningún significado. Se eligieron porque son muy fáciles de reproducir en código morse.
Estos son los componentes que vamos a utilizar:
- Placa de Arduino
- Protoboard
- Dos cables
- Led Rojo
- Resistencia de 220 Ω
Y este es el esquema eléctrico:
Antes de irnos al código, primero debemos saber las reglas básicas del morse:
- Los puntos son pulsos cortos.
- Las rayas son pulsos largos.
- El punto debe ser la señal mínima.
- La raya debe durar como tres puntos.
- Para separar letras debe haber una duración sin pulso de tres puntos.
- Para separar palabras debe haber una duración sin pulso de tres rayas.
- La S se codifica con tres puntos.
- La O se codifica con tres rayas.
Con estas reglas así quedaría nuestro código (sketch) para implementar un SOS en morse para nuestro Arduino:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
int Pin = 12; int pulsoCorto = 200; int pulsoLargo = 600; void setup() { pinMode(Pin, OUTPUT); } void loop() { // Letra S SecuenciaLetra(pulsoCorto); delay(pulsoCorto*3); // Letra O SecuenciaLetra(pulsoLargo); delay(pulsoCorto*3); // Letra S SecuenciaLetra(pulsoCorto); delay(pulsoLargo*3); } void SecuenciaLetra(int pulso) { for (int j=0;j<3;j++) { digitalWrite(Pin, HIGH); delay(pulso); digitalWrite(Pin, LOW); delay(pulso); } } |
Como veis en el esquema tenemos el led unido al pin digital 12. A este pin enviaremos pulsos dependiendo de la parte que queramos trasmitir. La función principal loop sigue las reglas que antes hemos mencionado enviando a la función SecuenciaLetra la duración necesaria. Esta función realiza una secuencia de tres intermitencias con la duración que le llega por parámetro.
Es un ejemplo muy sencillo y quien sabe lo mismo algún día os saca de un apuro.