Robot A3 Seguidor de Línea. Guía de usuario

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Robot A3 Seguidor de Línea. Guía de usuario"

Transcripción

1 Robot A3 Seguidor de Línea Guía de usuario Introducción A3 es un robot autónomo de morfología móvil, diseñado para competiciones de seguimiento de línea. Se trata de un robot de tipo diferencial, su tracción basa en dos motores de corriente directa, alimentado por una batería de 9 Voltios. A3 utiliza un microcontrolador de la marca Atmel modelo Atmega328, con firmware de Arduino, lo cual facilita su programación.

2 Advertencias de seguridad y precauciones de uso El robot A3 no es un juguete. Puede ser usado por niños y jóvenes bajo la supervisión y ayuda de un adulto. El uso o abuso del producto es responsabilidad del usuario final. Grupo Educare no se hace responsable por daños o lesiones que éste pueda causar durante su uso. Este producto no está diseñado para jugar, no debe usarse fuera de las condiciones de trabajo. A continuación se indican las precauciones: Antes de comenzar por favor lee cuidadosamente el manual. Utiliza baterías alcalinas o recargables. En el caso de las alcalinas asegúrate que sean nuevas, y si compras recargables verifica que tengan suficiente carga, de lo contrario al programar lo puedes inutilizar para siempre. Condiciones de trabajo: superficie lisa, de preferencia melamina, interiores con luz controlada. No colocar la tarjeta de circuito impreso (PCB) sobre superficies metálicas. El robot A3 esta ensamblado y soldado con piezas que contienen plomo y estaño, por lo cual es necesario lavarse las manos después de manipularlo. Los componentes del robot están expuestos, por lo que es importante no tocarlo con las manos mientras está en funcionamiento. Si tus manos están mojadas se puede causar un corto circuito y dañar uno o varios componentes. Primeros pasos de A3 Qué necesitas? Batería de 9V. Utiliza de preferencia baterías alcalinas o recargables. Si trabajará durante tiempos prolongados con el robot, te recomendamos usar baterías recargables de Niquel-Metal Hidruro, NiMH. No olvides comprar el cargador correspondiente. Cable A B, USB a Micro USB. A3 no requiere un programador externo, todo el hardware electrónico ya se incluye en el robot, pero para la comunicación entre la computadora y el robot se requiere dicho cable. Computadora. Necesitas una computadora para programar el robot. Para ello se utiliza la interfaz de programación de Arduino, plataforma libre, que funciona en cualquiera de los siguientes sistemas operativos: Windows Mac Linux Material para pruebas. Es necesario que tengas a mano papel, cartulinas, cartoncillo y cinta aislante negra o blanca, para improvisar pistas y probar el robot.

3 Conoce más del robot A3 Figura 1. Vista frontal de robot seguidor de línea A3 A3 es un robot de morfología móvil de tipo diferencial, es decir se desplaza por medio de dos ruedas con dos motores, uno para cada una. El cerebro de este robot es un Arduino Nano, y está encargado de procesar la información que le proveen los sensores para realizar correcciones a través de los motores, bajo el esquema básico de control. Hardware de A3 En la figura 1 se muestra el hardware del robot. Observa que se cuenta con varios componentes y dispositivos electrónicos. Reconoces alguno?, a continuación se explican brevemente. Sensores reflectivos de contraste, son los encargados de percibir la información del ambiente, en este caso el contraste, la diferencia entre lo blanco y lo negro, lo brillante y lo opaco. Este dispositivo se compone de dos partes: emisor y receptor. Tanto el primero como el segundo trabajan en el rango infrarrojo de la luz. Ésta no es perceptible por el ojo humano, pero con ayuda de una cámara digital se observa.

4 LEDs. Diodos emisores de luz por sus siglas en inglés, son dispositivos que emiten una luz al circular una corriente por sus terminales. En A3 se usan como indicadores y son programables por el usuario por medio del Arduino. Driver para motor. Basado en un transistor de potencia NPN, son los que proveen de potencia al motor, siendo la interfaz entre el microcontrolador y el motor. Botones. Son interruptores de encendido al contacto. El robot cuenta con 2, el primero para reiniciar el microcontrolador (arduino), y el segundo como botón de usuario para propósito general. Motorreductores. Son motores de corriente directa (CD, como el de las baterías), con una caja de engranes adaptada. Los usados en A3 tienen una reducción de 48:1, esto es, por cada 48 vueltas que gire el motor, el eje del reductor girará 1 vuelta. De este modo se incrementa el torque, fuerza, y se reduce la velocidad. Batería. Es la que provee de energía eléctrica a todo el robot, arduino, sensores, LEDs, motores, pulsadores. Es tipo rectangular de 9V. Figura 2. Vista trasera de A3

5 Arduino Nano Es una pequeña y completa placa basada en el mirocontrolador Atmega328 que generalmente se usa para hacer prototipos. Tiene más o menos la misma funcionalidad que el Arduino UNO, pero con una presentación más compacta. No posee conector para alimentación externa, y funciona con un cable USB Mini-B en ez del cable estándar. Figura 3. Arduino Nano Especificaciones Microcontrolador: Atmega328. Tensión de operación (nivel lógico): 5 Voltios. Tensión de entrada (recomendada): 7-12 Voltios. Tensión de entrada (límites): 6-20 Voltios. Pines E/S digitales: 14 (de los cuales 6 proveen de salida PWM). Entradas Analógicas: 8 Corriente máxima por cada PIN de Entrada/Salida: 40mA Memoria Flash: 32KB. SRAM: 2KB EEPROM: 1KB. Dimensiones: 18.5 mm x 23.2 mm.

6 Alimentación El Arduino Nano puede ser alimentado usando el cable USB Mini-B, con una fuente externa no regulada de 6-20V (pin 30), o con una fuente externa regulada de 5V (pin 27). La fuente de alimentación es seleccionada automáticamente a aquella con mayor tensión. El chip FTDI FT232RL que posee el Nano solo es alimentado si la placa esta siendo alimentada usando el cable USB. como resultado, cuando se utiliza una fuente externa (no USB), la salida de 3.3V (la cual es proporcionada por el chip FTDI) no está disponible y los pines 1 y 0 parpadearán si los pines digitales 0 o 1 están a nivel alto. Memoria El ATmega168 posee 16KB de memoria flash para almacenar el codigo (de los cuales 2KB son usados por el bootloader); el ATmega 328 posee 32KB, (también con 2 KB usados por el bootloader). El Atmega168 posee 1KB de SRAM y 512 bytes de EEPROM (la cual puede ser leida y escrita con la librería EEPROM); el ATmega328 posee 2 KB de SRAM y 1KB de EEPROM. Entrada y Salida Cada uno de los 14 pines digitales del Nano puede ser usado como entrada o salida, usando las funciones pinmode(), digitalwrite(), y digitalread(). Operan a 5 voltios. Cada pin puede proveer o recibir un máximo de 40mA y poseen una resistencia de pull-up (desconectada por defecto) de 20 a 50 kohms. Además algunos pines poseen funciones especializadas: Serial: 0 (RX) y 1 (TX). (RX) usado para recibir y (TX)usado para transmitir datos TTL vía serie. Estos pines están conectados a los pines correspondientes del chip USB-a-TTL de FTDI. Interrupciones Externas: pines 2 y 3. Estos pines pueden ser configurados para activar una interrupción por paso a nivel bajo, por flanco de bajada o flanco de subida, o por un cambio de valor. Mira la función attachinterrupt() para más detalles. PWM: pines 3, 5, 6, 9, 10, y 11. Proveen de una salida PWM de 8-bits cuando se usa la función analogwrite(). SPI: pines 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan la comunicación SPI, la cual, a pesar de poseer el hardware, no está actualmente soportada en el lenguaje Arduino. LED: Pin 13. Existe un LED conectado al pin digital 13. Cuando el pin se encuentra en nivel alto, el LED está encendido, cuando el pin está a nivel bajo, el LED estará apagado. El Nano posee 8 entradas analógicas, cada unas de ellas provee de 10 bits de resolución (1024 valores diferentes). Por defecto miden entre 5 voltios y masa, sin embargo es posible cambiar el rango superior usando la función analogreference(). También, algunos de estos pines poseen funciones especiales: I2C: Pines 4 (SDA) y 5 (SCL). Soporta comunicación I2C (TWI) usando la librería Wire (documentación en la web Wiring). Hay algunos otros pines en la placa: AREF. Tensión de referencia por las entradas analógicas. Se configura con la función analogreference(). Reset. Pon esta linea a nivel bajo para resetear el microcontrolador. Normalmente se usa para añadir un botón de reset que mantiene a nivel alto el pin reset mientras no es pulsado.

7 Diagrama Pictórico Figura 4. Diagrama pictórico de circuito de A3

8 Programando en Arduino Para programa el robot seguidor de línea es necesario contar con el entorno de programación de Arduino. Si aún no lo tiene lo puede descargar en: en la sección de descargas. Es recomendable que la versión de arduino que descarque sea igual o posterior a las 1.0. Figura 5. Captura de pantalla de entorno de programación Arduino versión Componentes de Arduino IDE Figura 6. Icono Verificar Verificar. inspecciona el código generado, marca errores y posibles soluciones. Figura 7. Ícono: Cargar Cargar: Cuando se presiona este botón se compila y ensambla el código contenido en la ventana y se descarga a la tarjeta electrónica de Arduino. Este proceso puede tardar algunos segundos o tal vez un para de minutos.

