Proyecto 1:Comunicación serial, “Hola mundo!”
Introducción:Comencemos desde CERO, con algo muy simple, solo necesitas
la placa Arduino y un cable USB para realizar el proyecto comunicación serial, “Hola Mundo!”. Este proyecto es una prueba de comunicación entre la placa Arduino y la PC.Hardware a Utilizar:
Placa Arduino
Cable USBConexiones del circuito:
Conecta un extremo del cable USB a la placa Arduino, conecta el otro extremo a un puerto disponible en tu PCPrograma de ejemplo:Ahora escribiremos el código y compilaremos el sketch para que Arduino “imprima” (presente en la ventana del monitor serial): “HolaMundo!” cuando se le dé la instrucción y programaremos el led interno de laplaca Arduino (este se encuentra conectado al pin digital 13) para que destelle cuando reciba dicha instrucción.
Inicia el IDE de Arduino y escribe el siguiente código:
El texto en negritas es solo para llamar tu atención, no hay negritas en el programa Arduino
/////
int val; // declara la variable val como entera, no le asigna un valor inicial
int ledpin=13; // declara la variable ledpin como entera y le asigna el valor 13
void setup() //_____________________________________________________
{ //______________________________________________________
Serial.begin(9600); // Inicializa la comunicación serial velocidad (baudrate) 9600
pinMode(ledpin,OUTPUT); // variable ledpin la configura como SALIDA
} //______________________________________________________
void loop() //_______________________________________________________
{ // se abre llave de función void loop
val=Serial.read(); // Lee el contenido del monitor serial , asigna el valor a val
if (val=='R') // si val es igual a “R” se ejecuta el código de la función if *
{ // abre llave función if, comienzan instrucciones de esta función
digitalWrite(ledpin,HIGH); // enciende el LED en el pin 13 etiquetado como ledpin
delay(500); // espera 500 milisegundos (medio segundo)
digitalWrite(ledpin,LOW); //apaga el LED en el pin 13 etiquetado como ledpin
delay(500); // espera 500 milisegundos (medio segundo)
Serial.println( "Hola Mundo!" ) ; // muestra el texto en la ventana demonitor serial
} // se cierra llavefunción if
} // se cierra llave defunción void loop
/////*NOTA IMPORTANTE: en la línea del sketch if (val=='R') , la R está entre comillas simples,
Teclado en Inglés: dos teclas a la derecha de la tecla L
Teclado en Español (Latinoamerica, @ en la tecla Q): tecla del signo ?
Teclado en Español (España, @ en la tecla 2): tecla del signo ?
Así se verá en la ventana de programación de Arduino:
Seguramente lo primero que notaste son los diferentes colores que Arduino asigna al texto y como habrás notado si la sintaxis es incorrecta el comando no tomará su color respectivo.
Ahora haz clic sobre una llave { o }, observa como Arduino encierra en un rectángulo la llave que es pareja (complemento) de la que seleccionaste, esto ayuda a encontrar errores.
Haz clic en el icono Verificar
de la aplicación, Arduino te pedirá que guardes tu
sketch
, dale nombre y selecciona la ruta donde deseas guardarlo, (puedes hacer una carpeta y llamarla “Prácticas Arduino” ya sea en Escritorio o en Mis Documentos) ahora Arduino revisará el
sketch
y te informará si existe algún error, en este punto es de esperarse que tengas más de un error de sintaxis, revisa las líneas del código que te sean resaltadas por Arduino, corrígelas y revisa de nuevo. Una vez que tu programa esté libre de errores la parte inferior debe verse como esta:
Consejo: En la aplicación de Arduino da clic en Archivo / Preferencias y marca la casilla Mostrar números de línea, da clic en Ok. De esta forma el sketch tendrá las líneas numeradas, cuando tengas un error te será más fácil encontrar la línea por su número.
Si no lo has hecho, conecta tu placa Arduino al PC, selecciona tu placa Arduino haciendo clic en: Herramientas / Placa / Arduino / Genuino Mega or Mega 2560
ahora selecciona el puerto de comunicación clic en: Herramientas / Puerto y selecciona el puerto COM asignado a tu Arduino.
Haz clic en el icono de Subir
para cargar tu
sketch
a la placa Arduino, espera a que los LEDs de comunicación (TX y RX) en la placa destellen indicando que se cargó el programa.
En el IDE de Arduino haz clic en el icono Monitor Serie
, la ventana de Monitor serial se abrirá, escribe R y haz clic en el botón Enviar, el LED en el pin 13, etiquetado como pinled destellará una vez y en la ventana del Monitor Serial aparecerá el texto: “Hola Mundo!”
Explicación rápida de las Instrucciones y funciones utilizadas hasta este momento:
int declara una variable como entera
Serial.begin(XXXXX) Inicializa la comunicación serial y le asigna el baud rate XXXXX
pinMode(X,OUTPUT) determina si X será entrada o salida (INPUT, OUTPUT)
Serial.read Lee el contenido del cuadro de texto de la ventana monitor serial
if (X==Y) función condicionante, compara valores, si se cumple la comparación se ejecuta
digitalWrite(X,HIGH) determina encendido o apagado, alto o bajo (HIGH, LOW)
delay(X) espera X milisegundos antes de continuar con la siguiente instrucción
Serial.println( "XXX" ) muestra el texto o el valor en la ventana de monitor serial (ln salto de línea)
Reto de proyecto1: modifica el código de manera que al enviar R Arduino conteste: “HolaMundo!” y al enviar X el LED destelle dos veces y Arduino conteste: “AdiosMundo Cruel!”

