SlideShare una empresa de Scribd logo
1 de 22
Descargar para leer sin conexión
1Departamento de Tecnología
IES Valentín Turienzo
2Departamento de Tecnología
IES Valentín Turienzo
Índice.
.- Introducción
.- Material necesario
.- Montaje y conexiones
.- Programación:
.- sketch 1. Test motor derecho.
.- sketch 2. Movimientos básicos del VelociBotCBR
.- sketch 3. Movimientos básicos con subrutinas del VelociBotCBR
.- sketch 4. Sensor de infrarrojos
.-sketch 5. Seguidor de líneas básico
3Departamento de Tecnología
IES Valentín Turienzo
Introducción.
VelociBotCBR es un robot de la categoría de velocistas que ha sido diseñado por alumn@s de
Tecnología Industrial de 2º de Bachillerato del IES Valentín Turienzo de Colindres, Cantabria.
Las principales premisas en su diseño fueron las siguientes:
.- Sencillez de montaje, utilizando el menor número de tuercas, tornillos, adhesivos,…
.- Menor coste de los componentes y material y facilidad en su adquisición.
.- Control realizado con Arduino.
.- Chasis impreso en 3D y diseñado con SketchUp.
El objetivo principal de este proyecto es que cualquier persona que quiera construir este robot,
profesores, estudiantes, aficionados,… lo pueda hacer en muy poco tiempo, con las mínimas
complicaciones y el mínimo coste.
Descarga los archivos .stl para imprimir aquí.
Descarga los archivos .skp por si quieres modificar y personalizar en robot.
4Departamento de Tecnología
IES Valentín Turienzo
Material necesario
Listado de componentes VelociBotCBR
Artículo Imagen
1 x Arduino UNO
1 x Shield L293 control de motores
2 x Motorreductor DC120
4 x Módulo seguidor IR
Sensor TCRT5000
40 x Cables dupot hembra-hembra 20 cm
Conector y pila 9 v
Chasis y cubierta impreso en 3D
Ruedas impresas en 3D
Cinta "tapafugas" para las ruedas
El coste total aproximado del robot completo no supera los 45 €.
5Departamento de Tecnología
IES Valentín Turienzo
Montaje y Conexiones.
MONTAJE:
Empezaremos montando los dos motorreductores CC en el chasis utilizando dos tornillos de 3
x 30 mm de cabeza hexagonal por cada motor. Previamente se deben
realizar las conexiones de los cables a los terminales del motor.
Si el motorreductor tuviera doble eje como el de la imagen,
sería necesario cortar uno de los ejes.
IMPORTANTE
NO APRETAR DEMASIADO LOS TORNILLOS. Puede llegar a
presionar la reductora del motor y hacer que este se quede trabado.
A continuación colocaremos los cuatro sensores TCRT5000. En un primer momento su
alojamiento está diseñado para colocarlos simplemente por presión, pero se podría sustituir esta
sujeción por tornillos de 3 x 6 mm.
Tornillos 3x30
El motorreductor debe ir colocado en
la posición de la flecha verde.
6Departamento de Tecnología
IES Valentín Turienzo
Seguidamente colocaremos la Arduino UNO sobre la estructura sujetándola con tres tornillos,
y sobre ella colocaremos la Shield L293 en la parte
superior, tal y como se ve en la foto.
En la parte inferior está el alojamiento para
la batería de 9 v.
IMPORTANTE
La Shield de motores L293 no tienen soldados los pines A0-5
(donde van conectados los sensores) por lo que es necesario soldarlos
previamente.
Conexionado:
El siguiente paso consiste en conectar los motorreductores a la Shield. Visto el robot desde
arriba, el motor Izquierdo (MI) lo conectaremos a los terminales M1 y el motor Derecho (MD) a los
terminales M4.
*Cuando se realice el Test de motores habrá que revisar su polaridad.
7Departamento de Tecnología
IES Valentín Turienzo
Los cuatro sensores TCRT5000 los vamos a llamar de la siguiente manera:
Su conexión a la shield es la siguiente:
Sensor Pines de la Shield
Sensor Izquierdo Izquierdo (SII) A3 (PIN 17)
Sensor Izquierdo Centro (SIC) A2 (PIN 16)
Sensor Derecho Centro (SDC) A1 (PIN 15)
Sensor Derecho Derecho (SDD) A0 (PIN 14)
Finalmente, el VelociBotCBR quedará como la imagen:
Sensor Izquierdo Izquierdo (SII).
Sensor Izquierdo Centro (SIC).
Sensor Derecho Centro (SDC).
Sensor Derecho Derecho (SDD).
8Departamento de Tecnología
IES Valentín Turienzo
PROGRAMACIÓN
Antes de empezar con la programación, debemos instalar la librería AFMotor.h. Podemos
realizar una de las siguientes opciones:
.- OPCIÓN 1: Abrimos el IDE de Arduino, Pinchamos en Sketch, Importar en librería y
finalmente en Add Library. En este punto añadiríamos la librería AFMotor.h (la carpeta entera en
formato ZIP tal y como se ha descargado).
.- OPCIÓN 2: Si la opción anterior nos diera algún problema, podemos meter directamente la
carpeta descomprimida en C:archivos de programa (x86)arduinolibraries
9Departamento de Tecnología
IES Valentín Turienzo
Sketch 1. Test motor DERECHO
Vamos a comenzar con la programación y para ello realizaremos un sencillo programa para
controlar el motor DERECHO (MD). Haremos que gire hacia delante durante 1 seg, que se pare 2 seg y
que giren hacia atrás 1 seg.
Con esta práctica se pretende comprobar el correcto conexionado del motorreductor,
conocer su sentido de giro y su control.
El Sketch correspondiente sería este:
// TEST DE MOTORES DE VelociBOTCBR
// MOTOR IZQUIERDO (MI) es el M1
// MOTOR DERECHO (MD) es el M4
// SENSOR IZQUIERDO IZQUIERDO en el A3
// SENSOR IZQUIERDO CENTRO en el A2
// SENSOR DERECHO CENTRO en el A1
// SENSOR DERECHO DERECHO en el A0
// Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch
//Test motor Derecho ADELANTE, PARO, ATRAS.
#include <AFMotor.h>
AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4
void setup() {
motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar
desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
motorMD.run(RELEASE); // Motor Derecho preparado
}
void loop() {
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
delay(1000); // Se mantiene durante 1 s.
motorMD.run(FORWARD); // Motor Derecho hacia delante
motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para.
delay(2000); // Se mantiene durante 2 s.
10Departamento de Tecnología
IES Valentín Turienzo
motorMD.run(BACKWARD); // Motor Derecho hacia atrás (si gira al revés cambiamos la polaridad
en la placa)
motorMD.setSpeed(255); // Set de velocidad MI fijada en 255
delay(1000); // Se mantiene durante 1 s.
}
*Recuerda, Si el motor DERECHO no girara en el sentido que le indicamos debemos cambiar su
polaridad en la Shield.
Ejercicio:
Realiza los cambios necesarios para Testear el motor IZQUIERDO y comprobar su sentido de
giro
Sketch 2. Movimientos Básicos del VelociBotCBR
Los movimientos básicos del VelociBotCBR son los siguientes; Adelante, Paro, Atrás, Giro
Derecha, Giro Izquierda. Ahora vamos a trabajar con los dos motores a la vez. Para realizar los giros
debemos parar el motor que esté en el sentido que queramos girar, por ejemplo, si queremos girar a
la izquierda debemos parar el motor izquierdo y si queremos girar a la derecha, debemos parar el
motor derecho.
// TEST DE MOTORES DE VelociBOTCBR
// MOTOR IZQUIERDO (MI) es el M1
// MOTOR DERECHO (MD) es el M4
// SENSOR IZQUIERDO IZQUIERDO en el A3
// SENSOR IZQUIERDO CENTRO en el A2
// SENSOR DERECHO CENTRO en el A1
// SENSOR DERECHO DERECHO en el A0
// Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch
//MOVIMIENTOS BÁSICOS DEL ROBOT ADELANTE, ATRAS, GIRO DERECHA, GIRO IZQUIERDA.
#include <AFMotor.h>
AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4
AF_DCMotor motorMI(1); // Definimos el Motor Izquierdo en la conexión M1
void setup() {
motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar
desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
motorMI.setSpeed(250); // Set de velocidad MI fijada en 250 (esta velocidad se puede variar
desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
11Departamento de Tecnología
IES Valentín Turienzo
motorMD.run(RELEASE); // Motor Derecho preparado
motorMI.run(RELEASE); // Motor Izquierdo preparado
}
void loop() {
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255
delay(1000); // Se mantiene durante 1 s.
motorMD.run(FORWARD); // Motor Derecho hacia delante
motorMI.run(FORWARD); // Motor Izquierdo hacia delante
motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para.
motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para.
delay(2000); // Se mantiene durante 2 s.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para.
delay(2000); // Se mantiene durante 2 s.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(0); // Set de velocidad MD fijada en 0.El motorD se para
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255.
delay(2000); // Se mantiene durante 2 s.
motorMD.run(BACKWARD); // Motor Derecho hacia atrás (si gira al revés cambiamos la polaridad
en la placa)
motorMI.run(BACKWARD); // Motor Izquierdo hacia atrás (si gira al revés cambiamos la polaridad
en la placa)
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
delay(2000); // Se mantiene durante 2 s.
}
*Podemos hacer otro tipo de giros más suaves sin necesidad de parar el motor del interior. En
lugar de bajar a 0 su setSpeed podemos variar su PWM entre 20 y 100, siempre más bajo que la
velocidad del motor exterior. HAZ PRUEBAS.
12Departamento de Tecnología
IES Valentín Turienzo
Sketch 3. Movimientos Básicos con SUBRUTINAS del VelociBotCBR
Continuamos con nuestra programación y para ello vamos a introducir el concepto de
SUBRUTINAS. Las subrutinas son unos «miniprogramas», unas funciones, que se ejecutan al ser
llamadas desde el programa principal. La declaración de funciones, no va ni en el SETUP, ni en el
LOOP, va de forma independiente entre los dos. En esta actividad crearemos 5 subrutinas ADELANTE,
ATRAS, PARO, GIRODERECHA y GIROIZQUIERDA.
El Sketch correspondiente sería este:
// TEST DE MOTORES DE VelociBOTCBR
// MOTOR IZQUIERDO (MI) es el M1
// MOTOR DERECHO (MD) es el M4
// SENSOR IZQUIERDO IZQUIERDO en el A3
// SENSOR IZQUIERDO CENTRO en el A2
// SENSOR DERECHO CENTRO en el A1
// SENSOR DERECHO DERECHO en el A0
// Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch
//MOVIMIENTOS BÁSICOS DEL ROBOT REALIZADOS CON SUBRUTINAS ADELANTE, PARO, GIRO
IZQUIERDA, GIRO DERECHA, ATRAS.
#include <AFMotor.h>
AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4
AF_DCMotor motorMI(1); // Definimos el Motor Izquierdo en la conexión M1
void setup() {
motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar
desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
motorMI.setSpeed(250); // Set de velocidad MI fijada en 250 (esta velocidad se puede variar
desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
motorMD.run(RELEASE); // Motor Derecho preparado
motorMI.run(RELEASE); // Motor Izquierdo preparado
}
void loop() {
ADELANTE();
delay (1000);
ATRAS();
delay (1000);
PARO();
delay (1000);
GIRODERECHA();
delay (1000);
GIROIZQUIERDA();
13Departamento de Tecnología
IES Valentín Turienzo
delay (1000);
}
void ADELANTE(){ // SUBRUTINA ADELANTE.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255
}
void PARO(){ //SUBRUTINA PARO.
motorMD.run(FORWARD); // Motor Derecho hacia delante
motorMI.run(FORWARD); // Motor Izquierdo hacia delante
motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para.
motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para.
}
void GIROIZQUIERDA(){ //SUBRUTINA GIRO IZQUIERDA.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para.
}
void GIRODERECHA(){ //SUBRUTINA GIRO DERECHA.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(0); // Set de velocidad MD fijada en 0.El motorD se para
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255.
}
void ATRAS(){ //SUBRUTINA ATRAS.
motorMD.run(BACKWARD); // Motor Derecho hacia atras (si gira al revés cambiamos la polaridad
en la placa)
motorMI.run(BACKWARD); // Motor Izquierdo hacia atras (si gira al revés cambiamos la polaridad
en la placa)
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
}
14Departamento de Tecnología
IES Valentín Turienzo
Ejercicio:
Completa el programa realizando SUBRUTINAS de giros más suaves hacia DERECHA e
IZQUIERDA cambiando el PWM del motor que queda en el interior.
Ejercicio:
Utilizando las SUBRUTINAS, realiza un programa en el que tu robot describa un cuadrado
perfecto, llegando al mismo punto de la salida.
Ya hemos visto cómo controlar los motores DERECHOS e IZQUIERDOS del VelociBotCBR, ahora
vamos a ver cómo hacerlo girar aún más rápido. Se pueden realizar tres tipos de giros, por llamarlos
de alguna manera, lentos, suaves y rápidos. Los “lentos” consistirán en dejar parados los motores del
interior del giro haciendo avanzar los del exterior, para los “suaves” cambiamos el PWM del motor
interior a valores más pequeños que el exterior. Y los “muy rápidos” haciendo que los motores del
interior giren hacia atrás mientras que los del exterior van hacia adelante. Ver cuadro siguiente:
CASOS DE GIROS
STOP
GIRO A IZQUIERDAS LENTO GIRO A IZQUIERDAS RÁPIDO
GIRO A DERECHAS RÁPIDO
STOP
GIRO A DERECHAS LENTO
GIRO A IZQUIERDAS SUAVE
GIRO A DERECHAS SUAVE
15Departamento de Tecnología
IES Valentín Turienzo
Sketch 4: Sensor Infrarrojos.
En esta práctica vamos a conocer el funcionamiento de los sensores IR. Más concretamente el
sensor infrarrojo TCRT5000.
Un sensor infrarrojo es un dispositivo optoelectrónico capaz de medir la radiación
electromagnética infrarroja de los cuerpos en su campo de visión. El sensor que nos ocupa está
compuesto por un diodo emisor de luz y un fototransistor. Si el fototransistor recibe luz da una señal
de cero, si no recibe luz da un 1.
Características:
 Dimensiones: 10mm x 40mm
 Voltaje de operación: 4.5V a 5.5V
 Distancia de operación: Desde 1mm hasta 12mm
 Sensor TCRT5000
 Salida digital
 Posee filtro bloqueador de luz de día
 Voltaje de trabajo: 5VDC
 Posee 3 pines: VCC (+), GND (-), OUT (Vout)
 Si detecta un objeto color claro (ej. línea blanca) Vout >4 V
 Si no detecta nada (ej. línea negra) Vout =0 V