9 Figura 8. Ícono: Nuevo. Nuevo: crea un nuevo sketch en blanco. Figura 9. Ícono: Abrir. Abrir: abre un sketch, código, ya existente. Figura 10. Ícono: Guardar. Guardar: salva las modificaciones realizadas en el código. Figura 11. Ícono: Monitor Serial. Monitor Serial: abre la aplicación de monitor serial, que puede servir para diferentes propósitos. Referencias del lenguaje Los programas hechos con Arduino se dividen en tres partes principales: Estructura, valores (variables y constantes), funciones. El lenguaje de programación Arduino se basa en C/C++. Estructuras Las dos estructuras principales son las siguientes: setup(), es la estructura donde se configura las entradas, salidas y los módulos. Es llamado también como inicialización. Lo contenido en esta estructura se ejecuta sólamente una vez al inicio del programa. loop(), es la estructura donde se escribe el código, y se repetirá infintas veces. Valores Constantes HIGH, alto, LOW, bajo, INPUT, entrada, OUTPUT, salida, True, verdadero, false, falso,

10 Variables: boolean, booleando, char, carácter, byte, 8 bits int, entero, unsigned int, entero sin signo, long, entero de 32 bits, unsigned long, entero 32 bits sin signo, float, punto flotante. Funciones pinmode(), configura si el pin digital será salida o entrada, digitalwrite(), si el pin ha sido configurado como salida digital, su voltaje de salida será 0 o 5V. digitalread(), lectura del valor digital del pin especificado, analogread(), lectura del valor analógico del pin especificado, analogwrite(), configura la modulación por anchura de pulso de un pin (PWM), delay(), pausa en milisegundos. Serial, librería incluida para el uso y configuración del módulo serial. Revisa la referencia del lenguaje de arduino para aprender más acerca de las estructuras, variables y funciones de Arduino.

11 El primer programa en Arduino para A3 Un sencillo programa de demostración está disponible en los ejemplos de Arduino, Archivo/Ejemplos/01.Basics/Blink. Figura 12. El primer programa en Arduino Este sencillo programa prende y apaga un LED, colocado en la patilla, pin 13. /* Blink Turns on an LED on for one second, then off for one second, repeatedly. */ // Pin 13 has an LED connected on most Arduino boards. int led = 13; // the setup routine runs once when you press reset: void setup() // initialize the digital pin as an output. pinmode(led, OUTPUT);

12 // the loop routine runs over and over again forever: void loop() digitalwrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalwrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second Abierto el programa de ejemplo es necesario seleccionar la tarjeta correspondiente, en el caso del robot seguidor de línea, se trata de un Arduino Nano Atmega328, para ello diríjase al menú Herramientas/Tarjeta/Arduino Nano w/atmega328. Figura 13. Selección de tarjeta Arduino Nano w/atmega328 Ahora se verificará que el código escrito sea correcto, presione el ícono verificar:

13 Lo que hará esta función será traducir todo lo codificado a un idioma que entienda el microcontrolador. Observe los avisos y errores de salida mostrados. Si el programa se compila correctamente, el mensaje de salida deberá ser como se muestra en la figura: Figura14. Mensajes de salida Una vez compilado y verificado el programa, y en vista que no existen errores o advertencias, se procede a cargar el programa a la tarjeta de Arduino. Para ello antes es importante seleccionar el puerto de comunicación serial COM correcto. Para ello se puede hacer lo siguiente: Abra el administrador de dispositivos, En la pestaña Puertos (COM y LPT), verifique el puerto en el cual está ubicado el Arduino. Generalmente tiene el nombre de USB Serail Port. Figura 15. Verificación del puerto COM del Arduino

14 Una vez identificado, se selecciona en el IDE, Herramientas/Puerto serial/comx Figura 16. Selección del Puerto Serial Cargue el programa a la tarjeta de Arduino presionando el ícono de cargar. Esta acción puede tardar algunos segundos. Figura 17. Carga de programa a tarjeta de Arduino Si la carga fue exitosa se desplegará el siguiente mensaje: Figura 18. Carga Exitosa

15 Ejemplos y proyectos Ahora que sabe como compilar y cargar un prorama a la tarjeta de Arduino es tiempo de aprender a diseñar y codificar programas más complicados. Comenzará con los más sencillos. Ejemplo 1: Luces estilo el auto increible Figura 16. Tarjeta de A3 La tarjeta del robot seguidor de línea incluye 5 indicadores LED's para el propósito General. Éstos se encuentran en los pines digitales 11, 9, 8, 7, 6, marcados como B0, B1, B2, B3, B4 en ese preciso orden. La secuencia que se quiere lograr es la siguiente: Movimiento 1 Movimiento 2 Movimiento 3 Movimiento 4

16 Movimiento 5 Movimiento 6 Movimiento 7 Movimiento 8 Figura 17. Luces del auto increíble. El código de este programa se encuentra disponible en la página Web: int runled = 13; //Alias para pin 13 int led0 = 11; int led1 = 6; int led2 = 7; int led3 = 8; int led4 = 9; void setup() //Configuración de entradas y salidas pinmode(runled, OUTPUT); //Salida digital en runled = pin 13 pinmode(led0, OUTPUT); //Salida digital en led0 = pin 11 pinmode(led1, OUTPUT); //Salida digital en led1 = pin 6

17 pinmode(led2, OUTPUT); //Salida digital en led2 = pin 7 pinmode(led3, OUTPUT); //Salida digital en led3 = pin 8 pinmode(led4, OUTPUT); //Salida digital en led4 = pin 9 //Configuración de módulos void loop() //Código que se repetirá infititamente //Corrimiento de LEDs del B0 al B4 digitalwrite(led0, HIGH); //Puesta en alto de led0, prende digitalwrite(led1, LOW); //Puesta en bajo de led1, apaga delay(250); digitalwrite(led1, HIGH); //Puesta en alto de led1, prende digitalwrite(led0, LOW); //Puesta en bajo de led0, apaga delay(250); digitalwrite(led2, HIGH); //Puesta en alto de led2, prende digitalwrite(led1, LOW); //Puesta en bajo de led1, apaga delay(250); digitalwrite(led3, HIGH); //Puesta en alto de led3, prende digitalwrite(led2, LOW); //Puesta en bajo de led2, apaga delay(250); digitalwrite(led4, HIGH); //Puesta en alto de led4, prende digitalwrite(led3, LOW); //Puesta en bajo de led3, apaga delay(250); //Corrimiento de LEDs del B4 al b0 digitalwrite(led3, HIGH); //Puesta en alto de led0, prende digitalwrite(led4, LOW); //Puesta en bajo de led4, apaga delay(250); digitalwrite(led2, HIGH); //Puesta en alto de led0, prende digitalwrite(led3, LOW); //Puesta en bajo de led4, apaga delay(250); digitalwrite(led1, HIGH); //Puesta en alto de led0, prende digitalwrite(led2, LOW); //Puesta en bajo de led4, apaga delay(250); Es un ejemplo sencillo pero ayuda a comprender el manejo de los pines digitales como salidas.

18 Ejemplo 2: Encendido de un LED con un interruptor sin contacto. La tarjeta del robot A3 cuenta con 5 sensores del tipo reflectivo infrarrojo. Este tipo está compuesto de dos componentes un emisor y un receptor. El primero es un LED infrarrojo, luz que no podemos ver los ojos; el segundo es un fototransistor con filtro de luz de día. El funcionamiento es el siguiente: Figura 18. Sensor Reflectivo sobre superficie reflejante. Cuando el LED infrarrojo se encuentre emitiendo luz, si la superfice es reflejante, por ejemplo blanca, se refleja una cantidad de luz que es percebida por el fototransistor, que convierte la señal luminosa en voltaje, permite un flujo de corriente entre sus terminales y por la configuración de carga de emisor se obtiene un valor. Figura19. Sensor Reflectivo sobre superficie opaca Por lo contrario si el la superficie es opaca, por ejemplo negra, se refleja poca luz, la cual es percibida por el fototransisto, pero se genera poca corriente en sus terminales y por consiguiente poco voltaje. Este sensor no puede servir como un interruptor sin contacto, y se usa comúnmente en muchos procesos de la industra y cotidianos, tal es caso de las llaves automáticas de agua usadas en los baños públicos. La intensión es que cuando coloque su dedo frente al sensor este active el LED. A continuación se propone el código. /* Inicio del código */ //Declaración de variables globales int sensor4; int runled = 13; //Alias para pin 13

19 int led0 = 11; void setup() //Configuración de entradas y salidas pinmode(led0, OUTPUT); //Salida digital en led0 = pin 11 //Configuración de módulos void loop() //Código que se repetirá infititamente sensor4 = analogread(a4); //Lectura del sensor Izquierdo if (sensor4 > 512) //Si la superficie es blanca entonces prende LED digitalwrite(led0, HIGH); else //Sino, es decir, es negro, entonces apaga LED digitalwrite(led0, LOW); delay(50); /* Fin del código */ El funcionamiento de este será el siguiente, cuando coloque su dedo cerca del sensor marcado como A4 en el PCB del robot el indicador LED marcado como B0 se encenderá, sino se mantendrá apagado, como se muestra en la siguiente figura. Figura 20. Funcionamiento del programa

