Sensores y comunicación serial

IntroducciónEditar

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.

MaterialesEditar

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

 
Material

Armando un sensor de luzEditar

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

Paso 1Editar

Coloca la fotorresistencia en tu protboard ocupando dos filas diferentes.

 
Paso 1

Paso 2Editar

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 3Editar

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

 
Paso 3

Paso 4Editar

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

 
Paso 4

Paso 5Editar

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

 
Paso 5

Paso 6Editar

Conecta tu Arduino a tu computadora utilizando el cable USB.

Paso 7Editar

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 8Editar

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

 
Paso 8

Paso 9Editar

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 numeros en la pantalla, también puedes intentar prender y apagar las luces.

 
Paso 9

Conectando un sensor de proximidad IREditar

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 1Editar

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

 
Cable negro a GND

Paso 2Editar

Conecta el cable rojo a 5v en tu Arduino.

 
Cable rojo a 5v

Paso 3Editar

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

 
Cable amarillo a A0

Paso 4Editar

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 5Editar

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"

RepasoEditar

  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?