Más información de los sensores IR
+5V
GND
PIN A1…
16Departamento de Tecnología
IES Valentín Turienzo
Para conocer los valores del sensor IR vamos a realizar un sencillo Sketch utilizando el Monitor
Serial.
De esta manera observamos que cuando el sensor detecta línea negra su valor es 1 y cuando
detecta blanco su valor es 0. (En el propio sensor hay un led rojo que se enciende cuando marca 0).
Ejercicio:
Escribe un nuevo código para comprobar el valor de los 4 sensores con un Serial.print de tal
forma que vaya escribiendo que sensor es y su valor, por ejemplo:
El valor de SII es 0
El valor de SIC es 1
El valor de SDC es 1
El valor de SDD es 0…
int IR = 14; //el Pin 14 corresponde con
el A0.
void setup() {
Serial.begin (9600);
pinMode(IR, INPUT);
}
void loop() {
IR = digitalRead (14);
Serial.print("El valor del IR es ");
Serial.println (IR);
delay(1000);
}
17Departamento de Tecnología
IES Valentín Turienzo
SOLUCIÓN:
// TEST DE SENSORES DE VelociBOTCBR
// MOTOR IZQUIERDO (MI) es el M1
// MOTOR DERECHO (MD) es el M4
// SENSOR IZQUIERDO IZQUIERDO en el A3
// SENSOR IZQUIERDO CENTRO en el A2
// SENSOR DERECHO CENTRO en el A1
// SENSOR DERECHO DERECHO en el A0
// Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch
int SDD=A0;
int SDC=A1;
int SIC=A2;
int SII=A3;
void setup() {
Serial.begin(9600);
pinMode(SDD,INPUT);
pinMode(SDC,INPUT);
pinMode(SIC,INPUT);
pinMode(SII,INPUT);
}
void loop() {
int valorSDD=digitalRead(A0);
if(valorSDD==1){
Serial.println("valorSDD es blanco");
}else{
Serial.println("valorSDD es negro");
}
18Departamento de Tecnología
IES Valentín Turienzo
delay(1000);
int valorSDC=digitalRead(A1);
if(valorSDC==1){
Serial.println("valorSDC es blanco");
}else{
Serial.println("valorSDC es negro");
}
delay(1000);
int valorSIC=digitalRead(A2);
if(valorSIC==1){
Serial.println("valorSIC es blanco");
}else{
Serial.println("valorSIC es negro");
}
delay(1000);
int valorSII=digitalRead(A3);
if(valorSII==1){
Serial.println("valorSII es blanco");
}else{
Serial.println("valorSII es negro");
}
delay(1000);
}
19Departamento de Tecnología
IES Valentín Turienzo
Sketch 5: Seguidor de línea básico.
En esta actividad únicamente utilizaremos los dos sensores centrales del VelociBotCBR, el SIC
y el SDC, con ello conseguiremos que el robot siga una línea negra de 2 cm de grosor sobre un fondo
blanco.
A partir de este momento el funcionamiento del VelociBotCBR se puede mejorar utilizando
sus 4 sensores y cambiando las velocidades de los motores, pero eso lo dejamos en tus manos…
// SEGUIDOR DE LÍNEA SENCILLO VelociBOTCBR
// MOTOR IZQUIERDO (MI) es el M1
// MOTOR DERECHO (MD) es el M4
// SENSOR IZQUIERDO IZQUIERDO en el A3
// SENSOR IZQUIERDO CENTRO en el A2
// SENSOR DERECHO CENTRO en el A1
// SENSOR DERECHO DERECHO en el A0
// Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch
#include <AFMotor.h>
int SII=A3; // Definimos el SENSOR IZQUIERDO IZQUIERDO conexión A3
int SIC=A2;
int SDC=A1;
int SDD=A0;
AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4
AF_DCMotor motorMI(1); // Definimos el Motor Izquierdo en la conexión M1
void setup() {
pinMode(SII, INPUT);
pinMode(SIC, INPUT);
pinMode(SDC, INPUT);
pinMode(SDD, INPUT);
20Departamento de Tecnología
IES Valentín Turienzo
motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar
desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
motorMI.setSpeed(250); // Set de velocidad MI fijada en 250 (esta velocidad se puede variar
desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
motorMD.run(RELEASE); // Motor Derecho preparado
motorMI.run(RELEASE); // Motor Izquierdo preparado
}
void loop() {
int SII = digitalRead(A3);
int SIC = digitalRead(A2);
int SDC = digitalRead(A1);
int SDD = digitalRead(A0);
if ((SIC==LOW) && (SDC==LOW)){ //Si el Sensor SIC detecta negro y el Sensor SDC detecta negro
ADELANTE(); // Hacia adelante.
}
else if ((SIC==LOW) && (SDC==HIGH)){ //Si el Sensor SIC detecta negro y el Sensor SDC detecta
blanco
GIROIZQUIERDA(); // Gira a la Izquierda
}
else if ((SIC==HIGH) && (SDC==LOW)){ //Si el Sensor SIC detecta blanco y el Sensor SDC detecta
negro
GIRODERECHA(); // Gira a la derecha
}
else{ // Si no hace nada de lo anterior
PARO(); // Paro.
}
}
void ADELANTE(){ // SUBRUTINA ADELANTE.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
21Departamento de Tecnología
IES Valentín Turienzo
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255
}
void PARO(){ //SUBRUTINA PARO.
motorMD.run(FORWARD); // Motor Derecho hacia delante
motorMI.run(FORWARD); // Motor Izquierdo hacia delante
motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para.
motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para.
}
void GIROIZQUIERDA(){ //SUBRUTINA GIRO IZQUIERDA.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para.
}
void GIRODERECHA(){ //SUBRUTINA GIRO DERECHA.
motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la
polaridad en la placa)
motorMD.setSpeed(0); // Set de velocidad MD fijada en 0.El motorD se para
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255.
}
void ATRAS(){ //SUBRUTINA ATRAS.
motorMD.run(BACKWARD); // Motor Derecho hacia atras (si gira al revés cambiamos la polaridad
en la placa)
22Departamento de Tecnología
IES Valentín Turienzo
motorMI.run(BACKWARD); // Motor Izquierdo hacia atras (si gira al revés cambiamos la polaridad
en la placa)
motorMI.setSpeed(255); // Set de velocidad MI fijada en 255
motorMD.setSpeed(255); // Set de velocidad MD fijada en 255
}
En cantabRobots.es puedes descargar toda la información del VelociBotCBR.
Pincha aquí.
Las carpetas de documentos son las siguientes:
.- Diseño. Archivos .skp y .stl
.- Librería.
.- Documentación. PDF con los datasheets de driver, sensores…
.- Todos los sketches del manual.

