MOD III: LABORATORIO #4
SENSOR TCRT5000
Ejercicio 1: Desarrollar un circuito donde el sensor detecte un obstáculo
y realice una secuencia de leds.
Lista de Materiales
| Cant. Componentes y/o dispositivos
1 Arduino UNO + cable
3 Resistor 220 [Ω] ¼ de watt
3 Led
1 Sensor óptico infrarrojo
NOTA: CADA PARTICIPANTE DEBE TRAER SU RESPECTIVA LAPTOP Y UN EXTENSOR DE VOLTAJE.
Realizar el siguiente circuito
1|6
Programa de Arduino
int sensor1 = 2;
int led1=8;
int led2=9;
int led3=10;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(sensor1, INPUT);
}
void loop()
{
digitalWrite(led1, 0);
digitalWrite(led2, 0);
digitalWrite(led3, 0);
if(digitalRead(sensor1) == 0)
{
digitalWrite(led1, 1);
delay(500);
digitalWrite(led1, 0);
digitalWrite(led2, 1);
delay(500);
digitalWrite(led2, 0);
digitalWrite(led3, 1);
delay(500);
digitalWrite(led3, 0);
}
}
2|6
ROBOT MOVIL SEGUIDOR DE LINEA ARDUINO
Ejercicio 2: Desarrollar un circuito robot móvil seguidor de línea
Lista de Materiales
Cant. Componentes y/o dispositivos
1 Arduino UNO + cable
2 Motores DC (los mismos que utilizo en los robots
móviles)
2 Sensor óptico infrarrojo
Herramientas y Materiales
Cant. Herramientas y Materiales
1 Protoboard y cables para protoboard
Destornilladores, alicates y estilete
Pistola de silicona
5 Palitos de helado
3|6
Realizar el siguiente circuito
4|6
Programa de Arduino
int pwmDer = 6;
int pwmIzq = 5;
int motorDer = 7;
int motorIzq = 4;
int sensor1 = 1;
int sensor2 = 2;
int senial1 = 0;
int senial2 = 0;
void setup()
{
pinMode(motorDer, OUTPUT);
pinMode(motorIzq, OUTPUT);
pinMode(pwmDer, OUTPUT);
pinMode(pwmIzq, OUTPUT);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
void loop()
{
analogWrite(pwmDer, 255);
analogWrite(pwmIzq, 255);
senial1 = digitalRead(sensor1);
senial2 = digitalRead(sensor2);
if (senial1 == 0 && senial2 == 0)
{
digitalWrite(motorIzq, HIGH);
digitalWrite(motorDer, HIGH);
}
if (senial1 == 1 && senial2 == 0)
{
digitalWrite(motorIzq, LOW);
digitalWrite(motorDer, HIGH);
}
if (senial1 == 0 && senial2 == 1)
{
digitalWrite(motorIzq, HIGH);
digitalWrite(motorDer, LOW);
}
if (senial1 == 1 && senial2 == 1)
{
digitalWrite(motorIzq, LOW);
digitalWrite(motorDer, LOW);
}
5|6
Forma Física
2 cm a 3 cm
EL DISEÑO PUEDE VARIAR SEGÚN SU CRITERIO, PERO DEBE CONSIDERAR LA
POSICION DE LOS SENSORES INFRARROJOS
DEBE VARIAR LAS FUNCIONES ANALOGICAS EN LA VELOCIDAD DE LOS
MOTORES
Variar de 1 a 255
analogWrite(pwmDer, 255 );
analogWrite(pwmIzq, 255 );
6|6