Sensores y comunicación serial

Introducción

editar

Muchas de las aplicaciones que utilizan robots requieren que estos respondan al ambiente en el que se encuentran. Para percibir el mundo los robots utilizan sensores que le informan sobre las condiciones en las que se encuentra. Algunas de las cosas que dichos sensores pueden medir son temperatura, luz, distancia, sonido e inclinación entre muchas otras. En esta actividad aprenderás a conectar sensores de luz y de distancia a tu Arduino, también aprenderás como hacer que el Arduino mande información a tu computadora.

Materiales

editar

1 Fotorresistencia, 1 Sensor de distancia IR, 1 Resistencia de 10KΩ (Es la que tiene líneas Café-Negro-Naranja-Dorado), 1 Protoboard, 1 Arduino, 1 Cable USB para el Arduino, 1 LED, Alambre aislado (cable)

 
Material

Armando un sensor de luz

editar

Esta sección te enseñará a crear un sensor con el cual tu Arduino pueda medir la cantidad de luz que recibe.

Paso 1

editar

Coloca la fotorresistencia en tu protboard ocupando dos filas diferentes.

 
Paso 1

Paso 2

editar

Coloca la resistencia de 10KΩ con un lado conectado a la misma fila de la fotorresistencia y el otro lado a una fila nueva.

 
Paso 2

Paso 3

editar

Con un cable conecta la fila de la resistencia de 10KΩ a tierra en el Arduino, es el pin marcado GND.

 
Paso 3

Paso 4

editar

Utilizando otro cable conecta la fila de la fotorresistencia a 5v.

 
Paso 4

Paso 5

editar

Con un tercer cable conecta la fila donde están conectadas la fotorresistencia y la resistencia de 10KΩ al pin análogo 0 del arduino, marcado A0.

 
Paso 5

Paso 6

editar

Conecta tu Arduino a tu computadora utilizando el cable USB.

Paso 7

editar

Abre el ambiente de desarrollo Arduino y copia y pega el siguiente código. Alternativamente puedes descargar el código de la página de Freelem (http://www.freelem.aityc.org/sketches/sensoresYserial/sensoresYserial.pde) y abrirlo en el ambiente de desarrollo.

/*
  Leer señal analoga
  Lee una señal proveniente de un sensor conectado al Pin analogo 0.
  Manda la lectura como informacion serial.
  Nota: Este archivo no acepta acentuacion.
 */
int valorSensor; //Declara la variable ValorSensor

void setup() { //Configuracion inicial del Arduino (solo corre 1 vez)
  Serial.begin(9600); //Inicializa el puerto serial a 9600 bits/segundo
}

void loop() { //El programa principal (se repite por siempre)
  valorSensor = analogRead(A0); //Toma una lectura del pin analogo 0 (A0) y se la asigna a valorSensor
  Serial.println(valorSensor); //Manda la lectura del sensor como informacion serial.
}

Paso 8

editar

Carga el código a tu Arduino presionando el botón "upload" (marcado con rojo en la imagen).

 
Paso 8

Paso 9

editar

Abre el monitor serial desde el ambiente de desarrollo, el botón esta marcado con rojo en la imagen. Observaras que aparecen números en la pantalla. Con tu mano has sombra sobre el sensor de luz y observa como cambian los números en la pantalla, también puedes intentar prender y apagar las luces.

 
Paso 9

Conectando un sensor de proximidad IR

editar

A veces es necesario que un robot mida distancias. En esta sección aprenderás a conectar un sensor de distancia infrarrojo. Este sensor funciona como una regla electrónica.

Paso 1

editar

Conecta el cable negro a un pin de tierra en tu Arduino (Marcado como GND).

 
Cable negro a GND

Paso 2

editar

Conecta el cable rojo a 5v en tu Arduino.

 
Cable rojo a 5v

Paso 3

editar

Conecta el cable amarillo o blanco (dependiendo del modelo del sensor) al pin análogo 0 marcado A0.

 
Cable amarillo a A0

Paso 4

editar

Asegurare de que tu Arduino tiene el código de la sección anterior. Si no estas seguro sigue los pasos 7 y 8 de la sección anterior.

Paso 5

editar

Abre el monitor serial desde el ambiente de desarrollo, el botón esta marcado con rojo en la imagen. Observaras que aparecen números en la pantalla. Acerca y aleja tu mano o cualquier objeto del sensor y observa como cambian los números.

 
Boton "Interfaz Serial"

Repaso

editar
  1. Ve al paso 7 de la sección Armando un sensor de luz, lee los comentarios del código (marcados con //) y responde las siguientes preguntas: ¿Qué hace la instrucción analogRead()? ¿Qué hace la instrucción Serial.println()?
  2. Cuando creas una sombra sobre el sensor de luz ¿los números se vuelven más grandes o más chicos? ¿Qué le pasa a los números cuando el sensor tiene más luz?
  3. Cuando acercas cosas al sensor de distancia ¿los números se vuelven más grandes o más chicos? ¿Qué le pasa a los números cuando las cosas se alejan del sensor?
  4. ¿Qué usos se te ocurre que pueden tener los sensores de luz y de distancia?