Más contenido relacionado

La actualidad más candente

Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1Michele Maffucci
 
Arduino Robotics workshop Day1
Arduino Robotics workshop Day1Arduino Robotics workshop Day1
Arduino Robotics workshop Day1Sudar Muthu
 
Arduino slides
Arduino slidesArduino slides
Arduino slidessdcharle
 
ESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started GuideESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started Guidehandson28
 
manual de practicas Arduino (Inicial)
manual de practicas Arduino (Inicial)manual de practicas Arduino (Inicial)
manual de practicas Arduino (Inicial)Natalia Del Toro
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoOmer Kilic
 
Kodu Game Lab Tutorial
Kodu Game Lab Tutorial Kodu Game Lab Tutorial
Kodu Game Lab Tutorial marie95
 
Tinkercad. Practicas y soluciones
Tinkercad. Practicas y solucionesTinkercad. Practicas y soluciones
Tinkercad. Practicas y solucionesEduardoCastillo8129
 
Getting Started with Raspberry Pi and Arduino
Getting Started with Raspberry Pi and ArduinoGetting Started with Raspberry Pi and Arduino
Getting Started with Raspberry Pi and ArduinoChad Mairn
 
Automatic railway gate control system
Automatic railway gate control systemAutomatic railway gate control system
Automatic railway gate control systemdeepraj2085
 
Tarjetas de red.ppt
Tarjetas de red.pptTarjetas de red.ppt
Tarjetas de red.pptnenita253
 
Arquitectura De Computadores
Arquitectura De ComputadoresArquitectura De Computadores
Arquitectura De Computadoresyohanna13
 

La actualidad más candente (20)

Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
Insegnare a progettare il proprio apprendimento con il coding - Lezione 1
 
Sesion 1 Curso Arduino.pdf
Sesion 1 Curso Arduino.pdfSesion 1 Curso Arduino.pdf
Sesion 1 Curso Arduino.pdf
 
Arduino Robotics workshop Day1
Arduino Robotics workshop Day1Arduino Robotics workshop Day1
Arduino Robotics workshop Day1
 
Arduino slides
Arduino slidesArduino slides
Arduino slides
 
ESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started GuideESP32 WiFi & Bluetooth Module - Getting Started Guide
ESP32 WiFi & Bluetooth Module - Getting Started Guide
 
manual de practicas Arduino (Inicial)
manual de practicas Arduino (Inicial)manual de practicas Arduino (Inicial)
manual de practicas Arduino (Inicial)
 
