You are on page 1of 6

CONTROL DE MOVIL TREPADOR Hardware: Modulo Arduino: Arduino es una herramienta para hacer que los ordenadores puedan

sentir y controlar el mundo físico a través de tu ordenador personal. Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (programas) para la placa. Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los proyectos de Arduino pueden ser autónomos o comunicarse con un programa (software) que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP). La placa puedes montarla tú mismo o comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar gratis. El lenguaje de programación de Arduino es una implementación de Wiring, una plataforma de computación física parecida, que a su vez se basa en Processing, un entorno de programación multimedia

es decir. con lo que se hace "más sencillo" y "económico" su uso. motores de paso bipolares. ya que.Driver L293D El L293D de Texas Instruments es sin lugar a dudas un circuito integrado de un gran valor cuando necesitamos controlar motores de corriente continua o bipolar de pasos (Bipolar stepping motors) Es cierto que se trata de un puente en H (o medios puentes). Por supuesto podemos utilizarlo en otras aplicaciones o para controlar otros componentes: motores de corriente continua. desde la pata Enable 1. son varias las configuraciones que podemos manejar. además con el fin de simplificar al máximo el montaje. Las entradas son de tipo TTL y se activan por parejas. Capaz de conducir corrientes bidireccionales de hasta 1 amperio en el modelo L293 y hasta 600 mA en el modelo L293D y con tensiones que van desde los 4. el hecho de que se encuentre integrado en un único chip es de agradecer. Cada par de entradas forma un puente en H completo (Full-H bridge). También es cierto que L293 al no llevarlos integrados nos permite escoger los que mejor se adapten a nuestras cargas o necesidades. No obstante el modelo L293D no los necesita. solenoides en general y cualquier carga que requiera una alta corriente y tensión. Para entender esto mejor buscar un puente en H creado con transistores. los lleva incorporados el propio integrado. en este caso cuádruple. Es muy IMPORTANTE que al utilizar el driver L293. ya que. se utilicen diodos para evitar dañar el integrado con las corrientes parásitas generadas por los propios solenoides de las cargas. activamos las entradas 1 y 2 y desde la pata Enable 3. que sin bien podríamos crearlo con transistores. Y como no. En este ejemplo he utilizado el modelo L293D.4EN activamos la 3 y la 4. relés. un circuito a modo de ejemplo.2EN.5V hasta los 36V en ambos modelos. he optado por alimentar el motor con la misma fuente y .

5 a 36V (Patilla 8 Vcc2). si el led parpadea solo 3 veces. todo esta bien // si vuelve a parpadear. No obstante. Una es la tensión de trabajo del propio chip Vcc1 ubicada en la patilla 16 y que debe ser superior a 4. en este caso va de 4. Software: / comprobacion de reseteo.5V y no debe superar los 7V y. Por esta razón que tanto Vcc1 (patilla 16) como Vcc2 (patilla 8) están conectados a tensión de 5 voltios: Por último. significa que ha hecho un reset. lo mejor es que se revise bien la hoja de datos del chip antes de realizar el circuito. comentaros se debe tener cuidado y no confundir las dos tensiones con las que puede trabajar este integrado. otra es la tensión con la que es capaz de dirigir las cargas o motores que. . 100). 3. revisar conexiones // por si hubiera un corto blink(ledPin.tensión del propio circuito controlador de toda la lógica (microcontrolador y puertas lógicas entre otros componentes).

// Establece el sentido de giro del motor 2 // speedpin = analogRead(potPin2). speedpin). // Serial. speedpin = 800 + (speedpin/6).} void loop() { //Si el switch no esta pulsado. // Serial. speedpin = 800 + (speedpin/6). HIGH). // Lectura del valor del potenciometro // Para establecer la velocidad de giro analogWrite (speedPin1. HIGH). // Establece el sentido de giro del motor 1 // speedpin = analogRead(potPin). delay (50). digitalWrite(motor2Pin2. // // // digitalWrite(motor2Pin1. // Lectura del valor del potenciometro // Para establecer la velocidad de giro analogWrite (speedPin2.println(speedpin). Serial. speedpin). si no en la contraria if (digitalRead(switchPin) >0) { digitalWrite(motor1Pin1. digitalWrite(motor1Pin2. LOW).print("motor 2 = "). Serial. // // . LOW). gira en una direccion.print("motor 1 = ").println(speedpin).

LOW). Serial. digitalWrite(motor1Pin2. HIGH).println(speedpin). // Lectura del valor del potenciometro // Para establecer la velocidad de giro analogWrite (speedPin2. } } // // // . // Establece el sentido de giro del motor 2 // speedpin = analogRead(potPin2). delay (50). Serial. speedpin = 800 + (speedpin/6). } else { // digitalWrite(motor1Pin1.print("motor 2 = "). speedpin). delay(50). digitalWrite(motor2Pin2.delay(50). // // // digitalWrite(motor2Pin1. // Serial. // Establece el sentido de giro del motor 1 // speedpin = analogRead(potPin). LOW). // Serial.println(speedpin). // Lectura del valor del potenciometro // Para establecer la velocidad de giro analogWrite (speedPin1. speedpin). HIGH). speedpin = 800 + (speedpin/6).print("motor 1 = ").

i++) { digitalWrite(whatPin. i < howManyTimes. delay(milliSecs/2). } } . volvera a verse el parpadeo del led */ void blink(int whatPin. for ( i = 0. LOW). HIGH). int milliSecs) { int i = 0./* Parpadeo del led. digitalWrite(whatPin. int howManyTimes. solo parpadea tres veces. delay(milliSecs/2). si hay algun error que resetee el arduino. Significa que ha ejecutado la funcion setup() si todo va bien.