Home Assistant Fácil

Curso de Home Assistant y domótica

  • Blog
  • Soy un pardillo
  • Podcast
  • Curso Arduino
  • Curso Domótica
  • Acceder
Usted está aquí: Inicio / Tutoriales / Fragmentos / Arduino / SOS en Arduino, código morse

SOS en Arduino, código morse

Comentarios(4)
Luis del Valle Hernández

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:

  • Esquema código morse

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:

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.

NUKI SMART LOCK

Nuki Smart Lock Go, Pro o Ultra: cuál comprar y la prueba que lo decide todo

Mira chapapote, imagina la cara de tonto que se te queda cuando te gastas casi 350 pavos en una cerradura inteligente Nuki, llega a casa, la abres con … [+ info...]

slzb-06

SLZB-06U: migrar coordinador Zigbee desde Sonoff Dongle P (y por qué el Dongle E es diferente)

Vale, lo confieso: no hay nada que me dé más pereza en domótica que tener que migrar toda la red Zigbee. El típico momento en el que tu viejo … [+ info...]

Home Assistant 2026.6

Home Assistant 2026.6: dashboard inteligente, IR bidireccional y automatizaciones más claras

Llevas meses peleándote con el dashboard de Home Assistant: añadir una tarjeta requería saber de memoria el nombre de cada tipo de bloque, y al final … [+ info...]

Copyright © 2026 · Programar Fácil · Aviso legal