Sensores y comunicación serial

De Wikiversidad
Saltar a: navegación, buscar

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 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 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 analogo 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 numeros 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?