Práctica 5 #arduino: señal SOS, código morse

En esta práctica vamos a reproducir la famosa señal internacional de socorro SOS utilizando un led programado con arduino.

En el siguiente enlace tenéis un poco de historia del origen de la señal SOS como señal de socorro internacional: historia señal SOS.

¿Qué es el código morse?

El código Morse es un medio de comunicación, basado en un alfabeto alfanumérico compuesto por puntos y rayas, en el que el envío de mensajes se realiza a través de una secuencia de sonidos o luces. En función de la duración del sonido o luz se puede distinguir entre si es una raya o un punto y, en base a ello, realizar la conversión a la letra o el número correspondiente.

En la siguiente imagen se puede apreciar la tabla de equivalencias en comunicación morse.

Con esta tabla podréis crear cualquier tipo de mensaje en código Morse empleando el entorno de programación de Arduino.

Reglas básicas del morse:

  • Los puntos son pulsos cortos.
  • Las rayas son pulsos largos.
  • El punto es 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 y la O se codifica con tres rayas.

Para nuestra práctica hemos establecido como señal mínima (un punto) un tiempo de 200 milisegundos.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • 1 Resistencia 120 Ω
  • Cables

Sigue leyendo

Anuncios

Práctica 4 #arduino: simular latidos de corazón con un led

Seguimos realizando prácticas con leds y en este caso vamos a realizar la simulación de los latidos de un corazón.

Sabemos que un corazón late dos veces muy seguidas y luego pasa un espacio de tiempo más largo: “pun, pun, ………., pun, pun”.

Para unas 80 pulsaciones por minuto nos sale unos 100 milisegundos entre primer y segundo latido y unos 750 milisegundos el espacio de tiempo más largo.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • 1 Resistencia 120 Ω
  • Cables

 

ESQUEMAS

Sigue leyendo

VelezDuino 1.2: control dirección motores cc con módulo l298n

Seguimos con nuestro RobotCar 2WD construido con los tutoriales del blog de Luis LLamas (VelezDuino 1.0). En esta ocasión vamos a programar el módulo L298N directamente con las funciones de Arduino.

El módulo controlador de motores L298N nos permite controlar la velocidad y la dirección de dos motores de corriente continua.

En nuestro caso hemos optado por controlar solo la dirección de los motores, dejando el control de la velocidad para una próxima entrada.

CONEXIÓN ELÉCTRICA

Las salidas para los motores A y B nos darán la energía para mover los motores.
Los pines IN1 e IN2 nos sirven para controlar el sentido de giro del motor A, y los pines IN3 e IN4 el del motor B.
  • Si IN1 está a HIGH e IN2 a LOW, el motor A gira en un sentido, y si está IN1 a LOW e IN2 a HIGH lo hace en el otro.
  • Lo mismo con los pines IN3 e IN4 y el motor B.

Para controlar la velocidad de giro de los motores tenemos que quitar los jumpers y usar los pines ENA y ENB.

  • Los conectaremos a dos salidas PWM de Arduino de forma que le enviemos un valor entre 0 y 255 que controle la velocidad de giro.
  • Si  tenemos los jumpers colocados, los motores girarán a la siempre a la misma velocidad.

Sigue leyendo

El sensor ultrasónico HC-SR04 #arduino

Un sensor de ultrasonidos es un dispositivo para medir distancias. Su funcionamiento se base en el envío de un pulso de alta frecuencia, no audible por el ser humano. Este pulso rebota en los objetos cercanos y es reflejado hacia el sensor, que dispone de un micrófono adecuado para esa frecuencia.

Midiendo el tiempo entre pulsos, conociendo la velocidad del sonido, podemos estimar la distancia del objeto contra cuya superficie impactó el impulso de ultrasonidos. Sigue leyendo

Práctica 3 #arduino: Led intermitente (2) #ArduinoBlocks

En este caso repetimos la práctica Led intermitente (2) realizada anteriormente pero utilizando para la programación ArduinoBlocks.

ArduinoBlocks es una plataforma web online donde podemos programar nuestra placa Arduino de forma visual sin necesidad de conocer el lenguaje C++ que utiliza Arduino IDE.

El resultado es el siguiente:

CÓDIGO ARDUINOBLOCKS (1)

Otra solución es utilizar el bloque “Led” de los actuadores que funciona exactamente igual que el bloque “Escribir Digital”. Podemos usarlo de la misma forma.

CÓDIGO ARDUINOBLOCKS (2)

Inténtalo tú:

  • Modifica el programa para que se ejecute continuamente la siguiente orden utilizando variables que controlen el tiempo:
    • Encendido durante 1 segundo
    • Apagado durante medio segundo
    • Encendido durante 2 segundos
    • Apagado durante 1 segundo

Práctica 3 #arduino: Led intermitente (2)

Vamos a repetir la práctica Led intermitente (1) pero utilizando variables para controlar el tiempo:

  • time1: variable que controla el tiempo de encendido.
  • time2: variable que controla el tiempo de apagado.

Para ello hemos añadido la siguiente secuencia:

int time1=500;
int time2=100;

El comando int es el que define la variable.

MATERIAL NECESARIO
  • 1 Placa Arduino
  • 1 Placa protoboard
  • 1 Led
  • 1 Resistencia 120 Ω
  • Cables

 

ESQUEMAS

 

CÓDIGO ARDUINO
/* P03 Led intermitente 2
*  Se trata de conectar un led al pin 10, haciendo que luzca durante 500 ms y que se apague durante 100 ms
*  Este proceso se repetirá cíclicamente.
*  El led lleva conectada una resistencia de 120 Ω
*  Usamos variables para controlar el tiempo: time1 y time2
*/
int led=10; // le damos un nombre al pin 10
int time1=500; // definimos variable time1
int time2=100; // definimos variable time2
void setup ()
{
pinMode (led, OUTPUT); // configuramos el pin 10 como salida
}
void loop ()
{
digitalWrite (led, HIGH); // activa el led
delay (time1); // espera 500 ms
digitalWrite (led, LOW); // desactiva el led
delay (time2); //espera 100 ms
}

 

FUNCIONAMIENTO

Inténtalo tú:

  • Modifica el programa para que se ejecute continuamente la siguiente orden utilizando variables que controlen el tiempo:
    • Encendido durante 1 segundo
    • Apagado durante medio segundo
    • Encendido durante 2 segundos
    • Apagado durante 1 segundo

Práctica 2 #arduino: Led intermitente (1) #ArduinoBlocks

En este caso repetimos la práctica Led intermitente (1) realizada anteriormente pero utilizando para la programación ArduinoBlocks.

ArduinoBlocks es una plataforma web online donde podemos programar nuestra placa Arduino de forma visual sin necesidad de conocer el lenguaje C++ que utiliza Arduino IDE.

El resultado es el siguiente:

CÓDIGO ARDUINOBLOCKS (1)

Otra solución es utilizar el bloque “Led” de los actuadores que funciona exactamente igual que el bloque “Escribir Digital”. Podemos usarlo de la misma forma.

CÓDIGO ARDUINOBLOCKS (2)

 

Inténtalo tú:

  • Modifica los tiempos para que encienda durante 1500 ms y se apague durante 500 ms.