Post on 28-Oct-2015
ROBOT MOVIL
SEGUIDOR DE LINEA NEGRA(Sensores infrarojos/Pinguino/motores continuos)
Diagrama de bloques
Pinguino
L293DMotor Izquierdo
Sensor derechoSensor izquierdo
COMPONENTES
● Soporte (Chasis)● Sensores (entradas)● Pinguino (cerebro)● Motores (salidas)● Caja de Herramientas, equipos, instrumentos e
insumos● En este enlace puedes visualizar elementos de
taller● El programa del pinguino
Soporte
● Chasis● Madera.● Acrílico.● Placa universal stripboard
● Pernos, tornillos.
Sensores
● CNY70.● Resistencias
● 220 Ohmios● 47K
● Socket 14 pines.
CNY70
Al CI40106
K: CátodoA: Anodo
C: ColectorE: Emisor
Vista sobre una mesaCon las patitas hacia nosotros
La leyenda hacia arriba
Motores
● Motores continuos.● Caja reductora.● L293D● Sockect 16 pines.
Motores continuos y reductores
L293D (controla giro bidireccional)
VCC2 - 4.5 a 36 vAlimentación de los
motores
VCC1 - 5vAlimentación del circuito
Motorizquierdo
Motorderecho
PIC (8)
PIC (9)
PIC (11)
PIC (10)
5v
5v
Microcontrolador
● Pinguino● Alimentación
● Portapila tipo batería.● Pila tipo batería 9v
● Software● IDE Pinguino● Lenguaje SDCC● Programa siguelineas
Configuración básica de Pinguino
Configuración pinguino/sensores/motores
L293D
L293D
2
7
15
10
Sensor izquierdo
Sensor derecho
MotorIzquierdo
Motorderecho
3 6
14 11
PINGUINO
13
14
7
6
5
4
ALIMENTACION DEL ROBOT
Pila 9 v
NEGATIVO COMUN
POSITIVO Al regulador 7805 del pinguino
Al pin 8 delL293D
Nota: El L293D calienta normalmente, en caso que caliente demasiado se recomienda usar un disipador de calor.
Caja de herramientas
● Caja de plástico.● Sierra.● Taladro grande.● Taladro pequeño.● Desarmadores de relojero.● Alicate de punta normalmente abierto.● Pinza de médico.● Cortauñas, Lima de metal fina.● Etc.
Caja de equipos e instrumentos
● Caja de plástico.● Multímetro.● Cautín 30 vatios.● Portacautín.● Brazo auxiliar para soldar (cocodrilos).● Etc.
Caja de insumos
● Rollo de soldadura para electrónica.● 3 metros de cable telefónico para hacer
puentes.● Rollo de cinta aislante.● Pasta de soldar.● Etc.
El programa pinguino
#define PIC18F2550
int sensorizquierdo;
int sensorderecho;
void setup()
{
//Motor izquierdo:
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
//Motor derecho
pinMode(5,OUTPUT);
pinMode(4,OUTPUT);
//
pinMode(13, INPUT); // Sensor derecho
pinMode(14, INPUT); // Sensor izquierdo
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
}
void loop()
{
sensorizquierdo=analogRead(13);
if (sensorizquierdo > 200) {
digitalWrite(5,LOW);
digitalWrite(4,LOW);
} else {
digitalWrite(5,HIGH);
digitalWrite(4,LOW);
}
sensorderecho=analogRead(14);
if (sensorderecho >200) {
digitalWrite(7,LOW);
digitalWrite(6,LOW);
} else {
digitalWrite(7,HIGH);
digitalWrite(6,LOW);
}
if (sensorizquierdo >200 && sensorderecho >200) {
digitalWrite(4,HIGH);
digitalWrite(6,HIGH);
}
}