Nota importante: Omito de forma intencional los acentos dentro de los sketches ya que el IDE de Arduino no los interpreta correctamente. Son faltas de ortografía intencionales.
Concepto de Variables:
Como su nombre lo sugiere, una variable es algo que va a variar o cambiar, para explicarlo en forma muy simple supongamos que tenemos tres cubetas vacías, su contenido puede variar dependiendo de lo que pongamos dentro de ellas, para identificar cada cubeta le pondremos una etiqueta con su nombre, esta etiqueta no solo identifica a la cubeta, también nos dice qué tipo de contenido tiene.
Empezaremos con 3 tipos de variables para proseguir con nuestro proyecto:
int Variable de tipo entera (almacena valores enteros)
float Variable numérica con punto decimal (punto flotante)
string Variable que almacena cualquier cadena de caracteres (letras y números)Realizaremos un nuevo sketch para interactuar con la comunicación serial entre la aplicación IDE y nuestra placa Arduino./////
String Nombre; // declaramos variable de tipo cadena (string) Nombre
int Edad; // declaramos variable de tipo entera Edad
float Altura; //declaramos variable de tipo punto flotante Altura
void setup() // inicia función de configuración
{ // abre llave función configuración
Serial.begin (9600); // iniciamos comunicación serial
} // cierra llave función configuración
void loop() // inicia función de ejecución (bucle)
{ // se abre llave función de ejecución
Serial.println ( "Cual es tu nombre? " ) ; // envía el texto al monitor serial
while (Serial.available()==0) // espera a que el usuario escriba algo
{ // se abre llave función while
} // se cierra llave función while
Nombre = Serial.readString(); //almacena el texto en la variable Nombre
Serial.println ( "Que edad tienes? " ) ; // envía el texto al monitor serial
while (Serial.available()==0) // espera a que el usuario escriba algo
{ //__________________________________________
} //__________________________________________
Edad = Serial.parseInt(); // almacena el valor entero en la variable Edad
Serial.println ( "Cuanto mides? " ) ; // envía el texto al monitor serial
while (Serial.available()==0) // espera a que el usuario escriba algo
{ //__________________________________________
} //__________________________________________
Altura = Serial.parseFloat(); //almacena el valor de punto flotante en la variable Altura
Serial.println ( " " ) ; // envía una línea sin texto al monitor serial, salta línea (ln)
Serial.print ( "Hola " ) ; //envía el texto al monitor serial
Serial.print (Nombre); // envía la cadena de texto de la variable Nombre al monitor
Serial.print ( ", Tu edad es " ) ; // envía texto al monitor serial
Serial.println (Edad); // envía el valor entero de la variable Edad al monitor serial
Serial.print ( "y tu estatura es " ) ; // envía el texto al monitor serial
Serial.println (Altura); // envía elvalor de punto flotante de la variable Altura al monitor
Serial.println ( " " ) ; // envía una línea sin texto al monitor serial, salta línea (ln)
} // se cierra llave función ejecución (loop)
/////
Revisa y si no tienes errores sube el sketch a tu placa Arduino, abre la ventana del monitor serial, responde a las preguntas escribiendo en el cuadro de texto superior de la ventana del monitor serial, da clic en Enviar para mandar la respuesta.
Explicación rápida de las Instrucciones y funciones utilizadas hasta este momento:String declara una variable de tipo cadena de texto
int declara una variable de tipo entera
float declara una variable de tipo punto flotante
while (parámetro) función while se ejecuta mientras se cumpla el parámetro
{ entre las llaves se escriben las instrucciones a ejecutar
} la función termina cuando se deja de cumplir el parámetro
Serial.readString() lee una variable de tipo String desde el monitor serial
Serial.parseInt() lee una variable de tipo int desde el monitor serial
Serial.parseFloat() lee una variable de tipo float desde el monitor serial
************************************************************************
Problemas escribiendo el código? descarga los ejemplos desde mi carpeta compartida en Dropbox: https://www.dropbox.com/sh/w5h38cdrynqdwhf/AABP7b9T3ADbO4KqiPm4pO-9a?dl=0
Sigue: Proyecto 2: LED Intermitente
https://www.taringa.net/posts/ciencia-educacion/19687673/Tutoriales-Arduino-Proyecto-2-LED-Intermitente.html
Introducción:Comencemos desde CERO, con algo muy simple, solo necesitas
la placa Arduino y un cable USB para realizar el proyecto comunicación serial, “Hola Mundo!”. Este proyecto es una prueba de comunicación entre la placa Arduino y la PC.Hardware a Utilizar:
Placa Arduino
Cable USBConexiones del circuito:
Conecta un extremo del cable USB a la placa Arduino, conecta el otro extremo a un puerto disponible en tu PCPrograma de ejemplo:Ahora escribiremos el código y compilaremos el sketch para que Arduino “imprima” (presente en la ventana del monitor serial): “HolaMundo!” cuando se le dé la instrucción y programaremos el led interno de laplaca Arduino (este se encuentra conectado al pin digital 13) para que destelle cuando reciba dicha instrucción.
Inicia el IDE de Arduino y escribe el siguiente código:
El texto en negritas es solo para llamar tu atención, no hay negritas en el programa Arduino
/////
int val; // declara la variable val como entera, no le asigna un valor inicial
int ledpin=13; // declara la variable ledpin como entera y le asigna el valor 13
void setup() //_____________________________________________________
{ //______________________________________________________
Serial.begin(9600); // Inicializa la comunicación serial velocidad (baudrate) 9600
pinMode(ledpin,OUTPUT); // variable ledpin la configura como SALIDA
} //______________________________________________________
void loop() //_______________________________________________________
{ // se abre llave de función void loop
val=Serial.read(); // Lee el contenido del monitor serial , asigna el valor a val
if (val=='R') // si val es igual a “R” se ejecuta el código de la función if *
{ // abre llave función if, comienzan instrucciones de esta función
digitalWrite(ledpin,HIGH); // enciende el LED en el pin 13 etiquetado como ledpin
delay(500); // espera 500 milisegundos (medio segundo)
digitalWrite(ledpin,LOW); //apaga el LED en el pin 13 etiquetado como ledpin
delay(500); // espera 500 milisegundos (medio segundo)
Serial.println( "Hola Mundo!" ) ; // muestra el texto en la ventana demonitor serial
} // se cierra llavefunción if
} // se cierra llave defunción void loop
/////*NOTA IMPORTANTE: en la línea del sketch if (val=='R') , la R está entre comillas simples,
Teclado en Inglés: dos teclas a la derecha de la tecla L
Teclado en Español (Latinoamerica, @ en la tecla Q): tecla del signo ?
Teclado en Español (España, @ en la tecla 2): tecla del signo ?
Así se verá en la ventana de programación de Arduino:
Seguramente lo primero que notaste son los diferentes colores que Arduino asigna al texto y como habrás notado si la sintaxis es incorrecta el comando no tomará su color respectivo.
Ahora haz clic sobre una llave { o }, observa como Arduino encierra en un rectángulo la llave que es pareja (complemento) de la que seleccionaste, esto ayuda a encontrar errores.
Haz clic en el icono Verificar
de la aplicación, Arduino te pedirá que guardes tu
sketch
, dale nombre y selecciona la ruta donde deseas guardarlo, (puedes hacer una carpeta y llamarla “Prácticas Arduino” ya sea en Escritorio o en Mis Documentos) ahora Arduino revisará el
sketch
y te informará si existe algún error, en este punto es de esperarse que tengas más de un error de sintaxis, revisa las líneas del código que te sean resaltadas por Arduino, corrígelas y revisa de nuevo. Una vez que tu programa esté libre de errores la parte inferior debe verse como esta:
Consejo: En la aplicación de Arduino da clic en Archivo / Preferencias y marca la casilla Mostrar números de línea, da clic en Ok. De esta forma el sketch tendrá las líneas numeradas, cuando tengas un error te será más fácil encontrar la línea por su número.
Si no lo has hecho, conecta tu placa Arduino al PC, selecciona tu placa Arduino haciendo clic en: Herramientas / Placa / Arduino / Genuino Mega or Mega 2560
ahora selecciona el puerto de comunicación clic en: Herramientas / Puerto y selecciona el puerto COM asignado a tu Arduino.
Haz clic en el icono de Subir
para cargar tu
sketch
a la placa Arduino, espera a que los LEDs de comunicación (TX y RX) en la placa destellen indicando que se cargó el programa.
En el IDE de Arduino haz clic en el icono Monitor Serie
, la ventana de Monitor serial se abrirá, escribe R y haz clic en el botón Enviar, el LED en el pin 13, etiquetado como pinled destellará una vez y en la ventana del Monitor Serial aparecerá el texto: “Hola Mundo!”
Explicación rápida de las Instrucciones y funciones utilizadas hasta este momento:
int declara una variable como entera
Serial.begin(XXXXX) Inicializa la comunicación serial y le asigna el baud rate XXXXX
pinMode(X,OUTPUT) determina si X será entrada o salida (INPUT, OUTPUT)
Serial.read Lee el contenido del cuadro de texto de la ventana monitor serial
if (X==Y) función condicionante, compara valores, si se cumple la comparación se ejecuta
digitalWrite(X,HIGH) determina encendido o apagado, alto o bajo (HIGH, LOW)
delay(X) espera X milisegundos antes de continuar con la siguiente instrucción
Serial.println( "XXX" ) muestra el texto o el valor en la ventana de monitor serial (ln salto de línea)
Reto de proyecto1: modifica el código de manera que al enviar R Arduino conteste: “HolaMundo!” y al enviar X el LED destelle dos veces y Arduino conteste: “AdiosMundo Cruel!”