20 Ejercicio 1: Desarrolle un programa que cumpla con las siguientes condiciones: Si el sensor 4, A4, detecta, está sobre una superficie reflejante, entonces prende el LED marcado como B0. Si el sensor 3, A3, detecta, está sobre una superficie reflejante, entonces prende el LED marcado como B1. Si el sensor 2, A2, detecta, está sobre una superficie reflejante, entonces prende el LED marcado como B2. Si el sensor 1, A1, detecta, está sobre una superficie reflejante, entonces prende el LED marcado como B3. Si el sensor 0, A0, detecta, está sobre una superficie reflejante, entonces prende el LED marcado como B4. Cada uno de los sensores debe accionar de manera independiente, pudiendo estar varios en superficie reflejante y tener funcionamiento.

21 Ejemplo 3: Accionar de motores. Para probar los motores tenemos que conectarlos en los terminales (verdes con tornillos), marcados como Motor A y Motor B. En la siguiente figura se muestra a manera de ejemplo la conexión. Figura 21. Conexión de motores También es necesario conectar la batería con interruptor. Sea cuidadoso al conectar la batería, conecte el cable rojo del broche de la batería (positivo) en el tornillo del terminal verde marcado con +V, y el negro (común, tierra) conéctelo al otro lado del terminal, marcado con GND. Puede guiarse de la siguiente figura para conectarlo. Corte la alimentación con el interruptor. Figura 22. Conexión de batería

22 Copie y pegue el siguiente código en la ventana del IDE de Arduino. /* Inicio del código */ //Declaración de variables globales int sensor0, sensor1, sensor2, sensor3, sensor4; int MotorA = 3; int MotorB = 5; int led1 = 6; int led2 = 7; int led3 = 8; void setup() //Configuración de entradas y salidas pinmode(motora, OUTPUT); //Salida digital en MotorA = pin 5 pinmode(motorb, OUTPUT); //Salida digital en MotorA = pin 3 pinmode(led1, OUTPUT); //Salida digital en led1 = pin 6 pinmode(led2, OUTPUT); //Salida digital en led2 = pin 7 pinmode(led3, OUTPUT); //Salida digital en led3 = pin 8 //Configuración de módulos void loop() //Código que se repetirá infititamente //Adelante digitalwrite(motora, HIGH); digitalwrite(motorb, HIGH); digitalwrite(led1, LOW); digitalwrite(led2, HIGH); digitalwrite(led3, LOW); delay(1000); //Derecha digitalwrite(motora, HIGH); digitalwrite(motorb, LOW); digitalwrite(led1, HIGH); digitalwrite(led2, LOW); digitalwrite(led3, LOW); delay(1000); //Izquierda

23 digitalwrite(motora, LOW); digitalwrite(motorb, HIGH); digitalwrite(led1, LOW); digitalwrite(led2, LOW); digitalwrite(led3, HIGH); delay(1000); /* Fin del código */ Funcionamiento El robot deberá ir hacia adelante, después a la derecha y por último a la izquierda. Se repetirá infinitamente. Verifique que la secuencia descrita corresponda con el movimiento del robot. Si alguno de los motores gira en sentido contrario invierta los cables en los terminales de tornillo (verdes).

24 Ejemplo 4: Visualización del valor de los sensores en monitor serial. Una de las grandes ventajas de las tarjetas de Arduino es su simplicidad para establecer conexión con una computadora. Esto se realiza gracias al convertivor USB a serial incluido en la tarjeta. A demás el entorno de programación cuenta con una aplicación, monitor serial, que sirve para visualizar, recibir y enviar información. El siguiente programa obtiene el valor de los sensores reflectivos analógico, los cuantifica y los despliega. La cuantificación es el proceso por el cual se le asigna un valor en bits a una señal. Los convertidores CAD, Analógico a Decimal, cuantifican las señales, es decir entregan un valor en número dependiendo de la resolución que posean. En el caso del microcontrolador que se usa, Atmega328, la resolución es de 10 bits, es decir 1024 divisiones en la escala del 0 al 5V. Una buen analogía es la siguiente: Suponga que tiene una escalera de 5 metros con 1024 escalones, cada escalón le hará subir metros. Si otra persona le indica que tiene que pintar una linea a 2.5 metros del piso, Cuántos escalones tendrá que subir?, esto puede resolverse por una simple regla de tres: Dato= 2.5metros 1024escalones =512escalones 5metros A grosso modo eso es lo que hace un convertidor Analógico a Digital, convierte un voltaje en un dato que pueda manipular. Para realizar la calibración los sensores o para obtener información de ellos se puede realizar un programa que muestre los datos en el monitor serial. A continuación se propone el código para realizar esta tarea. /* Inicio del código */ //Declaración de variables globales int sensor0, sensor1, sensor2, sensor3, sensor4; void setup() //Configuración de entradas y salidas //Configuración de módulos Serial.begin(9600); void loop() //Código que se repetirá infititamente sensor0 = analogread(a0); //Lectura del sensor Derecho sensor1 = analogread(a1); //Lectura del sensor Centro Derecho sensor2 = analogread(a2); //Lectura del sensor Centro sensor3 = analogread(a3); //Lectura del sensor Centro Izquierdo sensor4 = analogread(a4); //Lectura del sensor Izquierdo

25 Serial.print("Sensor Derecho = "); Serial.println(sensor0); Serial.print("Sensor Centro Derecho = "); Serial.println(sensor1); Serial.print("Sensor Centro = "); Serial.println(sensor2); Serial.print("Sensor Centro Izquierdo = "); Serial.println(sensor3); Serial.print("Sensor Izquierdo = "); Serial.println(sensor4); delay(500); /* Fin del código */ Funcionamiento Una vez compilado y descargado el código se deberá abrir el monitor serial dentro del IDE de Arduino para ver los datos. Figura 23. Recepción de datos por el monitor Serial En la figura se puede observar los valores obtenidos sobre una superficie reflejante, en la parte superior, y en la posterior sobre una superficie opaca. Estos datos son importantes para la determinación del umbral para el seguidor de línea. Ejercicio 2 Desarrolle el código para un programa que muestre por el monitor serial el valor de los sensores en Voltaje.

26 Ejemplo 5: Seguidor de línea Básico El seguimiento de una línea es una buena introducción en la programación de robots. Por qué un seguidor de líneas? Es fácil entender el funcionamiento y la lógica de programación para el seguimiento de una línea. Optimizar el programa para hacer que el robot se deslice sobre una línea a la velocidad más rápida es un reto que puse llevarle a algunos conceptor avanzados de programación. Explicación del concurso El concurso de velocidad consiste en una carrera de persecución entre dos robots en una pista cerrada, comenzando en puntos opuestos y avanzando en el mismo sentido. El objeto, por tanto, será la consecución de altas velocidades de marca en un recorrido perfectamente establecido. Figura 24. Competición seguidor de línea, persecución Construya una pista para pruebas Es importante tener una pista o construir una con los siguientes materiales. Cartulina blanca, cinta de aislar negra, tijeras. Para hacer pruebas dibuje con la cita de aislar una pista sencilla, tal vez sea suficiente con un rectángulo con las esquinas redondeadas o una elipse. No se recomienda vueltas con ángulos rectos, 90 grados.

27 Se propone el siguiente código, copie y pegue en el área de código del IDE de Arduino. /* Inicio del código */ //Declaración de variables globales int sensor0, sensor1, sensor2, sensor3, sensor4; int runled = 13; //Alias para pin 13 int led0 = 11; int led1 = 6; int led2 = 7; int led3 = 8; int led4 = 9; int umbral = 750; int velocidad = 100; void setup() //Configuración de entradas y salidas pinmode(runled, OUTPUT); //Salida digital en runled = pin 13 pinmode(led0, OUTPUT); //Salida digital en led0 = pin 11 pinmode(led1, OUTPUT); //Salida digital en led1 = pin 6 pinmode(led2, OUTPUT); //Salida digital en led2 = pin 7 pinmode(led3, OUTPUT); //Salida digital en led3 = pin 8 pinmode(led4, OUTPUT); //Salida digital en led4 = pin 9 //Configuración de módulos void loop() //Código que se repetirá infititamente sensor0 = analogread(a0); sensor1 = analogread(a1); //Lectura del sensor Centro Derecho sensor2 = analogread(a2); //Lectura del sensor Centro sensor3 = analogread(a3); //Lectura del sensor Centro Izquierdo sensor4 = analogread(a4); if (sensor0 > umbral && sensor1 > umbral && sensor2 < umbral && sensor3 > umbral && sensor4 > umbral) //Si la superficie es blanca entonces prende LED analogwrite(5, velocidad); analogwrite(3, velocidad); digitalwrite(led1, LOW);