Ensamble y desensamble de un pc
Ensamble y desensamble de un pcEnsamble y desensamble de un pc
Ensamble y desensamble de un pc
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
ROBÓTICA EDUCATIVA
ROBÓTICA EDUCATIVAROBÓTICA EDUCATIVA
ROBÓTICA EDUCATIVA
 
Arduino
ArduinoArduino
Arduino
 
Different Arduino Boards
Different Arduino BoardsDifferent Arduino Boards
Different Arduino Boards
 
Kodu Game Lab Tutorial
Kodu Game Lab Tutorial Kodu Game Lab Tutorial
Kodu Game Lab Tutorial
 
Tinkercad. Practicas y soluciones
Tinkercad. Practicas y solucionesTinkercad. Practicas y soluciones
Tinkercad. Practicas y soluciones
 
Getting Started with Raspberry Pi and Arduino
Getting Started with Raspberry Pi and ArduinoGetting Started with Raspberry Pi and Arduino
Getting Started with Raspberry Pi and Arduino
 
Automatic railway gate control system
Automatic railway gate control systemAutomatic railway gate control system
Automatic railway gate control system
 
Report on arduino
Report on arduinoReport on arduino
Report on arduino
 
Presentación control y robótica
Presentación control y robóticaPresentación control y robótica
Presentación control y robótica
 
Ensamble de Computadoras
Ensamble de ComputadorasEnsamble de Computadoras
Ensamble de Computadoras
 
Tarjetas de red.ppt
Tarjetas de red.pptTarjetas de red.ppt
Tarjetas de red.ppt
 
Arquitectura De Computadores
Arquitectura De ComputadoresArquitectura De Computadores
Arquitectura De Computadores
 

Destacado

Actividad 1 perfiles
Actividad 1 perfilesActividad 1 perfiles
Actividad 1 perfilesCarlos Garcia
 
Advanced Application Architecture (workshop slides)
Advanced Application Architecture (workshop slides)Advanced Application Architecture (workshop slides)
Advanced Application Architecture (workshop slides)Matthias Noback
 
Keterkaitan Organization Development (OD) dengan Arah Strategis Perusahaan
Keterkaitan Organization Development (OD) dengan Arah Strategis PerusahaanKeterkaitan Organization Development (OD) dengan Arah Strategis Perusahaan
Keterkaitan Organization Development (OD) dengan Arah Strategis PerusahaanKanaidi ken
 
IAAF WorldCrossCountry champs Kampala(uga) 2017 final entry lists
IAAF WorldCrossCountry champs Kampala(uga) 2017 final entry listsIAAF WorldCrossCountry champs Kampala(uga) 2017 final entry lists
IAAF WorldCrossCountry champs Kampala(uga) 2017 final entry listsAlberto Stretti
 
Desplazamiento de nodos método energético y maxwell mohr
Desplazamiento de nodos método energético y maxwell mohrDesplazamiento de nodos método energético y maxwell mohr
Desplazamiento de nodos método energético y maxwell mohrJlm Udal
 
Presetacion de power point 97 2003
Presetacion de power point 97 2003Presetacion de power point 97 2003
Presetacion de power point 97 2003Lismari Martinez
 
Ejercicio de hipertexto
Ejercicio de hipertextoEjercicio de hipertexto
Ejercicio de hipertextoluisaruiz2202
 
Erogatori con attacco alla rete idrica
Erogatori con attacco alla rete idricaErogatori con attacco alla rete idrica
Erogatori con attacco alla rete idricah2olacqua
 
Veza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istoku
Veza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istokuVeza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istoku
Veza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istokuStudent of Archaeology
 
Modelos de negocios
Modelos de negociosModelos de negocios
Modelos de negociosJuan Anaya
 
Mkt ii tema 1 marketing estratégico
Mkt ii tema 1 marketing estratégicoMkt ii tema 1 marketing estratégico
Mkt ii tema 1 marketing estratégicoJulio García Fajardo
 

Destacado (20)

Actividad 1 perfiles
Actividad 1 perfilesActividad 1 perfiles
Actividad 1 perfiles
 
Informe final
Informe finalInforme final
Informe final
 
Margorie astudillo
Margorie astudilloMargorie astudillo
Margorie astudillo
 
Advanced Application Architecture (workshop slides)
Advanced Application Architecture (workshop slides)Advanced Application Architecture (workshop slides)
Advanced Application Architecture (workshop slides)
 
Scopus y cinhal
Scopus y cinhalScopus y cinhal
Scopus y cinhal
 
Keterkaitan Organization Development (OD) dengan Arah Strategis Perusahaan
Keterkaitan Organization Development (OD) dengan Arah Strategis PerusahaanKeterkaitan Organization Development (OD) dengan Arah Strategis Perusahaan
Keterkaitan Organization Development (OD) dengan Arah Strategis Perusahaan
 
IAAF WorldCrossCountry champs Kampala(uga) 2017 final entry lists
IAAF WorldCrossCountry champs Kampala(uga) 2017 final entry listsIAAF WorldCrossCountry champs Kampala(uga) 2017 final entry lists
IAAF WorldCrossCountry champs Kampala(uga) 2017 final entry lists
 
Renderizado 3D
Renderizado 3DRenderizado 3D
Renderizado 3D
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
 
Desplazamiento de nodos método energético y maxwell mohr
Desplazamiento de nodos método energético y maxwell mohrDesplazamiento de nodos método energético y maxwell mohr
Desplazamiento de nodos método energético y maxwell mohr
 
Presetacion de power point 97 2003
Presetacion de power point 97 2003Presetacion de power point 97 2003
Presetacion de power point 97 2003
 
Ejercicio de hipertexto
Ejercicio de hipertextoEjercicio de hipertexto
Ejercicio de hipertexto
 
1°trabajo flores antezana rogger david
1°trabajo flores antezana rogger david1°trabajo flores antezana rogger david
1°trabajo flores antezana rogger david
 
2017 3C diario di Hans
2017 3C diario di Hans 2017 3C diario di Hans
2017 3C diario di Hans
 
Hydron_01
Hydron_01Hydron_01
Hydron_01
 
Erogatori con attacco alla rete idrica
Erogatori con attacco alla rete idricaErogatori con attacco alla rete idrica
Erogatori con attacco alla rete idrica
 
Veza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istoku
Veza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istokuVeza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istoku
Veza između pogrebne prakse i arheometalurgije tokom halkolita na Bliskom istoku
 
Modelos de negocios
Modelos de negociosModelos de negocios
Modelos de negocios
 
Mkt ii tema 1 marketing estratégico
Mkt ii tema 1 marketing estratégicoMkt ii tema 1 marketing estratégico
Mkt ii tema 1 marketing estratégico
 
Flat plan....
Flat plan....Flat plan....
Flat plan....
 

Similar a Tutorial veloci botcb rv.4

Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017joaquinin1
 
Proyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotoresProyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotoresAdrián Fernández Samalea
 
Ensamblado de Robot Evasor de obstáculos
Ensamblado de Robot Evasor de obstáculosEnsamblado de Robot Evasor de obstáculos
Ensamblado de Robot Evasor de obstáculosAna Parra
 
Guia mci servo motor con arduino
Guia mci   servo motor con arduinoGuia mci   servo motor con arduino
Guia mci servo motor con arduinoMarceArocas
 
Minivoltios fase3
Minivoltios fase3Minivoltios fase3
Minivoltios fase3josglods
 
Proyecto brazo robotico ksr10 enero marzo 2015 a 9 v-version_2
Proyecto brazo robotico ksr10  enero marzo 2015 a 9 v-version_2Proyecto brazo robotico ksr10  enero marzo 2015 a 9 v-version_2
Proyecto brazo robotico ksr10 enero marzo 2015 a 9 v-version_2joaquinin1
 
PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino
PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino  PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino
PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino SANTIAGO PABLO ALBERTO
 
Micromaster 420 siemens
Micromaster 420 siemensMicromaster 420 siemens
Micromaster 420 siemensjosemaza14
 
