- El Arduino
- Nuestro clave USB
- Un LED
- Un ordenador, y
- Hemos instalado el IDE del Arduino
Ahora vamos a hacer que nos salude
¡Hola!
Antiguamente, cuando todavía no podíamos hablar por teléfono, la gente se comunicaba gracias al código Morse.
Gracias a él y con un poco de destreza, las personas transmitían el mensaje codificado en pulsaciones cortas y largas, y luego el receptor traducía estos puntos y rayas en letras, que a su vez se transformaban en palabras.
Si quisiéramos hablar con nuestro Arduino, este podría se un buen sistema. ¡Vamos a saludarle!
Repasamos entonces lo que hemos aprendido hasta la fecha.
- Abriremos el IDE de desarrollo de Arduino, abriremos una aplicación de ejemplo que incluye el propio Arduino para encender y apagar un LED, para ello
- Accederemos al menú "File" - "Examples" - "Basics" - "Blink"
Y esto nos abrirá un ventana con un código muy parecido a éste:
si ahora conectamos nuestro Arduino por con el cable USB y pulsamos el botón Subir Sketch
Podremos ver que después de un instante nuestro pequeño Arduino, aprende a guiñarnos un ojo
Bueno, a su manera, todavía no es más que un pequeño cerebro que acaba de nacer
Esto en código Morse sería como estar escuchando a nuestro Arduino decir ¡eeeeeee!
Nuestro pobre robot todavía es un bebé que está aprendiendo a comunicarse
Así que lo primero que vamos a enseñarle es a decirnos Hola, pero como todavía no puede hablar, usará el código Morse y los guiños de sus ojos. Nota: Al final de esta entrada, está el Sketch que vamos a usar para enseñar a nuestro bebé.
Con esto habrás creado tu primer Sketch. En la próxima entrada, explicaremos línea a línea lo que hemos hecho.
Tu robot debería saludarte de la siguiente manera.
/*
Dime ¡Hola!
Usando Codigo Morse un LED situado en el pin 13 del Arduino, se encendera y apagara
segun el siguiente codigo
H=....
o=---
l=.-..
a=.-
Para ello vamos a definir un pulso corto como un "guiño" de media decima de segundo, o lo que es lo mismo 50 milisegundos y un "guiño" largo como un "guiño" de medio segundo, o lo que es lo mismo 500 milisegundos
y separamos cada letra de otra por un tiempo de un segundo, o lo que es lo mismo 1000 milisegundos
y separamos la palabra "Hola" de la proxima "Hola", por dos segundo,
o lo que es lo mismo por 2000 milisegundos
* Creado Junio, 26 2013 por M. Dominguez
* copyleft 2013
* basado en un orginal de B¡link Arduino
*/
// Pin 13 del Arduino debe tener un LED conectado, la patita larga o anodo, al pin 13,
// y la patita corta o catodo al pin GND
// Primero le decimos a nuestro Arduino donde vamos a conectarle el LED
// Así la primera parte de un Sketch será la declaración de variables, donde definiremos las variables globales
int led = 13;
// Ahora viene una parte que solo se ejecuta una vez tras el arranque de la placa Arduino
// suele utilizarse para definir los pines que vamos a utilizar y declararlos como entradas o como salidas,
// esto es canales que "escuchan" (entradas) o "hablan" (salidas)
void setup() {
// aqui le decimos a nuestro Arduino que el LED, es para que hable, o lo que es lo mismo un OUTPUT (salida en ingles)
pinMode(led, OUTPUT);
}
// Es la parte principal de nuestro programa pues en el tendremos que poner el código para que nuestro Arduino
// lo ejecute de manera repetitiva, es decir,
// esta parte del Sketch se repetirá una y otra vez mientras la placa Arduino tenga energía.
void loop() {
// Escribimos la H =....
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
delay(2000); // esperamos dos segundos (o 2000 milisegundos) para que podamos apuntar cada codigo y separar cada letra
// Escribimos la O=---
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(500); // esperamos medio segundo o lo que es lo mismo 500 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(500); // esperamos medio segundo o lo que es lo mismo 500 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(500); // esperamos medio segundo o lo que es lo mismo 500 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
delay(2000); // esperamos dos segundos (o 2000 milisegundos) para que podamos apuntar cada codigo y separar cada letra
// Escribimos la L=.-..
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(500); // esperamos medio segundo o lo que es lo mismo 500 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
delay(2000); // esperamos dos segundos (o 2000 milisegundos) para que podamos apuntar cada codigo y separar cada letra
// Escribimos la A=.-
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(50); // esperamos media decima de segundo o lo que es lo mismo 50 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
digitalWrite(led, HIGH); // el LED se enciende, y para ello le decimos que se ponga arriba (HIGH en ingles)
delay(500); // esperamos medio segundo o lo que es lo mismo 500 milisegundos
digitalWrite(led, LOW); // el LED se apaga, y para ello le decimos que se ponga abajo (LOW en ingles)
delay(1000); // esperamos un segundo (o 1000 milisegundos) para que podamos apuntar cada codigo
// Esperamos un ratito (5 segundos o lo que es lo mismo 5000 milisegundos) para volver a empezar
delay(5000); // esperamos 5 segundos (o 5000 milisegundos) para que podamos apuntar cada codigo y separar cada letra
}
No hay comentarios:
Publicar un comentario