28 digitalwrite(led2, HIGH); digitalwrite(led3, LOW); //Centro y derecho if (sensor0 > umbral && sensor1 < umbral && sensor2 > umbral && sensor3 > umbral && sensor4 > umbral) //Si la superficie es blanca entonces prende LED analogwrite(5, 50); analogwrite(3, velocidad); digitalwrite(led1, HIGH); digitalwrite(led2, HIGH); digitalwrite(led3, LOW); //derecho if (sensor0 < umbral && sensor1 > umbral && sensor2 > umbral && sensor3 > umbral && sensor4 > umbral) //Si la superficie es blanca entonces prende LED analogwrite(5, 20); analogwrite(3, velocidad); digitalwrite(led1, HIGH); digitalwrite(led2, LOW); digitalwrite(led3, LOW); //Centro Izquierdo if (sensor0 > umbral && sensor1 > umbral && sensor2 > umbral && sensor3 < umbral && sensor4 > umbral) //Si la superficie es blanca entonces prende LED analogwrite(5, velocidad); analogwrite(3, 50); digitalwrite(led1, LOW); digitalwrite(led2, HIGH); digitalwrite(led3, HIGH); //Izquierdo if (sensor0 > umbral && sensor1 > umbral && sensor2 > umbral && sensor3 > umbral && sensor4 < umbral) //Si la superficie es blanca entonces prende LED analogwrite(5, velocidad); analogwrite(3, 20);

29 digitalwrite(led1, LOW); digitalwrite(led2, LOW); digitalwrite(led3, HIGH); /* Fin del código */ Funcionamiento Son cinco las entradas que se toman en cuenta para hacer la corrección en los motores y de esta forma seguir la línea. Si ya probó el código se dará cuenta que el robot sigue la línea de la siguiente manera. Figura 25. Seguimiento de línea con condiciones Idealmente el programa descrito anteriormente tiene el comportamiento mostrado en la tabla. Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Motor A (3) Motor B (5) % 40.00% % 40.00% % 40.00% % 20.00% % 8.00% En la tabla un 1 representa superficie blanca, y un 0 representa la línea negra. Para realizar ajuste en la velocidad, se debe de cambiar el valor de la variable velocidad. int velocidad = 100; Y las velocidades de cada motor en cada condición.

30 Como verá este sistema de control no es muy eficiente, el seguidor de línea no se desliza exactamente sobre ella y se requiere trabajar a baja velocida. Ejercicio 3. Desarrolle un código para la respuesta ante lo cinco sensores y las siguientes condiciones: Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Motor A Motor B Ajuste y determine las acciones a tomar con respecto a la velocidad de cada uno de los motores.

31 Ejemplo 6: Seguidor de línea con Control PID Para seguir la línea con precisión es necesario aplicar métodos de control. La técnica usada en este ejemplo es el control PID. Proporcional, es un valor propocional a la posición del robot sobre la línea. Si el robot está centrado sobre la línea el error será 0, pero si se encuentra a la derecho o izquierda el valor del error será positivo o negativo. Integral, es una memoria de todos los eventos anteriores. Una integral en sistemas discretos, generalmente usados por micro-controladores y microprocesadores, se pude expresar como la sumatoria de todos los puntos anteriores, lo que en sistemas continuos es el área debajo de la curva. Derivativo, es la razón de cambio, la tendencia, el diferencia de los valores actuales y anteriores. El código propuesto /* Inicio código */ #include <QTRSensors.h> //Biblioteca para la lectura y calibración de los sensores de contraste //Declaración de constantes #define NUM_SENSORS 5 // Número de sensores #define NUM_SAMPLES_PER_SENSOR 4 // Número de muestras por sensor #define EMITTER_PIN 2 // Controlador de emisores LED's infrarrojos //Los sensores reflectivos para detectar contraste de encuentran conectados en las entradas //Analógicas A0 a A4 QTRSensorsAnalog qtra((unsigned char[]) 0, 1, 2, 3, 4, 5, NUM_SENSORS, NUM_SAMPLES_PER_SENSOR, EMITTER_PIN); unsigned int sensorvalues[num_sensors]; //Vector para almacenar señal de sensores unsigned int sensors[5]; // Matriz para armazenar valores dos sensores int MotorA = 5; //Alias para Motor B int MotorB = 3; //Alias para Motor A //Declaración de variables int total = 0; float average = 0; int index = 0; int last_proportional; int integral; void setup()

32 //Configuración de entradas y salidas digitales delay(500); pinmode(13, OUTPUT); //Se prende el indicador LED conectado en el pin 13, para indicar que se //inicia la calibración digitalwrite(13, HIGH); //Rotación del robot para calibración analogwrite(motora, 90); analogwrite(motorb, 0); for (int i = 0; i < 200; i++) //Calibración durante 5 segundos qtra.calibrate(); // Se hace las lecturas para obtener valores de máximos y mínimos digitalwrite(13, LOW); //Se apaga el LED indicando que se completo la programación analogwrite(motora, 0); analogwrite(motorb, 0); delay(1000); void loop() while(1) //Se obtiene el valor de cada uno de los sensores mediante la función qtra.readline(); unsigned int position = qtra.readline(sensorvalues); //Determinación del término proporcional int proportional = ((int)position) ; //Determinación del término derivativo int derivative = proportional - last_proportional; //Determinación del término integral integral += proportional; //Se almacena el estado anterior para determinar el próxmio término derivativo last_proportional = proportional; //Cálculo para determinar la velocidad de cada uno de los motores int power_difference = proportional/10 + integral/ derivative*3/2;

33 const int max = 180; if(power_difference > max) power_difference = max; if(power_difference < -max) power_difference = -max; if(power_difference < 0) set_motors(max+power_difference, max); else set_motors(max, max-power_difference); // Accionamiento dos motores void set_motors(int left_speed, int right_speed) if(right_speed >= 0 && left_speed >= 0) analogwrite(motora, left_speed); analogwrite(motorb, right_speed); if(right_speed >= 0 && left_speed < 0) left_speed = -left_speed; analogwrite(motora, left_speed); analogwrite(motorb, 0); if(right_speed < 0 && left_speed >= 0) right_speed = -right_speed; analogwrite(motora, 0); analogwrite(motorb, right_speed); /* Fin de código */ Para la compilación de este programa es necesario descargar e instalar la librería QTRSensors para Arduino. Funcionamiento El robot seguirá una línea blanca sobre fondo negro, deslizándose de la mejor manera posible, debido al método de contro usado, PID. Ejercicio 4: Modifique el código para que el robot siga una línea negra con fondo blanco.

MS Luchador de Sumo. Guía de usuario

MS Luchador de Sumo. Guía de usuario MS Luchador de Sumo Guía de usuario Introducción MS es un robot autónomo de morforlogía móvil, diseñado para competiciones de luchador de sumo en la categoría de Min (10 X 10 cm y un peso de 500 gramos).

Más detalles

Robot C2. Plataforma robótica Multipropósito. Guía de usuario

Robot C2. Plataforma robótica Multipropósito. Guía de usuario Robot C2 Plataforma robótica Multipropósito Guía de usuario Introducción C3 es un robot autónomo de morforlogía móvil, diseñado como plataforma multipropósito para resolución de los principales retos de

Más detalles

IM : ARDUINO NANO OEM

IM : ARDUINO NANO OEM IM130615004: ARDUINO NANO OEM NIVEL DE ENTRADA Básico Estas placas y módulos son los mejores para iniciar a programar un micro-controlador Descripción Arduino Nano es una pequeña placa basada en el ATmega328

Más detalles

Programación de Arduino

Programación de Arduino Programación de Arduino Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Introducción Ecuaciones diferenciales Método Euler Índice General

Más detalles

1. INTRODUCCIÓN 1.1. ARDUINO, QUÉ ES? 1.2. HARDWARE.

1. INTRODUCCIÓN 1.1. ARDUINO, QUÉ ES? 1.2. HARDWARE. http://www.arduino.cc/ 1. INTRODUCCIÓN 1.1. ARDUINO, QUÉ ES? Arduino es una plataforma de electrónica/software abierta (código abierto open source) para la creación de prototipos basada en software y hardware

Más detalles

Introducción a Arduino

Introducción a Arduino Introducción a Arduino Dr. Ulises Pineda Rico Cuerpo Académico de Comunicaciones Facultad de Ciencias, UASLP Tel. +52(444) 826-2486 ext. 2964 correo electrónico: u_pineda@galia.fc.uaslp.mx http://galia.fc.uaslp.mx/~u_pineda

Más detalles

Ardunio. Test Placa. LunikSoft. Fco. Javier Andrade.

Ardunio. Test Placa. LunikSoft. Fco. Javier Andrade. LunikSoft Fco. Javier Andrade http://www.luniksoft.info El autor no se responsabiliza del contenido. No asume ninguna responsabilidad, por cualquier inexactitud en la documentación, en los programas, en

Más detalles

5V. Este pin da como salida 5V regulados. La placa puede ser suministrada con la alimentación, ya sea desde la toma de alimentación de CC (7-12 V), el conector USB (5V), o el pin VIN de (7-12V). El suministro

Más detalles

Se tomaron en cuenta tres marcas fabricantes para este módulo:

Se tomaron en cuenta tres marcas fabricantes para este módulo: 109 3. Modulo de Interface a. Selección Debido a que el módulo de visión CMUCam1 requiere una serie de instrucciones para poder realizar una acción, se tuvo la necesidad de adquirir un módulo adicional,

Más detalles

Dispositivos de Entrada/Salida