Desensamble, limpieza y ensamble de un computador
Desensamble, limpieza y ensamble de un computadorDesensamble, limpieza y ensamble de un computador
Desensamble, limpieza y ensamble de un computadorJorg Frank
 
Informe N°3-Microcontroladores
Informe N°3-MicrocontroladoresInforme N°3-Microcontroladores
Informe N°3-MicrocontroladoresOmar Ruiz
 
Audi A5 coupe 2008 Trabajos de montaje interiores.pdf
Audi A5 coupe 2008 Trabajos de montaje interiores.pdfAudi A5 coupe 2008 Trabajos de montaje interiores.pdf
Audi A5 coupe 2008 Trabajos de montaje interiores.pdfjcarrey
 
Ejemplo de proyectos realizados
Ejemplo de proyectos realizadosEjemplo de proyectos realizados
Ejemplo de proyectos realizadosCazadoresTic
 
Ejemplo de proyectos realizados
Ejemplo de proyectos realizadosEjemplo de proyectos realizados
Ejemplo de proyectos realizadosCazadoresTic
 
Proyecto Brazo Robótico con arduino.pptx
Proyecto Brazo Robótico con arduino.pptxProyecto Brazo Robótico con arduino.pptx
Proyecto Brazo Robótico con arduino.pptxLenRamrezEvelinJabne
 
Ensamblaje de computadoras
Ensamblaje de computadorasEnsamblaje de computadoras
Ensamblaje de computadorasme18186918
 

Similar a Tutorial veloci botcb rv.4 (20)

Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
Proyecto coche por bluetooth por joaquin berrocal piris marzo 2017
 
Proyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotoresProyecto mecatronica industrial control de servomotores
Proyecto mecatronica industrial control de servomotores
 
Ensamblado de Robot Evasor de obstáculos
Ensamblado de Robot Evasor de obstáculosEnsamblado de Robot Evasor de obstáculos
Ensamblado de Robot Evasor de obstáculos
 
Guia mci servo motor con arduino
Guia mci   servo motor con arduinoGuia mci   servo motor con arduino
Guia mci servo motor con arduino
 
Servo motor 360 con arduino
Servo motor 360 con arduinoServo motor 360 con arduino
Servo motor 360 con arduino
 
Proy iker4
Proy iker4Proy iker4
Proy iker4
 
guia-6.pdf
guia-6.pdfguia-6.pdf
guia-6.pdf
 
Minivoltios fase3
Minivoltios fase3Minivoltios fase3
Minivoltios fase3
 
Proyecto brazo robotico ksr10 enero marzo 2015 a 9 v-version_2
Proyecto brazo robotico ksr10  enero marzo 2015 a 9 v-version_2Proyecto brazo robotico ksr10  enero marzo 2015 a 9 v-version_2
Proyecto brazo robotico ksr10 enero marzo 2015 a 9 v-version_2
 
PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino
PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino  PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino
PLC y Electroneumática: Cadesimu4. arranque y parada de motor con Arduino
 
Micromaster 420 siemens
Micromaster 420 siemensMicromaster 420 siemens
Micromaster 420 siemens
 
Desensamble, limpieza y ensamble de un computador
Desensamble, limpieza y ensamble de un computadorDesensamble, limpieza y ensamble de un computador
Desensamble, limpieza y ensamble de un computador
 
Informe N°3-Microcontroladores
Informe N°3-MicrocontroladoresInforme N°3-Microcontroladores
Informe N°3-Microcontroladores
 
Cnc+torno
Cnc+tornoCnc+torno
Cnc+torno
 
Audi A5 coupe 2008 Trabajos de montaje interiores.pdf
Audi A5 coupe 2008 Trabajos de montaje interiores.pdfAudi A5 coupe 2008 Trabajos de montaje interiores.pdf
Audi A5 coupe 2008 Trabajos de montaje interiores.pdf
 
Ejemplo de proyectos realizados
Ejemplo de proyectos realizadosEjemplo de proyectos realizados
Ejemplo de proyectos realizados
 
Ejemplo de proyectos realizados
Ejemplo de proyectos realizadosEjemplo de proyectos realizados
Ejemplo de proyectos realizados
 
Practica 13
Practica 13Practica 13
Practica 13
 
Proyecto Brazo Robótico con arduino.pptx
Proyecto Brazo Robótico con arduino.pptxProyecto Brazo Robótico con arduino.pptx
Proyecto Brazo Robótico con arduino.pptx
 
Ensamblaje de computadoras
Ensamblaje de computadorasEnsamblaje de computadoras
Ensamblaje de computadoras
 

Más de Jandres73

Apuntes hardware software
Apuntes hardware softwareApuntes hardware software
Apuntes hardware softwareJandres73
 
Apuntes hardware software
Apuntes hardware softwareApuntes hardware software
Apuntes hardware softwareJandres73
 
Ejercicios de mecanismos de poleas y palancas 2º eso
Ejercicios de mecanismos de poleas y palancas 2º esoEjercicios de mecanismos de poleas y palancas 2º eso
Ejercicios de mecanismos de poleas y palancas 2º esoJandres73
 
Poliedros y cuerpos redondos
Poliedros y cuerpos redondosPoliedros y cuerpos redondos
Poliedros y cuerpos redondosJandres73
 
Informática (pp1)jose andrés 1
Informática (pp1)jose andrés 1Informática (pp1)jose andrés 1
Informática (pp1)jose andrés 1Jandres73
 
Como crear una cuenta en slideshare by j.a.
Como crear una cuenta en slideshare by j.a.Como crear una cuenta en slideshare by j.a.
Como crear una cuenta en slideshare by j.a.Jandres73
 
Informática (pp1)jose andrés
Informática (pp1)jose andrésInformática (pp1)jose andrés
Informática (pp1)jose andrésJandres73
 

Más de Jandres73 (7)

Apuntes hardware software
Apuntes hardware softwareApuntes hardware software
Apuntes hardware software
 
Apuntes hardware software
Apuntes hardware softwareApuntes hardware software
Apuntes hardware software
 
Ejercicios de mecanismos de poleas y palancas 2º eso
Ejercicios de mecanismos de poleas y palancas 2º esoEjercicios de mecanismos de poleas y palancas 2º eso
Ejercicios de mecanismos de poleas y palancas 2º eso
 
Poliedros y cuerpos redondos
Poliedros y cuerpos redondosPoliedros y cuerpos redondos
Poliedros y cuerpos redondos
 
Informática (pp1)jose andrés 1
Informática (pp1)jose andrés 1Informática (pp1)jose andrés 1
Informática (pp1)jose andrés 1
 
Como crear una cuenta en slideshare by j.a.
Como crear una cuenta en slideshare by j.a.Como crear una cuenta en slideshare by j.a.
Como crear una cuenta en slideshare by j.a.
 
Informática (pp1)jose andrés
Informática (pp1)jose andrésInformática (pp1)jose andrés
Informática (pp1)jose andrés
 

Último

MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)
NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)
NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)LizNava123
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaFarid Abud
 
Catálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosCatálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosGustavoCanevaro
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Edith Liccioni
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroJosé Luis Palma
 
Trabajo de electricidad y electrónica 2024 10-1
Trabajo de electricidad y electrónica 2024 10-1Trabajo de electricidad y electrónica 2024 10-1
Trabajo de electricidad y electrónica 2024 10-1juandiegomunozgomez
 
Biografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoBiografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoJosé Luis Palma
 
Explicación del Modelo de Stephen Toulmin para elaborar argumentos
Explicación del  Modelo de Stephen Toulmin para elaborar argumentosExplicación del  Modelo de Stephen Toulmin para elaborar argumentos
Explicación del Modelo de Stephen Toulmin para elaborar argumentosINESDVERA
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Presentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUEPresentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUEJosé Hecht
 
4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdf
4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdf4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdf
4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdfMagalyDacostaPea
 

Último (20)

MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
Acuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptxAcuerdo segundo periodo - Grado Sexto.pptx
Acuerdo segundo periodo - Grado Sexto.pptx
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)
NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)
NIVELES TRÓFICOS DE UN ECOSISTEMA (ecologia)
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
 
Catálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosCatálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial Albatros
 
Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.Libro Ecuador Realidad Nacional ECUADOR.
Libro Ecuador Realidad Nacional ECUADOR.
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general Alfaro
 
Trabajo de electricidad y electrónica 2024 10-1
Trabajo de electricidad y electrónica 2024 10-1Trabajo de electricidad y electrónica 2024 10-1
Trabajo de electricidad y electrónica 2024 10-1
 
Biografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro DelgadoBiografía del General Eloy Alfaro Delgado
Biografía del General Eloy Alfaro Delgado
 
Explicación del Modelo de Stephen Toulmin para elaborar argumentos
Explicación del  Modelo de Stephen Toulmin para elaborar argumentosExplicación del  Modelo de Stephen Toulmin para elaborar argumentos
Explicación del Modelo de Stephen Toulmin para elaborar argumentos
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Presentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUEPresentación MF 1445 EVALUACION COMO Y QUE
Presentación MF 1445 EVALUACION COMO Y QUE
 
4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdf
4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdf4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdf
4to-Primaria-prueba-Comunicación-Cuadernillo 2.pdf
 
AO TEATRO, COM ANTÓNIO MOTA! _
AO TEATRO, COM ANTÓNIO MOTA!             _AO TEATRO, COM ANTÓNIO MOTA!             _
AO TEATRO, COM ANTÓNIO MOTA! _
 