Nota importante: Omito de forma intencional los acentos dentro de los sketches ya que el IDE de Arduino no los interpreta correctamente. Son faltas de ortografía intencionales.
Concepto de Variables:
Como su nombre lo sugiere, una variable es algo que va a variar o cambiar, para explicarlo en forma muy simple supongamos que tenemos tres cubetas vacías, su contenido puede variar dependiendo de lo que pongamos dentro de ellas, para identificar cada cubeta le pondremos una etiqueta con su nombre, esta etiqueta no solo identifica a la cubeta, también nos dice qué tipo de contenido tiene.
Empezaremos con 3 tipos de variables para proseguir con nuestro proyecto:
int Variable de tipo entera (almacena valores enteros)
float Variable numérica con punto decimal (punto flotante)
string Variable que almacena cualquier cadena de caracteres (letras y números)Realizaremos un nuevo sketch para interactuar con la comunicación serial entre la aplicación IDE y nuestra placa Arduino./////
String Nombre; // declaramos variable de tipo cadena (string) Nombre
int Edad; // declaramos variable de tipo entera Edad
float Altura; //declaramos variable de tipo punto flotante Altura
void setup() // inicia función de configuración
{ // abre llave función configuración
Serial.begin (9600); // iniciamos comunicación serial
} // cierra llave función configuración
void loop() // inicia función de ejecución (bucle)
{ // se abre llave función de ejecución
Serial.println ( "Cual es tu nombre? " ) ; // envía el texto al monitor serial
while (Serial.available()==0) // espera a que el usuario escriba algo
{ // se abre llave función while
} // se cierra llave función while
Nombre = Serial.readString(); //almacena el texto en la variable Nombre
Serial.println ( "Que edad tienes? " ) ; // envía el texto al monitor serial
while (Serial.available()==0) // espera a que el usuario escriba algo
{ //__________________________________________
} //__________________________________________
Edad = Serial.parseInt(); // almacena el valor entero en la variable Edad
Serial.println ( "Cuanto mides? " ) ; // envía el texto al monitor serial
while (Serial.available()==0) // espera a que el usuario escriba algo
{ //__________________________________________
} //__________________________________________
Altura = Serial.parseFloat(); //almacena el valor de punto flotante en la variable Altura
Serial.println ( " " ) ; // envía una línea sin texto al monitor serial, salta línea (ln)
Serial.print ( "Hola " ) ; //envía el texto al monitor serial
Serial.print (Nombre); // envía la cadena de texto de la variable Nombre al monitor
Serial.print ( ", Tu edad es " ) ; // envía texto al monitor serial
Serial.println (Edad); // envía el valor entero de la variable Edad al monitor serial
Serial.print ( "y tu estatura es " ) ; // envía el texto al monitor serial
Serial.println (Altura); // envía elvalor de punto flotante de la variable Altura al monitor
Serial.println ( " " ) ; // envía una línea sin texto al monitor serial, salta línea (ln)
} // se cierra llave función ejecución (loop)
/////
Revisa y si no tienes errores sube el sketch a tu placa Arduino, abre la ventana del monitor serial, responde a las preguntas escribiendo en el cuadro de texto superior de la ventana del monitor serial, da clic en Enviar para mandar la respuesta.
Explicación rápida de las Instrucciones y funciones utilizadas hasta este momento:String declara una variable de tipo cadena de texto
int declara una variable de tipo entera
float declara una variable de tipo punto flotante
while (parámetro) función while se ejecuta mientras se cumpla el parámetro
{ entre las llaves se escriben las instrucciones a ejecutar
} la función termina cuando se deja de cumplir el parámetro
Serial.readString() lee una variable de tipo String desde el monitor serial
Serial.parseInt() lee una variable de tipo int desde el monitor serial
Serial.parseFloat() lee una variable de tipo float desde el monitor serial
************************************************************************
Problemas escribiendo el código? descarga los ejemplos desde mi carpeta compartida en Dropbox: https://www.dropbox.com/sh/w5h38cdrynqdwhf/AABP7b9T3ADbO4KqiPm4pO-9a?dl=0
Sigue: Proyecto 2: LED Intermitente
https://www.taringa.net/posts/ciencia-educacion/19687673/Tutoriales-Arduino-Proyecto-2-LED-Intermitente.html