Dispositivos de Entrada/Salida Dispositivos de Entrada/Salida Notas de clase: Unidad IV Materia: Diseño y Paradigmas de Lenguajes Carrera: Ingeniería en Informática/Ingeniería en Computación Universidad Nacional de San Luis 20/09/2017

Más detalles

Clase 2: Programación

Clase 2: Programación Clase 2: Conviértete en un Joven Inventor PENTA UC TAV 2014 Contenidos Qué es un micro-controlador? Configuración IDE Arduino Qué es programar? Ejemplo Tipos de datos Funciones útiles Contenidos Qué es

Más detalles

Introducción a Arduino

Introducción a Arduino Introducción a Arduino Federico Davoine, Gabriel Eirea Taller de Electrónica Libre, Instituto de Ingeniería Eléctrica 10 de abril de 2013 TEL (Taller de Electrónica Libre) Introducción a Arduino 10 de

Más detalles

OBJETIVOS QUÉ VAMOS A REALIZAR? CONOCIMIENTOS PREVIOS

OBJETIVOS QUÉ VAMOS A REALIZAR? CONOCIMIENTOS PREVIOS Para iniciarnos en el mundo de la programación usualmente se utiliza el famoso ejemplo de Hola Mundo!. Este programa se encarga de imprimir dicho texto en pantalla, es caracterizado por su sencillez y

Más detalles

Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria.

Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria. /* */ Los bloques de comentarios o comentarios multilíneas son áreas de texto ignoradas por el programa y se usan para describir códigos o comentarios que ayudan a otras personas a entender parte del programa.

Más detalles

El ladrillo llamado R8+ es el cerebro del kit robó co. Tiene conectores laterales para motores y sensores.

El ladrillo llamado R8+ es el cerebro del kit robó co. Tiene conectores laterales para motores y sensores. 1 m Manual R8+ El ladrillo llamado R8+ es el cerebro del kit robó co. Tiene conectores laterales para motores y sensores. Boton Reset o encendido apagado segun modelo Salida / Entrada Mini USB para conexión

Más detalles

OBJETIVOS QUÉ VAMOS A REALIZAR? CONOCIMIENTOS PREVIOS

OBJETIVOS QUÉ VAMOS A REALIZAR? CONOCIMIENTOS PREVIOS Las computadoras no son entes inteligentes que toman decisiones por sí mismas. Sin nuestra intervención, no serían capaces realizar todas las tareas que hoy en día tienen a su cargo. Debido a esto es sumamente

Más detalles

Dynabot II es un kit diseñado para el aprendizaje de robótica móvil basado en arduino. Para qué sirve?

Dynabot II es un kit diseñado para el aprendizaje de robótica móvil basado en arduino. Para qué sirve? Versión arduino Descripción Dynabot II es un kit diseñado para el aprendizaje de robótica móvil basado en arduino. Para qué sirve? Sirve para programar aplicaciones básicas y avanzadas en robótica móvil,

Más detalles

IM : PLACA OEM DUE COMPATIBLE CON ARDUINO

IM : PLACA OEM DUE COMPATIBLE CON ARDUINO IM130413001: PLACA OEM DUE COMPATIBLE CON ARDUINO Descripción Arduino OEM DUE es una placa electrónica basada en el núcleo de Atmel SAM3X8E ARM Cortex-M3. Advertencia: A diferencia de otras placas Arduino,

Más detalles

Tecnología robótica. Tema 7.- Tarjeta controladora Arduino

Tecnología robótica. Tema 7.- Tarjeta controladora Arduino 1. Elementos electrónicos. 2. Placa Arduino. Sus componentes. 3. Software de Arduino. 4. Características de programación en Arduino. 5. Proyectos con la tarjeta controladora Arduino. 1. Elementos electrónicos.

Más detalles

PRESENTA INTRODUCCIÓN A ARDUINO

PRESENTA INTRODUCCIÓN A ARDUINO PRESENTA INTRODUCCIÓN A ARDUINO #1: ALGORITMOS Y PSEUDOCÓDIGO, BLINK #2: ENTRADA y SALIDAS ANALOGAS / DIGITALES #3: SERVOMOTOR + DESAFIO #1 Qué es Arduino? Tips Generales Hasta dónde se puede llegar?

Más detalles

CONCEPTOS BÁSICOS DE MICRO CONTROLADORES: CONOCIENDO A ARDUINO

CONCEPTOS BÁSICOS DE MICRO CONTROLADORES: CONOCIENDO A ARDUINO CONCEPTOS BÁSICOS DE MICRO CONTROLADORES: CONOCIENDO A ARDUINO Antony García González Estudiante de la Universidad Tecnológica de Panamá Facultad de Ingeniería Eléctrica Licenciatura en Ingeniería Electromecánica

Más detalles

Instalación y entorno de programación

Instalación y entorno de programación Instalación y entorno de programación Miguel Ángel Asensio Hernández, Profesor de Electrónica de Comunicaciones. Departamento de Electrónica, I.E.S. Emérita Augusta. 06800 MÉRIDA. Pagina oficial de Arduino:

Más detalles

Las 7 claves de Arduino UNO

Las 7 claves de Arduino UNO Las 7 claves de Arduino UNO La mejor placa para iniciarse en este mundo es el Arduino UNO. Aunque podríamos empezar con cualquier otra, prácticamente todas tienen las mismas funcionalidades básicas, Arduino

Más detalles

TECNOLOGICO NACIONAL DE MÉXICO. Materia: Instrumentación Virtual

TECNOLOGICO NACIONAL DE MÉXICO. Materia: Instrumentación Virtual TECNOLOGICO NACIONAL DE MÉXICO Materia: Instrumentación Virtual Alumno: Perez Espinal Jorge Adrian Grupo: 7M1 PRACTICA 1 Objetivo Utilizando Arduino y uno de sus ejemplos que se encuentran en su programa

Más detalles

TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz TEMA 5: ROBÓTICA

TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz TEMA 5: ROBÓTICA TEMA 5: ROBÓTICA La robótica es la rama de la tecnología que se dedica al diseño y construcción de robots, Un robot es una máquina formada por sensores y actuadores controlados por un ordenador y programada

Más detalles

4 Actuadores eléctricos. Alfaomega. Material Web. Arduino control de servomotores a pasos 2

4 Actuadores eléctricos. Alfaomega. Material Web. Arduino control de servomotores a pasos 2 4 Actuadores eléctricos Capítulo Material Web Arduino control de servomotores a pasos 2 2 Actuadores eléctricos 4.1. 4.1 Arduino control de servomotores a pasos Un servomotor de pasos es un sistema formado

Más detalles

ESPino - Especificaciones

ESPino - Especificaciones ESPino - Especificaciones Resumen Microcontrolador ESP8266 (32-bit RISC) WiFi 802.11 (station, access point, P2P) Voltaje de operación 3.3V Voltaje de entrada 4.4-15V Pines de I/O Digitales 9 Pines de

Más detalles

TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz TEMA 6: ROBÓTICA

TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz TEMA 6: ROBÓTICA TEMA 6: ROBÓTICA La robótica es la rama de la tecnología que se dedica al diseño y construcción de robots, Un robot es una máquina formada por sensores y actuadores controlados por un ordenador y programada

Más detalles

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA Laboratorio de Automatización Industrial Mecánica. TEMA: Control de procesos con Arduino.

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA Laboratorio de Automatización Industrial Mecánica. TEMA: Control de procesos con Arduino. TEMA: Control de procesos con Arduino. Ejercicio: Controlando un proceso la ayuda de la tarjeta Arduino Objetivo: Mediante modulo Arduino, controlamos un proceso instrumentado mediante sensores y actuadores.

Más detalles

Programa del curso de Arduino

Programa del curso de Arduino Programa del curso de Arduino Víctor Pérez Domingo victorperezdomingo@gmail.com Febrero 2017 1 ÍNDICE ÍNDICE Índice 1. Curso 4 1.1. Objetivo del bloque 1................................... 4 1.2. Objetivo

Más detalles

OKY2002: Arduino Uno Genérico

OKY2002: Arduino Uno Genérico OKY2002: Arduino Uno Genérico Básico NIVEL DE ENTRADA Estas tarjetas y módulos son los ideales para iniciar a programar un microcontrolador y adentrarte al mundo de la tecnología. Descripción El OKI2002

Más detalles

Programación con Arduino. Jornadas de Robótica 2016 Curso de Impresión 3D y Hardware libre

Programación con Arduino. Jornadas de Robótica 2016 Curso de Impresión 3D y Hardware libre Programación con Arduino Jornadas de Robótica 2016 Curso de Impresión 3D y Hardware libre Índice: 0. Instalación Software 1. Presentando la tarjeta Arduino UNO /ZUMBT 2. Bitbloq 3. Alternativas: a. Instalables

Más detalles

AR 1 T. Tutorial 1. Introducción a Arduino Controlando un LED.

AR 1 T. Tutorial 1. Introducción a Arduino Controlando un LED. 1 T Tutorial 1. Introducción a Arduino Controlando un LED. Objetivo general. Conocer los conceptos básicos de Arduino para aplicarlos, encender y apagar un LED como primera práctica. Qué es Arduino? Arduino

Más detalles

Introducción Arduino TPR 3º ESO

Introducción Arduino TPR 3º ESO Programar consiste en decirle a tu Arduino y a los actuadores que éste controla, desde sus puertos, lo que tiene que hacer. El programa instalado en nuestro PC tiene el icono siguiente: Al abrir el programa,