Tutorial veloci botcb rv.4

  • 1. 1Departamento de Tecnología IES Valentín Turienzo
  • 2. 2Departamento de Tecnología IES Valentín Turienzo Índice. .- Introducción .- Material necesario .- Montaje y conexiones .- Programación: .- sketch 1. Test motor derecho. .- sketch 2. Movimientos básicos del VelociBotCBR .- sketch 3. Movimientos básicos con subrutinas del VelociBotCBR .- sketch 4. Sensor de infrarrojos .-sketch 5. Seguidor de líneas básico
  • 3. 3Departamento de Tecnología IES Valentín Turienzo Introducción. VelociBotCBR es un robot de la categoría de velocistas que ha sido diseñado por alumn@s de Tecnología Industrial de 2º de Bachillerato del IES Valentín Turienzo de Colindres, Cantabria. Las principales premisas en su diseño fueron las siguientes: .- Sencillez de montaje, utilizando el menor número de tuercas, tornillos, adhesivos,… .- Menor coste de los componentes y material y facilidad en su adquisición. .- Control realizado con Arduino. .- Chasis impreso en 3D y diseñado con SketchUp. El objetivo principal de este proyecto es que cualquier persona que quiera construir este robot, profesores, estudiantes, aficionados,… lo pueda hacer en muy poco tiempo, con las mínimas complicaciones y el mínimo coste. Descarga los archivos .stl para imprimir aquí. Descarga los archivos .skp por si quieres modificar y personalizar en robot.
  • 4. 4Departamento de Tecnología IES Valentín Turienzo Material necesario Listado de componentes VelociBotCBR Artículo Imagen 1 x Arduino UNO 1 x Shield L293 control de motores 2 x Motorreductor DC120 4 x Módulo seguidor IR Sensor TCRT5000 40 x Cables dupot hembra-hembra 20 cm Conector y pila 9 v Chasis y cubierta impreso en 3D Ruedas impresas en 3D Cinta "tapafugas" para las ruedas El coste total aproximado del robot completo no supera los 45 €.
  • 5. 5Departamento de Tecnología IES Valentín Turienzo Montaje y Conexiones. MONTAJE: Empezaremos montando los dos motorreductores CC en el chasis utilizando dos tornillos de 3 x 30 mm de cabeza hexagonal por cada motor. Previamente se deben realizar las conexiones de los cables a los terminales del motor. Si el motorreductor tuviera doble eje como el de la imagen, sería necesario cortar uno de los ejes. IMPORTANTE NO APRETAR DEMASIADO LOS TORNILLOS. Puede llegar a presionar la reductora del motor y hacer que este se quede trabado. A continuación colocaremos los cuatro sensores TCRT5000. En un primer momento su alojamiento está diseñado para colocarlos simplemente por presión, pero se podría sustituir esta sujeción por tornillos de 3 x 6 mm. Tornillos 3x30 El motorreductor debe ir colocado en la posición de la flecha verde.
  • 6. 6Departamento de Tecnología IES Valentín Turienzo Seguidamente colocaremos la Arduino UNO sobre la estructura sujetándola con tres tornillos, y sobre ella colocaremos la Shield L293 en la parte superior, tal y como se ve en la foto. En la parte inferior está el alojamiento para la batería de 9 v. IMPORTANTE La Shield de motores L293 no tienen soldados los pines A0-5 (donde van conectados los sensores) por lo que es necesario soldarlos previamente. Conexionado: El siguiente paso consiste en conectar los motorreductores a la Shield. Visto el robot desde arriba, el motor Izquierdo (MI) lo conectaremos a los terminales M1 y el motor Derecho (MD) a los terminales M4. *Cuando se realice el Test de motores habrá que revisar su polaridad.
  • 7. 7Departamento de Tecnología IES Valentín Turienzo Los cuatro sensores TCRT5000 los vamos a llamar de la siguiente manera: Su conexión a la shield es la siguiente: Sensor Pines de la Shield Sensor Izquierdo Izquierdo (SII) A3 (PIN 17) Sensor Izquierdo Centro (SIC) A2 (PIN 16) Sensor Derecho Centro (SDC) A1 (PIN 15) Sensor Derecho Derecho (SDD) A0 (PIN 14) Finalmente, el VelociBotCBR quedará como la imagen: Sensor Izquierdo Izquierdo (SII). Sensor Izquierdo Centro (SIC). Sensor Derecho Centro (SDC). Sensor Derecho Derecho (SDD).
  • 8. 8Departamento de Tecnología IES Valentín Turienzo PROGRAMACIÓN Antes de empezar con la programación, debemos instalar la librería AFMotor.h. Podemos realizar una de las siguientes opciones: .- OPCIÓN 1: Abrimos el IDE de Arduino, Pinchamos en Sketch, Importar en librería y finalmente en Add Library. En este punto añadiríamos la librería AFMotor.h (la carpeta entera en formato ZIP tal y como se ha descargado). .- OPCIÓN 2: Si la opción anterior nos diera algún problema, podemos meter directamente la carpeta descomprimida en C:archivos de programa (x86)arduinolibraries
  • 9. 9Departamento de Tecnología IES Valentín Turienzo Sketch 1. Test motor DERECHO Vamos a comenzar con la programación y para ello realizaremos un sencillo programa para controlar el motor DERECHO (MD). Haremos que gire hacia delante durante 1 seg, que se pare 2 seg y que giren hacia atrás 1 seg. Con esta práctica se pretende comprobar el correcto conexionado del motorreductor, conocer su sentido de giro y su control. El Sketch correspondiente sería este: // TEST DE MOTORES DE VelociBOTCBR // MOTOR IZQUIERDO (MI) es el M1 // MOTOR DERECHO (MD) es el M4 // SENSOR IZQUIERDO IZQUIERDO en el A3 // SENSOR IZQUIERDO CENTRO en el A2 // SENSOR DERECHO CENTRO en el A1 // SENSOR DERECHO DERECHO en el A0 // Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch //Test motor Derecho ADELANTE, PARO, ATRAS. #include <AFMotor.h> AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4 void setup() { motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar desde 0 (parado) a 255 (velocidad máxima) por la salida PWM) motorMD.run(RELEASE); // Motor Derecho preparado } void loop() { motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 delay(1000); // Se mantiene durante 1 s. motorMD.run(FORWARD); // Motor Derecho hacia delante motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para. delay(2000); // Se mantiene durante 2 s.
  • 10. 10Departamento de Tecnología IES Valentín Turienzo motorMD.run(BACKWARD); // Motor Derecho hacia atrás (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MI fijada en 255 delay(1000); // Se mantiene durante 1 s. } *Recuerda, Si el motor DERECHO no girara en el sentido que le indicamos debemos cambiar su polaridad en la Shield. Ejercicio: Realiza los cambios necesarios para Testear el motor IZQUIERDO y comprobar su sentido de giro Sketch 2. Movimientos Básicos del VelociBotCBR Los movimientos básicos del VelociBotCBR son los siguientes; Adelante, Paro, Atrás, Giro Derecha, Giro Izquierda. Ahora vamos a trabajar con los dos motores a la vez. Para realizar los giros debemos parar el motor que esté en el sentido que queramos girar, por ejemplo, si queremos girar a la izquierda debemos parar el motor izquierdo y si queremos girar a la derecha, debemos parar el motor derecho. // TEST DE MOTORES DE VelociBOTCBR // MOTOR IZQUIERDO (MI) es el M1 // MOTOR DERECHO (MD) es el M4 // SENSOR IZQUIERDO IZQUIERDO en el A3 // SENSOR IZQUIERDO CENTRO en el A2 // SENSOR DERECHO CENTRO en el A1 // SENSOR DERECHO DERECHO en el A0 // Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch //MOVIMIENTOS BÁSICOS DEL ROBOT ADELANTE, ATRAS, GIRO DERECHA, GIRO IZQUIERDA. #include <AFMotor.h> AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4 AF_DCMotor motorMI(1); // Definimos el Motor Izquierdo en la conexión M1 void setup() { motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar desde 0 (parado) a 255 (velocidad máxima) por la salida PWM) motorMI.setSpeed(250); // Set de velocidad MI fijada en 250 (esta velocidad se puede variar desde 0 (parado) a 255 (velocidad máxima) por la salida PWM)
  • 11. 11Departamento de Tecnología IES Valentín Turienzo motorMD.run(RELEASE); // Motor Derecho preparado motorMI.run(RELEASE); // Motor Izquierdo preparado } void loop() { motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 motorMI.setSpeed(255); // Set de velocidad MI fijada en 255 delay(1000); // Se mantiene durante 1 s. motorMD.run(FORWARD); // Motor Derecho hacia delante motorMI.run(FORWARD); // Motor Izquierdo hacia delante motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para. motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para. delay(2000); // Se mantiene durante 2 s. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para. delay(2000); // Se mantiene durante 2 s. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(0); // Set de velocidad MD fijada en 0.El motorD se para motorMI.setSpeed(255); // Set de velocidad MI fijada en 255. delay(2000); // Se mantiene durante 2 s. motorMD.run(BACKWARD); // Motor Derecho hacia atrás (si gira al revés cambiamos la polaridad en la placa) motorMI.run(BACKWARD); // Motor Izquierdo hacia atrás (si gira al revés cambiamos la polaridad en la placa) motorMI.setSpeed(255); // Set de velocidad MI fijada en 255 motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 delay(2000); // Se mantiene durante 2 s. } *Podemos hacer otro tipo de giros más suaves sin necesidad de parar el motor del interior. En lugar de bajar a 0 su setSpeed podemos variar su PWM entre 20 y 100, siempre más bajo que la velocidad del motor exterior. HAZ PRUEBAS.
  • 12. 12Departamento de Tecnología IES Valentín Turienzo Sketch 3. Movimientos Básicos con SUBRUTINAS del VelociBotCBR Continuamos con nuestra programación y para ello vamos a introducir el concepto de SUBRUTINAS. Las subrutinas son unos «miniprogramas», unas funciones, que se ejecutan al ser llamadas desde el programa principal. La declaración de funciones, no va ni en el SETUP, ni en el LOOP, va de forma independiente entre los dos. En esta actividad crearemos 5 subrutinas ADELANTE, ATRAS, PARO, GIRODERECHA y GIROIZQUIERDA. El Sketch correspondiente sería este: // TEST DE MOTORES DE VelociBOTCBR // MOTOR IZQUIERDO (MI) es el M1 // MOTOR DERECHO (MD) es el M4 // SENSOR IZQUIERDO IZQUIERDO en el A3 // SENSOR IZQUIERDO CENTRO en el A2 // SENSOR DERECHO CENTRO en el A1 // SENSOR DERECHO DERECHO en el A0 // Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch //MOVIMIENTOS BÁSICOS DEL ROBOT REALIZADOS CON SUBRUTINAS ADELANTE, PARO, GIRO IZQUIERDA, GIRO DERECHA, ATRAS. #include <AFMotor.h> AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4 AF_DCMotor motorMI(1); // Definimos el Motor Izquierdo en la conexión M1 void setup() { motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar desde 0 (parado) a 255 (velocidad máxima) por la salida PWM) motorMI.setSpeed(250); // Set de velocidad MI fijada en 250 (esta velocidad se puede variar desde 0 (parado) a 255 (velocidad máxima) por la salida PWM) motorMD.run(RELEASE); // Motor Derecho preparado motorMI.run(RELEASE); // Motor Izquierdo preparado } void loop() { ADELANTE(); delay (1000); ATRAS(); delay (1000); PARO(); delay (1000); GIRODERECHA(); delay (1000); GIROIZQUIERDA();
  • 13. 13Departamento de Tecnología IES Valentín Turienzo delay (1000); } void ADELANTE(){ // SUBRUTINA ADELANTE. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 motorMI.setSpeed(255); // Set de velocidad MI fijada en 255 } void PARO(){ //SUBRUTINA PARO. motorMD.run(FORWARD); // Motor Derecho hacia delante motorMI.run(FORWARD); // Motor Izquierdo hacia delante motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para. motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para. } void GIROIZQUIERDA(){ //SUBRUTINA GIRO IZQUIERDA. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para. } void GIRODERECHA(){ //SUBRUTINA GIRO DERECHA. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(0); // Set de velocidad MD fijada en 0.El motorD se para motorMI.setSpeed(255); // Set de velocidad MI fijada en 255. } void ATRAS(){ //SUBRUTINA ATRAS. motorMD.run(BACKWARD); // Motor Derecho hacia atras (si gira al revés cambiamos la polaridad en la placa) motorMI.run(BACKWARD); // Motor Izquierdo hacia atras (si gira al revés cambiamos la polaridad en la placa) motorMI.setSpeed(255); // Set de velocidad MI fijada en 255 motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 }
  • 14. 14Departamento de Tecnología IES Valentín Turienzo Ejercicio: Completa el programa realizando SUBRUTINAS de giros más suaves hacia DERECHA e IZQUIERDA cambiando el PWM del motor que queda en el interior. Ejercicio: Utilizando las SUBRUTINAS, realiza un programa en el que tu robot describa un cuadrado perfecto, llegando al mismo punto de la salida. Ya hemos visto cómo controlar los motores DERECHOS e IZQUIERDOS del VelociBotCBR, ahora vamos a ver cómo hacerlo girar aún más rápido. Se pueden realizar tres tipos de giros, por llamarlos de alguna manera, lentos, suaves y rápidos. Los “lentos” consistirán en dejar parados los motores del interior del giro haciendo avanzar los del exterior, para los “suaves” cambiamos el PWM del motor interior a valores más pequeños que el exterior. Y los “muy rápidos” haciendo que los motores del interior giren hacia atrás mientras que los del exterior van hacia adelante. Ver cuadro siguiente: CASOS DE GIROS STOP GIRO A IZQUIERDAS LENTO GIRO A IZQUIERDAS RÁPIDO GIRO A DERECHAS RÁPIDO STOP GIRO A DERECHAS LENTO GIRO A IZQUIERDAS SUAVE GIRO A DERECHAS SUAVE
  • 15. 15Departamento de Tecnología IES Valentín Turienzo Sketch 4: Sensor Infrarrojos. En esta práctica vamos a conocer el funcionamiento de los sensores IR. Más concretamente el sensor infrarrojo TCRT5000. Un sensor infrarrojo es un dispositivo optoelectrónico capaz de medir la radiación electromagnética infrarroja de los cuerpos en su campo de visión. El sensor que nos ocupa está compuesto por un diodo emisor de luz y un fototransistor. Si el fototransistor recibe luz da una señal de cero, si no recibe luz da un 1. Características:  Dimensiones: 10mm x 40mm  Voltaje de operación: 4.5V a 5.5V  Distancia de operación: Desde 1mm hasta 12mm  Sensor TCRT5000  Salida digital  Posee filtro bloqueador de luz de día  Voltaje de trabajo: 5VDC  Posee 3 pines: VCC (+), GND (-), OUT (Vout)  Si detecta un objeto color claro (ej. línea blanca) Vout >4 V  Si no detecta nada (ej. línea negra) Vout =0 V Más información de los sensores IR +5V GND PIN A1…
  • 16. 16Departamento de Tecnología IES Valentín Turienzo Para conocer los valores del sensor IR vamos a realizar un sencillo Sketch utilizando el Monitor Serial. De esta manera observamos que cuando el sensor detecta línea negra su valor es 1 y cuando detecta blanco su valor es 0. (En el propio sensor hay un led rojo que se enciende cuando marca 0). Ejercicio: Escribe un nuevo código para comprobar el valor de los 4 sensores con un Serial.print de tal forma que vaya escribiendo que sensor es y su valor, por ejemplo: El valor de SII es 0 El valor de SIC es 1 El valor de SDC es 1 El valor de SDD es 0… int IR = 14; //el Pin 14 corresponde con el A0. void setup() { Serial.begin (9600); pinMode(IR, INPUT); } void loop() { IR = digitalRead (14); Serial.print("El valor del IR es "); Serial.println (IR); delay(1000); }
  • 17. 17Departamento de Tecnología IES Valentín Turienzo SOLUCIÓN: // TEST DE SENSORES DE VelociBOTCBR // MOTOR IZQUIERDO (MI) es el M1 // MOTOR DERECHO (MD) es el M4 // SENSOR IZQUIERDO IZQUIERDO en el A3 // SENSOR IZQUIERDO CENTRO en el A2 // SENSOR DERECHO CENTRO en el A1 // SENSOR DERECHO DERECHO en el A0 // Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch int SDD=A0; int SDC=A1; int SIC=A2; int SII=A3; void setup() { Serial.begin(9600); pinMode(SDD,INPUT); pinMode(SDC,INPUT); pinMode(SIC,INPUT); pinMode(SII,INPUT); } void loop() { int valorSDD=digitalRead(A0); if(valorSDD==1){ Serial.println("valorSDD es blanco"); }else{ Serial.println("valorSDD es negro"); }
  • 18. 18Departamento de Tecnología IES Valentín Turienzo delay(1000); int valorSDC=digitalRead(A1); if(valorSDC==1){ Serial.println("valorSDC es blanco"); }else{ Serial.println("valorSDC es negro"); } delay(1000); int valorSIC=digitalRead(A2); if(valorSIC==1){ Serial.println("valorSIC es blanco"); }else{ Serial.println("valorSIC es negro"); } delay(1000); int valorSII=digitalRead(A3); if(valorSII==1){ Serial.println("valorSII es blanco"); }else{ Serial.println("valorSII es negro"); } delay(1000); }
  • 19. 19Departamento de Tecnología IES Valentín Turienzo Sketch 5: Seguidor de línea básico. En esta actividad únicamente utilizaremos los dos sensores centrales del VelociBotCBR, el SIC y el SDC, con ello conseguiremos que el robot siga una línea negra de 2 cm de grosor sobre un fondo blanco. A partir de este momento el funcionamiento del VelociBotCBR se puede mejorar utilizando sus 4 sensores y cambiando las velocidades de los motores, pero eso lo dejamos en tus manos… // SEGUIDOR DE LÍNEA SENCILLO VelociBOTCBR // MOTOR IZQUIERDO (MI) es el M1 // MOTOR DERECHO (MD) es el M4 // SENSOR IZQUIERDO IZQUIERDO en el A3 // SENSOR IZQUIERDO CENTRO en el A2 // SENSOR DERECHO CENTRO en el A1 // SENSOR DERECHO DERECHO en el A0 // Es necesario instalar la librería AFMotor.h para que funcione correctamente este Sketch #include <AFMotor.h> int SII=A3; // Definimos el SENSOR IZQUIERDO IZQUIERDO conexión A3 int SIC=A2; int SDC=A1; int SDD=A0; AF_DCMotor motorMD(4); // Definimos el Motor Derecho en la conexión M4 AF_DCMotor motorMI(1); // Definimos el Motor Izquierdo en la conexión M1 void setup() { pinMode(SII, INPUT); pinMode(SIC, INPUT); pinMode(SDC, INPUT); pinMode(SDD, INPUT);
  • 20. 20Departamento de Tecnología IES Valentín Turienzo motorMD.setSpeed(250); // Set de velocidad MD fijada en 250 (esta velocidad se puede variar desde 0 (parado) a 255 (velocidad máxima) por la salida PWM) motorMI.setSpeed(250); // Set de velocidad MI fijada en 250 (esta velocidad se puede variar desde 0 (parado) a 255 (velocidad máxima) por la salida PWM) motorMD.run(RELEASE); // Motor Derecho preparado motorMI.run(RELEASE); // Motor Izquierdo preparado } void loop() { int SII = digitalRead(A3); int SIC = digitalRead(A2); int SDC = digitalRead(A1); int SDD = digitalRead(A0); if ((SIC==LOW) && (SDC==LOW)){ //Si el Sensor SIC detecta negro y el Sensor SDC detecta negro ADELANTE(); // Hacia adelante. } else if ((SIC==LOW) && (SDC==HIGH)){ //Si el Sensor SIC detecta negro y el Sensor SDC detecta blanco GIROIZQUIERDA(); // Gira a la Izquierda } else if ((SIC==HIGH) && (SDC==LOW)){ //Si el Sensor SIC detecta blanco y el Sensor SDC detecta negro GIRODERECHA(); // Gira a la derecha } else{ // Si no hace nada de lo anterior PARO(); // Paro. } } void ADELANTE(){ // SUBRUTINA ADELANTE. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa)
  • 21. 21Departamento de Tecnología IES Valentín Turienzo motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 motorMI.setSpeed(255); // Set de velocidad MI fijada en 255 } void PARO(){ //SUBRUTINA PARO. motorMD.run(FORWARD); // Motor Derecho hacia delante motorMI.run(FORWARD); // Motor Izquierdo hacia delante motorMD.setSpeed(0); // Set de velocidad MD fijada en 0. El motorD se para. motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para. } void GIROIZQUIERDA(){ //SUBRUTINA GIRO IZQUIERDA. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 motorMI.setSpeed(0); // Set de velocidad MI fijada en 0. El motorI se para. } void GIRODERECHA(){ //SUBRUTINA GIRO DERECHA. motorMD.run(FORWARD); // Motor Derecho hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMI.run(FORWARD); // Motor Izquierdo hacia delante (si gira al revés cambiamos la polaridad en la placa) motorMD.setSpeed(0); // Set de velocidad MD fijada en 0.El motorD se para motorMI.setSpeed(255); // Set de velocidad MI fijada en 255. } void ATRAS(){ //SUBRUTINA ATRAS. motorMD.run(BACKWARD); // Motor Derecho hacia atras (si gira al revés cambiamos la polaridad en la placa)
  • 22. 22Departamento de Tecnología IES Valentín Turienzo motorMI.run(BACKWARD); // Motor Izquierdo hacia atras (si gira al revés cambiamos la polaridad en la placa) motorMI.setSpeed(255); // Set de velocidad MI fijada en 255 motorMD.setSpeed(255); // Set de velocidad MD fijada en 255 } En cantabRobots.es puedes descargar toda la información del VelociBotCBR. Pincha aquí. Las carpetas de documentos son las siguientes: .- Diseño. Archivos .skp y .stl .- Librería. .- Documentación. PDF con los datasheets de driver, sensores… .- Todos los sketches del manual.