Está en la página 1de 8

MANUAL DE

PRACTICAS DE
ROBOTICA II
PRACTICA 1

COMUNICACIÓN INALÁMBRICA CON MÓDULOS DE RF DE 433MHZ

realizar una comunicación inalámbrica entre dos Arduino usando módulos de radiofrecuencia de
bajo costo.

Los módulos RF de 433Mhz son muy populares por su bajo costo y fácil uso. Vienen en pareja,
emisor (FS1000A) y receptor (XY-MK-5V), el tipo de comunicación es simplex, es decir en un solo
canal y unidireccional, son de baja velocidad de transmisión, pero para aplicaciones básicas son
muy útiles.

La frecuencia de trabajo es de 433MHz, debido a que es una banda de libre uso. Para utilizar
estos módulos basta con alimentarlos y conectar el pin de datos por un lado del Transmisor (TX)
y en otro el Receptor (RX). Para la programación no es necesario agregar ningún tipo de librería,
ya que es un proceso "transparente",
Programa transmisor y receptor:

TRANSMISOR EMISOR

include <VirtualWire.h> #include <VirtualWire.h>

void setup() void setup()


{ {
Serial.begin(9600); Serial.begin(9600); // Debugging only
Serial.println("Emisor RF"); Serial.println("setup");

// Se inicializa el RF // Se inicializa el RF
vw_setup(2000); // velocidad: Bits per vw_setup(2000); // velocidad: Bits per
segundo segundo
vw_set_tx_pin(2); //Pin 2 como salida para vw_set_rx_pin(2); //Pin 2 como entrada
el RF del RF
} vw_rx_start(); // Se inicia como
receptor
void loop()
{ pinMode(13, OUTPUT); //Configuramos
el pin del Led como entrada
digitalWrite(13, false);
while (Serial.available() > 0) }
{
char dato[1]; void loop()
dato[0] = Serial.read(); {
//Enviamos el carácter recibido al RF uint8_t dato;
vw_send((uint8_t*)dato,sizeof(dato)); uint8_t datoleng=1;
vw_wait_tx(); //verificamos si hay un dato valido en el RF
} if (vw_get_message(&dato,&datoleng))
delay(200); {
} if((char)dato=='a')
{
digitalWrite(13, true); //Encendemos
el Led
}
else if((char)dato=='b')
{
digitalWrite(13, false); //Apagamos el
Led
}
}
}
TRANSMISOR Y RECEPTOR

NOTA IMPORTANTE:

El pin data tanto receptor como transmisor va al pin 2 de cada Arduino como asi un led en el pin
13 del receptor

APLICACIÓN:

Cargar los programas en cada Arduino y hacer el siguiente proceso, ir a monitor serial
(transmisor) y escribir en el teclado la letra “a” intro para encender el led y escribir la letra “b”
intro para apagarlo utilizar antenas de 17 cm para cada modulo para satisfacer las distancias

Realizar la prueba con propios materiales (equipo de 2 personas)

Prueba en 1.5 metros

Prueba en 3 metros

Prueba en 5 metros

Prueba en 10 metros

CONCLUSION:
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
PRACTICA 2:

CIRCUTOS INFRARROJO (SEGUIDOR DE LUZ) CON ARDUINO

El “robot seguidor de luz” que se propone, es un dispositivo móvil con tres ruedas, dos movidas
cada una por un motor (ruedas motrices), y la tercera será loca. Se dispone de dos sensores de
luz (LDR), cada uno controlará a los motores de las ruedas motrices. El funcionamiento será el
siguiente: si sobre la LDR no incide luz suficiente, el dispositivo electrónico no activa el motor
(rueda no gira). En el caso de que incida luz sobre LDR, esta activará al motor (rueda gira). Para
que pueda seguir el foco de luz, la LDR derecha actúa sobre el motor izquierdo y viceversa, de
esta forma si el foco de luz está delante, ambas ruedas se activan y avanza en línea recta; si sólo
se activa una LDR, el robot gira buscando de donde viene el foco de luz.

CIRCUITO PARA ARMAR Y COMPROBAR EL FUNCIONAMIENTO DEL LDR

CONCLUSIONES:

________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________

REALIZACION DE PROGRAMA (CLASE) ROBOT SIGUE LA LUZ


REALIZAR PROGRAMA PARA DOS SENSORES LDR PARA SEGUIMIENTO A LA DERECHA O
IZQUIERDA USANDO CONEXIÓN POLARIZACION LDR

NOTA IMPORTANTE: COLOCAR LOS DOS SENSORES DE FORMA ADECUADA PARA EL


FUNCIONAMIENTO CORRECTO DEL CARRITO

CONCLUSIONES:

________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
________________________________________________________________________________
PRACTICA 3

ROBOT CATARINA CON RF

Analizar el siguiente programa y mejorar o agregar líneas de programación en emisor para que
camine hacia atrás o adelante

TRANSMISOR EMISOR

#include <VirtualWire.h>
include <VirtualWire.h>
void setup()
void setup() {
{ Serial.begin(9600); // Debugging only
Serial.begin(9600); Serial.println("setup");
Serial.println("Emisor RF");
// Se inicializa el RF
// Se inicializa el RF vw_setup(2000); // velocidad: Bits per
vw_setup(2000); // velocidad: Bits per segundo
segundo vw_set_rx_pin(2); //Pin 2 como entrada
vw_set_tx_pin(2); //Pin 2 como salida para del RF
el RF vw_rx_start(); // Se inicia como
} receptor

void loop() pinMode(13, OUTPUT); //Configuramos


{ el pin del Led como entrada
digitalWrite(13, false);
}
while (Serial.available() > 0)
{ void loop()
char dato[1]; {
dato[0] = Serial.read(); uint8_t dato;
//Enviamos el carácter recibido al RF uint8_t datoleng=1;
vw_send((uint8_t*)dato,sizeof(dato)); //verificamos si hay un dato valido en el RF
vw_wait_tx(); if (vw_get_message(&dato,&datoleng))
} {
delay(200); if((char)dato=='a')
} {
digitalWrite(13, true); //Encendemos
el Led
}
else if((char)dato=='b')
{
digitalWrite(13, false); //Apagamos el
Led
}
}
}

También podría gustarte