Más detalles

Programar posiciones en un Micro Servo Tower Pro SG90 9G

Programar posiciones en un Micro Servo Tower Pro SG90 9G Programar posiciones en un Micro Servo Tower Pro SG90 9G (Recopilado de Internet. Revision Prof: Bolaños DJB) Versión: 12-04-18 Los servos son motores de corriente continua (CC), pero en lugar tener un

Más detalles

Taller de Introducción a la Ingeniería Eléctrica Instituto de Ingeniería Eléctrica - Facultad de Ingeniería Universidad de la Republica

Taller de Introducción a la Ingeniería Eléctrica Instituto de Ingeniería Eléctrica - Facultad de Ingeniería Universidad de la Republica Taller de Introducción a la Ingeniería Eléctrica Instituto de Ingeniería Eléctrica - Facultad de Ingeniería Universidad de la Republica Objetivo Actividad orientada a la generación de ingreso Pretende

Más detalles

Iniciación al IDE de Arduino y primer ejercicio

Iniciación al IDE de Arduino y primer ejercicio Ardushop.es Iniciación al IDE de Arduino y primer ejercicio 1. Componentes Arduino UNO Cable USB 2. Explicación placa Arduino UNO 1 Led Debug 9 Botón Reset 2 Pines digitales (entrada/salida) USB 8 3 ICSP

Más detalles

HTTPS://VIMEO.COM/

HTTPS://VIMEO.COM/ INTRODUCCIÓN A ARDUINO Centro CFP/ES VIDEO SOBRE ARDUINO HTTPS://VIMEO.COM/18390711 1 QUÉ ES ARDUINO? QUÉ NOS PROPORCIONA ARDUINO? 2 CARACTERÍSTICAS ARDUINO Microcontrolador Atmega 328 @ 16MHz. Voltaje

Más detalles

La plataforma Arduino

La plataforma Arduino La plataforma Arduino Arduino es una plataforma de electrónica abierta que permite crear prototipos a partir de software y hardware libres. Toma información de su entorno por medio de sensores y con la

Más detalles

Tecnológico Nacional de México

Tecnológico Nacional de México Tecnológico Nacional de México Instituto Tecnológico de Ensenada Introduccio n a la tecnologí a arduino Instructor: M. E. Oscar Martin Tirado Ochoa Ensenada, B. C. Junio del 2015 Contenido Hola mundo...

Más detalles

LED INTERMITENTE CIRCUITO ELÉCTRICO MATERIALES PROGRAMA LED DOS CONECTORES CABLE USB ROBÓTICA. Puerto 8 ( salida al led rojo ) ARDUINO UNO 220 W GND

LED INTERMITENTE CIRCUITO ELÉCTRICO MATERIALES PROGRAMA LED DOS CONECTORES CABLE USB ROBÓTICA. Puerto 8 ( salida al led rojo ) ARDUINO UNO 220 W GND INTERMITENTE ROBÓTICA CIRCUITO ELÉCTRICO Puerto 8 ( salida al led rojo ) 8 ARDUINO UNO GND ROJO MATERIALES ARDUINO UNO PROTOBOARD ROJO DOS CONECTORES CABLE USB PROGRAMA void setup ( ) { pinmode ( 8, OUTPUT

Más detalles

Guía de Usuario Iraduino

Guía de Usuario Iraduino Guía de Usuario Iraduino Tecnología Digital del Bajío Av. Vicente Guerrero 1003 Irapuato, Gto. Mex. C.P. 36690 Teléfono: (462) 145 35 22 www.tecdigitaldelbajio.com ventas@tecdigitaldelbajio.com Contenido

Más detalles

TICA EN LA ESCUELA. El Robot (hardware) Alicia Escudero. Apellido y Nombre: Escudero Alicia. Tema: características de un robot

TICA EN LA ESCUELA. El Robot (hardware) Alicia Escudero. Apellido y Nombre: Escudero Alicia. Tema: características de un robot Alicia Escudero ROBÓTICA TICA EN LA ESCUELA El Robot (hardware) Apellido y Nombre: Escudero Alicia Tema: características de un robot E-mail: alyy_94@hotmail.com D.N.I: 36.491.199 02/05/1994 Introducción

Más detalles

Bach. Pablo Sanabria Campos. Programa de Tecnologías Educativas Avanzadas

Bach. Pablo Sanabria Campos. Programa de Tecnologías Educativas Avanzadas Bach. Pablo Sanabria Campos Programa de Tecnologías Educativas Avanzadas Agenda Arduino. Entradas y salidas. IDE Arduino (instalación y configuración). Programación. Ejemplos. Proyecto. Arduino Es una

Más detalles

2. Programación en Arduino

2. Programación en Arduino 2. Programación en Arduino Tallerine Android/LED Instituto de Ingenería Eléctrica 13 de marzo de 2017 IIE (TallerIne) Programación 13 de marzo de 2017 1 / 27 Repaso Conocimos al Arduino Vimos nociones

Más detalles

Taller Introducción a la Ingeniería Eléctrica Robot y comunicaciones basado en Microcontrolador Arduino

Taller Introducción a la Ingeniería Eléctrica Robot y comunicaciones basado en Microcontrolador Arduino Taller Introducción a la Ingeniería Eléctrica Robot y comunicaciones basado en Microcontrolador Arduino Instituto de Ingeniería Eléctrica Taller 1: Introducción a Arduino 1 de marzo de 2017 IIE (TallerIne)

Más detalles

El Microcontrolador Arduino

El Microcontrolador Arduino El Microcontrolador Arduino José Pujol IES Vicente Aleixandre Sevilla tecnopujol.wordpress.com Índice: El proyecto Arduino: Qué es y por qué usarlo Que podemos hacer con Arduino Descripción de la placa:

Más detalles

Guía del Sensor Interface de Voltaje NeuLog NUL-201

Guía del Sensor Interface de Voltaje NeuLog NUL-201 Guía del Sensor Interface de Voltaje NeuLog NUL-201 Sensor Interface de Voltaje NeuLog NUL-201 El sensor de voltaje NeuLog puede usarse para cualquier experimento científico en el cual se hagan mediciones

Más detalles

Build & Code 4in1 Primeros pasos

Build & Code 4in1 Primeros pasos Build & Code 4in1 Primeros pasos Puedes programar la placa Build&Code 4in1 utilizando los softwares Arduino IDE y Bitbloq, además de otros software de programación por bloques compatibles. Elige el software

Más detalles

Gracias a su puerto RS485, está recomendado para aplicaciones distribuidas como domótica, conexión con PLCs industriales, control, etc.

Gracias a su puerto RS485, está recomendado para aplicaciones distribuidas como domótica, conexión con PLCs industriales, control, etc. 1. Descripción general. ArduPLCm es un dispositivo microcontrolador que nos ofrece la posibilidad de conectar y controlar dispositivos eléctricos o electrónicos directamente sin necesidad de componentes

Más detalles

MANUAL DE DESCRIPCIÓN

MANUAL DE DESCRIPCIÓN MANUAL DE DESCRIPCIÓN 1 ÍNDICE DE CONTENIDO 1. Alimentación.... 3 2. Comunicaciones digitales.... 5 3. Salidas de relés.... 7 4. Salidas digitales.... 9 6. Entradas analógicas.... 12 7. Varios.... 13 8.

Más detalles

MANUAL DE USUARIO Arduino Relay Shield MCI-MA-0064 REV. 1.0

MANUAL DE USUARIO Arduino Relay Shield MCI-MA-0064 REV. 1.0 MANUAL DE USUARIO Arduino Relay Shield MCI-MA-0064 REV. 1.0 Ingeniería MCI Ltda. Luis Thayer Ojeda 0115 of. 1105, Providencia, Santiago, Chile. MANUAL DE USUARIO ARDUINO RELAY SHIELD Página 2 de 9 Ingeniería

Más detalles

CARGANDO EL PRIMER PROGRAMA EN ARDUINO OBJETIVOS MATERIAL NECESARIO

CARGANDO EL PRIMER PROGRAMA EN ARDUINO OBJETIVOS MATERIAL NECESARIO CARGANDO EL PRIMER PROGRAMA EN ARDUINO OBJETIVOS Familiarizarnos con las diferentes partes de que se compone el entorno de desarrollo de Arduino. Cargar nuestro primer programa en Arduino y ver su ejecución.

Más detalles

Anexo III. Programas

Anexo III. Programas Anexo III Programas 1 Programa de control de Disparo para el controlador de velocidad Para poder controlar el ángulo de disparo de los SCR s, es necesario que el Microcontrolador que en este caso un arduino

Más detalles

INTRODUCCIÓN A LA PROGRAMACIÓN ENGINEERING KICKSTART

INTRODUCCIÓN A LA PROGRAMACIÓN ENGINEERING KICKSTART INTRODUCCIÓN A LA PROGRAMACIÓN ENGINEERING KICKSTART 1 Introducción a la Programación Everybody in this country should learn to program a computer... because it teaches you how to think -Steve Jobs Qué

Más detalles

- Compatible con HID y USB OTG - Window XP, Vista,7/8/10, Linux, Android OS (Con interfaz USB estándar)

- Compatible con HID y USB OTG - Window XP, Vista,7/8/10, Linux, Android OS (Con interfaz USB estándar) VER: 1.3 Introducción Gracias por comprar este mini teclado. Puede usarlo para correos electrónicos, chat, control remoto, entrada de mensajes y juegos. Es compatible con Smart TV, PC, Notebook, Mac OS,

Más detalles

Sesión 12: Practica 3: Creación de prototipo básico de Arduino.

Sesión 12: Practica 3: Creación de prototipo básico de Arduino. Sesión 12: Practica 3: Creación de prototipo básico de Arduino. Introducción Arduino es una plataforma electrónica de prototipos de código abierto (open-source) basada en hardware y software flexible y

Más detalles

Introducción a Arduino

Introducción a Arduino Introducción a Arduino Lucas Martire - Santiago Rodríguez - Germán Scillone - Jorge Anderson - Sebastián Millán - Facundo Aparicio - Juan C. Scattuerchio Depto. ELECTROTECNIA - FI - UNLP Índice Mundo Arduino

Más detalles

# CÓDIGODE ACCESO. Manual para aprender a programar con hardware

# CÓDIGODE ACCESO.   Manual para aprender a programar con hardware # CÓDIGODE ACCESO Manual para aprender a programar con hardware www.yopuedoprogramar.com Descarga el IDE de Arduino (Entorno de Desarrollo Integrado, por sus siglas en inglés) Accede a internet Para poder

Más detalles

QUÉ ES EL OPEN SOURCE?

QUÉ ES EL OPEN SOURCE? TALLER ARDUINO QUÉ ES EL OPEN SOURCE? Ventajas del open source : Idea Compartir Desarrollo del proyecto - Desarrollo acelerado de proyectos. - Feedback internacional y cooperación comunitaria. - Desarrollo

Más detalles

Guía de Usuario Convertidor USB-Serial v2

Guía de Usuario Convertidor USB-Serial v2 Guía de Usuario Convertidor USB-Serial v2 0 Tecnología Digital del Bajío Av. Vicente Guerrero 1003 Irapuato, Gto. Mex. C.P. 36690 Teléfono: (462) 145 35 22 (462) 627 79 71 www.tecdigitaldelbajio.com ventas@tecdigitaldelbajio.com

Más detalles

Es el que usaremos en este tutorial, este módulo funciona como Lector y Grabador de Tags RFID.

Es el que usaremos en este tutorial, este módulo funciona como Lector y Grabador de Tags RFID. Los lectores RFID(Radio Frequency IDentification) en la actualidad están teniendo bastante acogida en los sistemas de identificación, su uso abarca desde sistemas de seguridad, acceso de personal, identificación

Más detalles

4.2 Práctica 1: encendiendo y apagando varios leds

4.2 Práctica 1: encendiendo y apagando varios leds Taller de Arduino 4.2 Práctica 1: encendiendo y apagando varios leds En esta primera práctica vamos a simular el juego de luces del famoso coche fantástico de la serie de televisión que se hizo popular

Más detalles

Características del sistema

Características del sistema BARRERA ELECTROMECÁNICA Introducción Consiste en una barrera totalmente automatizada. El programa se inicia accionando un pulsador. Posee un semáforo para permitir o no el paso y un sensor infrarrojo que

Más detalles

Shield Dynamotion V3.0

Shield Dynamotion V3.0 Shield Dynamotion V3.0 Descripción Es una shield diseñada para armar ROBOTS con arduino!, con la board Dynamotion puedes controlar dos motores DC, conectar un máximo de 6 sensores análogos, 6 sensores

Más detalles

Qué es y por qué usarlo

Qué es y por qué usarlo ARDUINO * El proyecto Arduino: Qué es y por qué usarlo Arduino es un sistema electrónico de prototipado abierto (opensource ) basada en hardware y software flexibles y fáciles de usar. Con conceptos básicos

Más detalles

Especificaciones técnicas. Power, Inputs and Outputs. Operating Voltage Input Voltage (recommended) Input Voltage (limits) Analog Input Pins

Especificaciones técnicas. Power, Inputs and Outputs. Operating Voltage Input Voltage (recommended) Input Voltage (limits) Analog Input Pins Especificaciones técnicas Microcontroller Operating Voltage Input Voltage (recommended) Input Voltage (limits) Digital I/O Pins Analog Input Pins DC Current for I/O Pin DC Current for 3.3V Pin Flash Memory

Más detalles

Aprende a construir y programar un robot interactivo utilizando los componentes del Maker Control Kit y el Maker Kit 3.

Aprende a construir y programar un robot interactivo utilizando los componentes del Maker Control Kit y el Maker Kit 3. PROYECTO Nº 1: Robot interactivo Aprende a construir y programar un robot interactivo utilizando los componentes del Maker Control Kit y el Maker Kit 3. Utiliza el servomotor, el sensor de distancia y

Más detalles

5. CONSTRUCCIÓN a) Montar la plataforma móvil según sus instrucciones. b) Soldar un trozo de 20 cm de hilo rígido a los terminales de las reductoras.

5. CONSTRUCCIÓN a) Montar la plataforma móvil según sus instrucciones. b) Soldar un trozo de 20 cm de hilo rígido a los terminales de las reductoras. 1. OBJETIVOS Construir un coche seguidor de línea negra controlado por arduino. 2. FOTOGRAFÍA Leer todas las instrucciones y comprobar el listado de materiales antes de empezar el proyecto. 3. FUNCIONAMIENTO

Más detalles

EL SENSOR DE SONIDO KY-038 (VERSION )

EL SENSOR DE SONIDO KY-038 (VERSION ) EL SENSOR DE SONIDO KY-038 (VERSION 27-8-17) OBJETIVOS Presentar el sensor de sonido KY-038. Utilizar el pin digital D0 del sensor. Mostrar las lecturas del sensor utilizando el pin analógico A0 del sensor.

Más detalles

Programación Arduino Con Visualino

Programación Arduino Con Visualino Programación Arduino Con Visualino Ponente: Ing. Patricio Tisalema ROBOTS FAMOSOS Y NO TAN FAMOSOS PERO SÍ CERCANOS QUÉ ES ROBOT? Es un sistema electro-mecánico que por su apariencia de movimientos, ofrece

Más detalles

CURSO: ROBÓTICA. CONECTANDO CON EL MUNDO FÍSICO. ÍÑIGO MARTÍN MIMBELA.

CURSO: ROBÓTICA. CONECTANDO CON EL MUNDO FÍSICO. ÍÑIGO MARTÍN MIMBELA. CURSO: ROBÓTICA. CONECTANDO CON EL MUNDO FÍSICO 1 Nombre, apellidos y correo electrónico de EducaMadrid del participante ÍÑIGO MARTÍN MIMBELA. inigo.martin@educa.madrid.org 2 Título de la Unidad Didáctica

Más detalles

CONSTRUCCION DE TIMER PARA VUELO CIRCULAR CON MOTOR ELECTRICO

CONSTRUCCION DE TIMER PARA VUELO CIRCULAR CON MOTOR ELECTRICO CONSTRUCCION DE TIMER PARA VUELO CIRCULAR CON MOTOR ELECTRICO Vamos a construir un timer para su utilización en vuelo circular sin precisar conocimientos previos de electrónica ni informática más allá

Más detalles

ARDUINO El proyecto Arduino: Recordando - Pines de entrada - Pines de salida - Microcontrolador - Conexión USB - IDE de arduino

ARDUINO El proyecto Arduino: Recordando - Pines de entrada - Pines de salida - Microcontrolador - Conexión USB - IDE de arduino ARDUINO El proyecto Arduino: Recordando - Pines de entrada - Pines de salida - Microcontrolador - Conexión USB - IDE de arduino Escuchas y respuestas con dos valores: pinmode modos del pin - (OUTPUT, INPUT);

Más detalles

UNIDAD 1 Primeros programas

UNIDAD 1 Primeros programas UNIDAD 1 Primeros programas Objetivos y Programa de la Unidad 1 Objetivo de la presentación Realizar los primeros programas que te permitan manejar periféricos de entradas y salidas (E/S) digitales de

Más detalles

INTRODUCCIÓN DESCRIPCIÓN... 4 Características Hardware... 4

INTRODUCCIÓN DESCRIPCIÓN... 4 Características Hardware... 4 TARJETA ULN2003 TABLA DE CONTENIDO INTRODUCCIÓN... 3 DESCRIPCIÓN... 4 Características Hardware... 4 ETAPAS Y CARACTERISTICAS ESPECÍFICAS... 5 1. Entrada de voltaje... 5 2. Señales de entrada... 5 3. Salida

Más detalles

GUÍA DEL CURSO DE INICIACIÓN A ARDUINO KIT DE ARDUINO DE LA XUNTA DE GALICIA

GUÍA DEL CURSO DE INICIACIÓN A ARDUINO KIT DE ARDUINO DE LA XUNTA DE GALICIA GUÍA DEL CURSO DE INICIACIÓN A ARDUINO KIT DE ARDUINO DE LA XUNTA DE GALICIA http://www.futureworkss.com 1 ÍNDICE INTRODUCCIÓN...3 EJERCICIO Nº1: LOS MATERIALES DEL KIT...3 EJERCICIO Nº2: LA PLACA ARDUINO

Más detalles

Control programado con ARDUINO TECNOLOGÍA IES BELLAVISTA

Control programado con ARDUINO TECNOLOGÍA IES BELLAVISTA Control programado con ARDUINO TECNOLOGÍA IES BELLAVISTA Control de un sistema técnico cableado El control electrónico cableado convencional de un sistema técnico consiste en un circuito que interactúa

Más detalles

1. Escribir un dato digital del WinCC al Arduino

1. Escribir un dato digital del WinCC al Arduino 1. Escribir un dato digital del WinCC al Arduino Con el siguiente ejercicio se pretende enviar un dato digital o tipo bool del WinCC al arduino y que sea visible por medio de un led y del cambio de color

Más detalles

V 1.0. Ing. Juan C. Guarnizo B.

V 1.0. Ing. Juan C. Guarnizo B. V 1.0 Ing. Juan C. Guarnizo B. INSTALACIÓN DEL MRT V1.2... 3 PROGRAMACIÓN BÁSICA... 11 Posibles errores en la programación... 16 2 INSTALACIÓN DEL MRT V1.2 En la carpeta Instaladores, ubique el icono MRTSetupV1.2.msi,

Más detalles

Robot de dibujo XY Plotter

Robot de dibujo XY Plotter Robot de dibujo XY Plotter A través de esta guía, aprenderemos a hacer la máquina de dibujo XY Plotter. Con un robot de dibujo se puede dibujar imágenes en papel, en la pared, panel o A4. Puede imprimir

Más detalles

Comunicación Serial con Arduino (Por Antony García González - Enero 27, 2013 )

Comunicación Serial con Arduino (Por Antony García González - Enero 27, 2013 ) Ejercicio Display 7 segmentos (Continuación) (versión 18-10-18) OBJETIVOS: En el ejercicio anterior aprendimos a trabajar con el display de 7 segmentos. Vamos a agregarle al circuito empleado algunos sensores,

Más detalles

INSTITUTO TECNOLÓGICO METROPOLITANO ITM GUÍA DE LABORATORIO INSTRUMENTACIÓN ELECTRÓNICA INTERFAZ ARDUINO - LABVIEW

INSTITUTO TECNOLÓGICO METROPOLITANO ITM GUÍA DE LABORATORIO INSTRUMENTACIÓN ELECTRÓNICA INTERFAZ ARDUINO - LABVIEW OBJETIVOS: Establecer la conexión entre ARDUINO y LABVIEW para realizar la lectura de un dato analógico y visualizarlo en forma de indicador. Usar una placa de ARDUINO como tarjeta de adquisición de datos

Más detalles

MANUAL DE USUARIO Como utilizar un servo motor con Arduino REV. 1.0

MANUAL DE USUARIO Como utilizar un servo motor con Arduino REV. 1.0 MANUAL DE USUARIO Como utilizar un servo motor con Arduino REV. 1.0 Ingeniería MCI Ltda. Luis Thayer Ojeda 0115 of. 1105, Providencia, Santiago, Chile. +56 2 23339579 www.olimex.cl cursos.olimex.cl info@olimex.cl

Más detalles

3 Sensores y transductores. Alfaomega. Material Web. Arduino 2. Electrónica en arquitectura abierta 7

3 Sensores y transductores. Alfaomega. Material Web. Arduino 2. Electrónica en arquitectura abierta 7 3 Sensores y transductores Capítulo Material Web Arduino 2 Electrónica en arquitectura abierta 7 2 Sensores y transductores 3.1. 3.1 Arduino Un elemento de la instrumentación actual es el microcontrolador,

Más detalles

2.- Cargar el código correspondiente a cada Arduino para su funcionamiento como Master o Esclavo.

2.- Cargar el código correspondiente a cada Arduino para su funcionamiento como Master o Esclavo. Práctica 1 - Serial Peripheral Interface Para esta práctica se la librería SPI.h. 1.- Conectar dos Arduino siguiendo el diagrama siguiente: La asignación de pines quedará de la siguiente manera: (SS) :

Más detalles

TEMA 7: ROBÓTICA -PROGRAMACIÓN

TEMA 7: ROBÓTICA -PROGRAMACIÓN 1. Control de un robot: TEMA 7: ROBÓTICA -PROGRAMACIÓN Los robots se controlan mediante circuitos electrónicos analógicos y digitales, y programación mediante ordenador. La electrónica se divide en dos

Más detalles

GUÍA RÁPIDA M2M 3G Shield MCI02870 REV. 1.0

GUÍA RÁPIDA M2M 3G Shield MCI02870 REV. 1.0 GUÍA RÁPIDA M2M 3G Shield MCI02870 REV. 1.0 Ingeniería MCI Ltda. Luis Thayer Ojeda 0115 of. 1105, Providencia, Santiago, Chile. +56 2 23339579 www.olimex.cl info@olimex.cl GUÍA RÁPIDA M2M 3G SHIELD Página

Más detalles

Entradas Analógicas.

Entradas Analógicas. CURSO PROVINCIAL: INTRODUCCIÓN A LA ROBÓTICA CON ARDUINO ROBÓTICA EDUCATIVA Entradas Analógicas. Manuel Hidalgo Díaz Enero 2011 Entradas analógicas. El controlador Atmega de Arduino lleva incluido un conversor

Más detalles

arduino Montaje de una Placa Autor: Federico Prado -

arduino Montaje de una Placa Autor: Federico Prado - Artículo de tapaapa Montaje de una Placa arduino PaRa PueRto SeRIal y usb Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles

Más detalles

CURSO: MICROCONTROLADORES UNIDAD 4: COMUNICACIÓN SERIE- ARDUINO PROFESOR: JORGE ANTONIO POLANÍA

CURSO: MICROCONTROLADORES UNIDAD 4: COMUNICACIÓN SERIE- ARDUINO PROFESOR: JORGE ANTONIO POLANÍA CURSO: MICROCONTROLADORES UNIDAD 4: COMUNICACIÓN SERIE- ARDUINO PROFESOR: JORGE ANTONIO POLANÍA Un receptor asíncrono / transmisor universal (UART) es un bloque de circuitería responsable de implementar

Más detalles

EJERCICIOS CON ARDUINO LED ENCENDIDO. Se conecta el Led al pin 52 y a alimentación. Compilar Se enciende el LED.

EJERCICIOS CON ARDUINO LED ENCENDIDO. Se conecta el Led al pin 52 y a alimentación. Compilar Se enciende el LED. EJERCICIOS CON ARDUINO LED ENCENDIDO Se conecta el Led al pin 52 y a alimentación. Compilar Se enciende el LED. MARÍA TERESA CUESTA CALVO M03-ARDUINO PROYECTOS VARIOS 1 / 23 LED BICOLOR Led bicolor. Conectado

Más detalles

Taller Introducción a la Ingeniería Eléctrica Microcontrolador Arduino y Comunicaciones

Taller Introducción a la Ingeniería Eléctrica Microcontrolador Arduino y Comunicaciones Taller Introducción a la Ingeniería Eléctrica Microcontrolador Arduino y Comunicaciones Instituto de Ingeniría Eléctrica Clase 2 12 de Marzo de 2018 IIE (TallerIne) Taller Introducción a la Ing. Eléctrica

Más detalles

Tutorial: Uso de Driver L298N para motores DC con Arduino

Tutorial: Uso de Driver L298N para motores DC con Arduino Tutorial: Uso de Driver L298N para motores DC con Arduino El siguiente tutorial esta basado en el Driver dual para motores (Full-Bridge) L298N, ofrecido por ELECTRONILAB.CO. Puedes adquirir este módulo

Más detalles

Control de LCD y sensor de temperatura

Control de LCD y sensor de temperatura Control de LCD y sensor de temperatura Componentes Protoboard Arduino UNO Sensor de temperatura LM35 Potenciómetro (resistencia variable) Resistencia de 220 Ω Pantalla LCD 16 x 2 20 cables jumpers Montaje

Más detalles

Puente H: cambio de giro y velocidad de motores DC.

Puente H: cambio de giro y velocidad de motores DC. Puente H: cambio de giro y velocidad de motores DC. Por William David Galvis 1 26 Marzo del 2014 Puente H: El puente en H lleva su nombre gracias al aspecto físico del esquema básico de los interruptores

Más detalles

4 Dispositivos de E/S

4 Dispositivos de E/S cei@upm.es 4 Dispositivos de E/S Dispositivos, puertos y registros de E/S Dispositivos de E/S paralelo Conversión A/D. Pulse Width Modulation Otros dispositivos típicos de E/S Universidad Politécnica de

Más detalles

TALLER ARDUINO BÁSICO

TALLER ARDUINO BÁSICO TALLER ARDUINO BÁSICO Versión 1.0 Autor: Ángel Sánchez García Introducción En este primer taller se explicará el funcionamiento de la plataforma Arduino y los conocimientos básicos para interactuar con

Más detalles

G O B L I N 2 / M A N U A L

G O B L I N 2 / M A N U A L GOBLIN 2 Con esta guía conocerás cada uno de los circuitos que incorpora la GOBLIN 2. Aprenderás a utilizarla, programarla de una forma sencilla y rápida para desarrollar tu proyecto IoT. 2 1.- Empieza

Más detalles