Robô controlado por toque capacitivo usando módulo X-Bee

Robot capacitivo controlado táctilmente utilizando el módulo X-Bee

Los coches robóticos se utilizan habitualmente para operaciones al aire libre. Están diseñados para diferentes propósitos y aplicaciones. Estos vehículos robóticos están destinados a moverse sobre una superficie y llegar a un lugar para realizar la aplicación prevista o realizar tareas específicas. Los coches robóticos se pueden controlar con un control remoto que se puede conectar al robot mediante una conexión por cable o una interfaz inalámbrica. La conectividad inalámbrica suele ser proporcionada por Wi-Fi, Bluetooth, RF o redes móviles. Una de las tecnologías de RF disponibles para proporcionar conexión inalámbrica es Zigbee.
Zig Bee es una tecnología de comunicaciones inalámbricas estándar que transfiere datos en bandas de radio ISM. Opera en 2,4 GHz en todo el mundo y en otras frecuencias ISM en países seleccionados. El protocolo de comunicaciones se utiliza comúnmente para crear redes de área personal para aplicaciones como automatización del hogar, redes de oficina inalámbricas y redes de datos basadas en sensores. Los módulos Zig-Bee se utilizan comúnmente para conectar dispositivos integrados de bajo consumo que necesitan operar en un área pequeña con bajas velocidades de datos. Un módulo Zig-Bee que opera en la banda de 2,4 GHz tiene una velocidad de datos de 250 Kbps. X-bee es un módulo Zigbee de Digi International. En este proyecto se diseña un robot inalámbrico que se conecta al control remoto mediante el módulo X-Bee.
El control remoto tiene sensores capacitivos para alimentar la entrada del usuario en lugar de los botones típicos. Los sensores capacitivos son sensores táctiles que utilizan capacitancia para detectar el tacto del usuario. Al ser sensibles al tacto, estos sensores responden rápidamente y permiten controlar el robot de forma más precisa y rápida. Debido a la sensibilidad al tacto, el tiempo de respuesta al controlar el robot por parte de un operador humano se reduce considerablemente. Los sensores capacitivos en el control remoto de este proyecto se utilizan para mover el robot hacia adelante, hacia atrás, hacia la izquierda o hacia la derecha o para detenerlo. Así, el sensor táctil capacitivo recibe información del usuario para controlar la navegación del robot.
Un sensor táctil capacitivo devuelve la entrada del usuario en forma de voltaje analógico a un pin del microcontrolador. El sensor funciona según el principio de capacitancia. Cualquier capacitor de placas paralelas tiene una capacitancia dada por las fórmulas:
C = εA/d
Dónde;
C es la capacitancia
A es el área de las placas.
d es la distancia entre las placas
ε es la permitividad del dieléctrico.
La capacitancia está relacionada con el voltaje mediante las fórmulas:
C = Q/V
o V = Q/C
Así, a medida que aumenta la distancia entre las placas, la capacitancia disminuye y el voltaje entre las placas aumenta. Se puede fabricar un sensor capacitivo mediante una sola placa metálica que conecta dos terminales. El dedo del usuario sirve como la otra placa del condensador y el aire entre el dedo y la placa de metal sirve como dieléctrico. El voltaje de entrada se suministra a un terminal y se recibe en un pin de entrada del microcontrolador del otro terminal. Cuando el dedo se acerca a la placa de metal o toca físicamente la placa de metal, la distancia entre la placa de metal y el dedo se reduce, lo que disminuye la capacitancia y aumenta el voltaje de salida en el terminal receptor.
La entrada de voltaje de la placa metálica-condensador de dedo se puede leer desde el pin del microcontrolador, digitalizarse a través del ADC y compararse con un valor de referencia para operarlo como un interruptor. Este concepto de toque capacitivo se utiliza para crear sensores táctiles o de proximidad en el proyecto que funcionan como botones de control.
En el control remoto se utilizan sensores capacitivos. El control remoto se conecta al robot mediante tecnología inalámbrica Zigbee, para lo cual se utilizan dos módulos X-bee. Por lo tanto, hay dos circuitos: uno es el circuito remoto y el otro es el circuito receptor montado en el robot. El robot está construido con dos ruedas y un cuerpo con ruedas y los motores de CC conectados a las ruedas se controlan mediante el controlador de motor IC L293D.
Protótipo de robô controlado por toque capacitivo baseado em XBee
Fig. 1: Prototipo de robot capacitivo controlado por tacto basado en XBee
Componentes necesarios –
Lista de componentes necessários para robô controlado por toque capacitivo baseado em XBee
Fig. 2: Lista de componentes necesarios para el robot capacitivo controlado por tacto basado en XBee
Diagrama de bloques -
El circuito remoto tiene el siguiente diagrama de bloques:
Diagrama de blocos do circuito remoto de toque capacitivo do robô Arduino baseado em XBee
Fig. 3: Diagrama de bloques del circuito remoto táctil capacitivo del robot Arduino basado en XBee
El circuito receptor montado en el robot tiene el siguiente diagrama de bloques:
Diagrama de blocos do robô controlado por toque capacitivo baseado em XBee
Fig. 4: Diagrama de bloques del robot capacitivo controlado por tacto basado en XBee
Conexiones de circuito –
Hay dos circuitos que componen este proyecto: uno es el circuito remoto construido con Arduino UNO, sensores capacitivos y el módulo X-Bee. El otro es un circuito receptor montado en un robot construido con Arduino UNO, módulo X-bee y controlador de motor IC L293D.
El circuito remoto se construye utilizando los siguientes componentes:
Imagem do circuito remoto de toque capacitivo para robô Arduino baseado em XBee
Fig. 5: Imagen del circuito remoto táctil capacitivo para el robot Arduino basado en XBee
Arduino UNO: Arduino UNO es una de las placas de creación de prototipos más populares. Se utiliza a menudo en aplicaciones robóticas porque es pequeño y está repleto de funciones avanzadas. La placa viene con un gestor de arranque Arduino integrado. Es una placa controladora basada en Atmega 328 que tiene 14 pines GPIO, 6 pines PWM, 6 entradas analógicas e interfaces UART, SPI y TWI integradas. En este circuito remoto se utilizan 8 pines en la placa. Hay seis pines que se utilizan para interconectar los sensores capacitivos. De estos cinco pines se utilizan como pines de entrada analógica. Los dos pines RX y TX de la placa se utilizan para interconectar el módulo X-bee y establecer comunicación en serie a través de USART. Obtenga más información sobre Arduino UNO aquí.
Módulo X-Bee: X-Bee es un módulo Zigbee de Digi International. Zigbee es un módulo de comunicación inalámbrica que utiliza el estándar IEEE 802.15.4. 802.15.4 es un estándar IEEE para aplicaciones de radiofrecuencia de baja potencia. Se utiliza en muchos productos para la funcionalidad de comunicación inalámbrica. Se puede utilizar como transmisor y receptor. Utiliza comunicación serie para enviar y recibir datos. Tiene dos series, la serie 1 y la serie 2. La serie 1 es comparativamente fácil de usar y se recomienda para principiantes. En este proyecto, se utiliza el módulo X-bee Serie 1. El módulo Zigbee Serie 1 no puede funcionar en una red de malla. Esto significa que no puede hablar con más de un Zigbee al mismo tiempo. Obtenga más información sobre la tecnología Zigbee.
X-bee serie 1 es un módulo de 20 pines con la siguiente configuración de pines:
Tabela de listagem de configuração de pinos do módulo Xbee Série-1
Fig. 6: Tabla que enumera la configuración de pines del módulo Xbee Serie-1
El módulo se puede conectar a una placa controladora mediante UART. El módulo se puede conectar a Arduino conectando su pin DOUT (UART Data Out) o TX con el pin RX de Arduino y DIN (UART Data In) o pin RX con el pin TX de Arduino. Los pines VCC y Tierra del módulo deben estar conectados a VCC y tierra comunes. El módulo X-Bee utilizado en el circuito remoto está configurado para funcionar como un transmisor de datos de RF.
Sensores capacitivos: los sensores capacitivos están construidos con cinco placas de metal. Un terminal en cada placa metálica está conectado al pin 2 de la placa Arduino. Los demás terminales de las placas capacitivas están conectados a los pines 7, 8, 9, 10 y 11 del Arduino. Estos pines se utilizan para detectar el voltaje de los sensores capacitivos. Se conecta una resistencia de sensibilidad de 1 M Ω en serie a través del terminal común de cada placa. La resistencia proporciona el voltaje en todos los ámbitos. Cuanto mayor sea el valor de esta resistencia, mayor será la sensibilidad. Durante las pruebas de los sensores, se encontró que al conectar 1M Ω de resistencia y mantener un voltaje de referencia en la mitad del ancho del canal ADC, el sensor respondía al toque del dedo. Al conectar una resistencia de 10 M Ω y mantener un voltaje de referencia en la mitad del ancho del canal ADC, el sensor respondía de 4 a 6 pulgadas de distancia y al conectar una resistencia de 40 M Ω y mantener un voltaje de referencia en la mitad del ancho del canal ADC , el sensor respondía de 12 a 24 pulgadas de distancia.
Diagrama de circuito do sensor de toque capacitivo
Fig. 7: Diagrama del circuito del sensor táctil capacitivo
Los sensores conectados a los pines 7, 8, 9, 10 y 11 del Arduino controlan el movimiento del robot hacia adelante, hacia atrás, izquierda y derecha y detienen el robot respectivamente.
Fuente de alimentación: todos los componentes del circuito remoto requieren una fuente de alimentación de 5 V CC. La placa Arduino se alimenta con 5V mediante un cable USB. La entrada de voltaje para el módulo X-bee se toma del pin Vout de 5V del Arduino. El voltaje para el funcionamiento de los sensores capacitivos es suministrado por el pin 2 (pin común conectado a los sensores) del Arduino.
El circuito receptor montado en el robot consta de los siguientes componentes:
Imagem do robô controlado por toque capacitivo baseado em XBee
Fig. 8: Imagen del robot capacitivo controlado por tacto basado en XBee
Arduino UNO: el circuito receptor también utiliza Arduino UNO como placa controladora. El Arduino utilizado en el circuito receptor tiene 6 pines utilizados. Los pines GPIO de este Arduino se utilizan para interactuar con el IC del controlador del motor L293D. Estos pines están conectados a los pines de entrada del IC del controlador del motor. Los dos pines Arduino se utilizan para interconectar el módulo X-Bee Serie 1.
Módulo X-Bee: el módulo X-Bee utilizado en el circuito receptor está configurado para funcionar como un receptor de datos de RF. El módulo interactúa con Arduino conectando su pin DOUT (UART Data Out) o TX con el pin RX de Arduino y DIN (UART Data In) o pin RX con el pin TX de Arduino. Los pines VCC y Tierra del módulo deben estar conectados a VCC y tierra comunes.
IC de controlador de motor L293D: el L293D es un circuito integrado (IC) de controlador de motor de puente H dual. Los controladores de motor actúan como amplificadores de corriente en el sentido de que reciben una señal de control de corriente baja y suministran una señal de corriente más alta. Esta señal de corriente más alta se utiliza para accionar los motores. Tiene 16 pines con la siguiente configuración de pines:
Tabela de listagem de configuração de pinos do IC do driver do motor L293D
Fig. 9: Tabla que enumera la configuración de pines del CI del controlador del motor L293D
Se utilizan dos motores de CC para fabricar el automóvil robótico. Los motores de CC interactúan entre los pines 3 y 6 y los pines 14 y 11 del IC del controlador del motor.
IC L293D controla motores de CC según las siguientes tablas de verdad:
Tabela verdade do IC do driver do motor L293D
Fig. 10: Tabla de verdad del CI del controlador del motor L293D
Los pines 4, 5, 13 y 12 del L293D están conectados a tierra mientras que los pines 1, 16 y 9 están conectados a 5 VCC y el pin 8 está conectado a 12 VCC. Los pines 15, 2, 7 y 10 del IC del controlador del motor están conectados a los pines 5, 2, 3 y 4 de la placa Arduino. El motor de CC conectado a la rueda derecha está conectado a los pines 11 y 14, mientras que el motor conectado a la rueda izquierda está conectado a los pines 3 y 6 del IC del controlador del motor. Los pines de habilitación del IC (pines 1 y 9) están conectados físicamente a la fuente de 5 VCC.
Motores de CC con engranajes: en este robot, los motores de CC con engranajes de 12 V están conectados a las ruedas. Los motores de CC con engranajes están disponibles con una amplia gama de RPM y par, lo que permite que un robot se mueva según la señal de control que recibe del controlador IC del motor.
Fuente de alimentación: los pines de alimentación lógica del IC del controlador Arduino UNO, el módulo X-Bee y el motor requieren 5 V CC, mientras que el pin de alimentación del IC del controlador requiere 12 V CC. Se utiliza una batería NIMH de 12 V como fuente de alimentación principal. La energía de la batería se regula a 5 V y 12 V mediante circuitos integrados 7805 y 7812. El pin 1 de ambos circuitos integrados reguladores de voltaje está conectado al ánodo de la batería y el pin 2 de ambos circuitos integrados está conectado a tierra. Las respectivas salidas de voltaje se toman del pin 3 de los respectivos circuitos integrados reguladores de voltaje. También se conecta un LED junto con una resistencia pull-up de 10 K Ω entre la tierra común y el pin de salida para obtener una señal visual de la continuidad de la energía. A pesar de utilizar una batería de 12 V, el 7812 se utiliza para proporcionar una fuente de alimentación regulada y estable al circuito integrado del controlador del motor.
Cómo funciona el circuito –
El robot inalámbrico funciona con una batería y, tan pronto como la batería se conecta al circuito de control del robot, comienza a funcionar. Cuando se energiza, el módulo X-Bee interconectado en el circuito receptor se configura como un receptor de datos de RF y comienza a esperar comandos del control remoto. Los comandos se transmiten a través del mando a distancia en forma de secuencias de caracteres individuales. Las siguientes secuencias pasan a través del circuito remoto hasta el circuito receptor para mover el robot hacia adelante, hacia atrás, hacia la izquierda y hacia la derecha y detenerlo:
Tabela listando strings de comando para controlar o robô Arduino sem fio
Fig. 11: Tabla que enumera las cadenas de comandos para controlar el robot Arduino de forma inalámbrica
La placa Arduino lee las cadenas de comandos mediante el puerto UART. Al recibir un comando, la placa Arduino lo compara con las cadenas de comando mencionadas anteriormente y cambia la lógica digital en los pines conectados a los pines de entrada del IC del controlador del motor para realizar la operación deseada. El robot se mueve hacia adelante, hacia atrás, hacia la izquierda o hacia la derecha implementando la siguiente lógica de entrada en los pines del controlador del motor:
Tabela lógica do driver de motor L293D IC para robô Arduino sem fio
Fig. 12: Tabla lógica del IC del controlador del motor L293D para el robot Arduino inalámbrico
Los pines de entrada del IC del controlador del motor están conectados a los pines de Arduino y al cambiar la lógica digital en los pines de Arduino, la lógica respectiva se implementa en los pines de entrada del IC del controlador del motor.
El circuito remoto dispone de sensores capacitivos para obtener información del usuario mediante el tacto. Cuando no se toca un sensor capacitivo, el sensor no tiene capacitancia efectiva y la caída de voltaje a través de la resistencia de sensibilidad no tiene efecto en el otro terminal del sensor. Cuando se toca el sensor con un dedo, hay una capacitancia efectiva a través del sensor y se induce un voltaje en el terminal de salida del sensor debido a esta capacitancia. El voltaje es leído por el pin del microcontrolador y convertido en una lectura digitalizada. El Arduino UNO tiene un canal ADC de 10 bits, por lo tanto, la lectura digitalizada tiene un valor máximo de 1023. El valor de referencia para la comparación de voltajes se toma como 900.
Al detectar un toque en un sensor capacitivo, el Arduino pasa en serie secuencias de comandos al módulo X-Bee. Los sensores capacitivos están conectados a los siguientes pines Arduino y tienen las siguientes secuencias de comandos y operaciones previstas asociadas con ellos:
Tabela de listagem de conexões de circuito entre Arduino e teclado com sensor de toque capacitivo
Fig. 13: Tabla que enumera las conexiones del circuito entre Arduino y el teclado con sensor táctil capacitivo
Para activar la conexión inalámbrica entre el robot y el circuito remoto, es importante configurar los módulos X-Bee en ambos lados. La aplicación de terminal CoolTerm se utiliza para configurar los módulos X-Bee. Para hacer que la PC se comunique directamente con Xbee, incluso se puede usar la placa Arduino quitando el controlador IC o se puede cargar un boceto simple en las placas Arduino, lo que permite que Xbee se comunique directamente con la computadora y no con la placa Arduino. La primera de las conexiones del circuito entre el módulo X-Bee y el Arduino se debe realizar como se mencionó anteriormente.
Ahora sigue los siguientes pasos –
Abra la aplicación CoolTerm y navegue hasta conexión -> opciones -> puerto serie y seleccione el puerto COM. Configure la velocidad en baudios y vaya a la opción Terminal y seleccione la casilla Eco local para mostrar los comandos ingresados ​​y haga clic en Aceptar para guardar los cambios.
Captura de tela do aplicativo CoolTerm
Fig. 14: Captura de pantalla de la aplicación CoolTerm
Para configurar X-Bee, se deben utilizar los siguientes comandos AT.
Primero haga que X-Bee ingrese al modo de comando escribiendo +++ en la terminal, cuando esté bien, siga con los otros comandos AT
En primer lugar, las radios XBEE sólo funcionan a una determinada velocidad en baudios, que es el número de bits por segundo que el X-Bee puede enviar. Un X-Bee nuevo tiene una velocidad de transmisión predeterminada de 9600 bps, lo cual es bastante lento. La velocidad en baudios se puede cambiar cambiando el registro ATBD. Ambos módulos X-Bee deben tener la misma velocidad en baudios para comunicarse entre sí. Las velocidades en baudios disponibles (y el valor ATBD correspondiente) son los siguientes:
Tabela listando valores ATBD para diferentes taxas de transmissão do módulo Xbee
Fig. 15: Tabla que enumera los valores ATBD para diferentes velocidades en baudios del módulo Xbee
Por lo tanto, para establecer la velocidad en baudios a 9600, se debe pasar el siguiente comando:
ATBD3
El siguiente parámetro importante es el ID de la red de área personal. Este es un número compartido entre cada XBEE en una red. Aquí, solo hay 2 módulos X-Bee, pero puede haber muchos módulos X-Bee en una red (para lo cual se deben usar módulos X-Bee Serie 2). Los módulos X-Bee en diferentes redes no se "ven" entre sí. El PAN predeterminado es 3332, así que evite utilizar este número. El ID PAN se almacena en el registro ATID. El registro se puede cambiar pasando el siguiente comando:
ATID1001
Una vez que ambos módulos X-Bee estén en la misma red, a cada uno se le debe asignar un número de dirección indicado en el registro ATMY. O endereço de destino também pode ser definido, que é o número de endereço com o qual se deve comunicar e é indicado pelo registro ATDL (para destino baixo, não há necessidade de usar os bytes altos se os números de endereço tiverem menos de 16 bits largo). Se puede realizar una configuración de ejemplo de dos módulos X-Bee que se comunicarán directamente entre sí a 38,4 kbps pasando los siguientes comandos:
Cajero automático10
ATDL11
Por lo tanto, ambos módulos X-Bee se configuran pasando los siguientes comandos AT:
X-BEE Módulo 1:
ATID1001
Cajero automático10
ATDL11
ATBD3
Módulo X-BEE 2:
ATID1001
Cajero automático11
ATDL10
ATBD3
Una cosa importante a tener en cuenta es que los cambios que realiza se almacenan en la memoria temporal. Si los módulos X-Bee se apagan, la configuración se perderá. Envíe ATWR para escribir cambios en la memoria no volátil para que no se pierdan durante el apagado.
Captura de tela dos comandos AT para o módulo Xbee do aplicativo CoolTerm
Fig. 16: Captura de pantalla de los comandos AT para la aplicación CoolTerm Módulo Xbee
Una vez configurados los módulos X-Bee, el boceto de Arduino para el circuito remoto y el circuito receptor se puede cargar en la placa controladora respectiva.
Imagem do robô Arduino sem fio controlado por toque capacitivo baseado em XBee
Fig. 17: Imagen del robot Arduino inalámbrico capacitivo controlado por tacto basado en XBee
Verifique el Arduino Sketch cargado en el Arduino conectado al circuito remoto para ver cómo el Arduino detecta el contacto del sensor usando la biblioteca de sensores capacitivos y usa la lectura del sensor para enviar cadenas de comandos en serie al módulo X-bee. Verifique el Arduino Sketch cargado en el Arduino conectado en el circuito receptor para ver cómo se leen las cadenas de comando a través del módulo X-Bee y cómo se controla el IC del controlador del motor de acuerdo con los comandos recibidos.
Guía de programación –
Programa de circuito remoto: el código Arduino carga CapacitiveSensor.h para manejar sensores capacitivos. Se crean instancias de cinco objetos de tipo sensor capacitivo con mapeo a los pines conectados utilizando el método CapacitiveSensor en el que el primer parámetro determina la resistencia de sensibilidad y el segundo parámetro determina el pin que conecta el sensor. Se declara un conjunto de variables para mantener los niveles de voltaje en los sensores capacitivos, seguido de un conjunto de variables que mantienen el estado de los dispositivos. Se declara una variable para mantener el nivel de tensión de referencia. La velocidad en baudios para la comunicación en serie con el módulo X-bee se establece en 9600 bits por segundo utilizando el método Begin en la clase Serial.
Captura de tela da inicialização no código Arduino no lado do transmissor do robô sem fio
Fig. 18: Captura de pantalla de la inicialización en código Arduino en el lado del transmisor del robot inalámbrico
Se llama a la función de bucle en la que se lee el nivel de voltaje de los sensores capacitivos y se almacena en variables declaradas para ello mediante el método capacitiveSensor con una cantidad de muestras pasadas como parámetro. Con el valor de voltaje comparado con el valor de referencia siguiendo la condición y los datos respectivos se envían al X-bee usando la función pritln.
Captura de tela da função Loop no código Arduino no lado do transmissor do robô sem fio
Fig. 19: Captura de pantalla de la función de bucle en el código Arduino en el lado del transmisor del robot inalámbrico
Programa de circuito del receptor: – En la codificación del lado del receptor, la variable de carácter se inicializa para almacenar los datos recibidos. Los pines del motor están definidos y conectados entre Arduino y el IC del controlador del motor. En la función de configuración, la función Comenzar se utiliza para establecer la velocidad en baudios en 9600 para recibir los datos en serie del X-bee. Los pines Arduino conectados a los pines de entrada del IC del controlador del motor están configurados para salida digital utilizando la función pinMode.
Captura de tela da inicialização no código Arduino no lado do receptor do robô sem fio
Fig. 20: Captura de pantalla de la inicialización en código Arduino en el lado del receptor del robot inalámbrico
Se llama a la función de bucle y verifica continuamente los datos en serie recibidos. Si hay datos en serie disponibles, los datos se leen usando la función serial.read y se almacenan en la variable. Luego los datos almacenados se verifican con la condición mencionada. Luego, con respecto a las condiciones, se realiza la llamada a la función para el movimiento del robot.
Captura de tela da função Loop no código Arduino no lado do receptor do robô sem fio
Fig. 21: Captura de pantalla de la función de bucle en el código Arduino en el lado del receptor del robot inalámbrico
Se llama a la función move_forward para mover el robot hacia adelante. Se llama a la función move_backward para mover el robot hacia atrás. La función turn_left se usa para girar el robot en la dirección izquierda y la función turn_right se usa para girar el robot en la dirección correcta. La función robo_stop se utiliza para detener el robot.
Consulte los códigos completos de Arduino y ensúciese las manos rápidamente con un IDE de Arduino. Será divertido hacer este robot.

Código fuente del proyecto

###

 //Programa para
 mensaje char = ' ';

 //definiendo el número de pin de arduino para arduino
 #definir L_motor1 2
 #definir L_motor2 3
 #definir R_motor1 4
 #definir R_motor2 5

 // prototipo de función
 vacío mover_adelante;
 vacío move_backward;
 nulo giro_derecha;
 vacío giro_izquierda;

 configuración vacía
 {
 //Para habilitar la transferencia de datos en serie a una velocidad de 9600
  Serie.begin(9600);

  //modos de pin del motor conectado con arduino 
pinMode(L_motor1, SALIDA);
 pinMode(L_motor2, SALIDA);
 pinMode(R_motor1, SALIDA);
 pinMode(R_motor2, SALIDA);

 escritura digital (L_motor1, BAJO);
 escritura digital (L_motor2, BAJO);
 escritura digital (R_motor1, BAJO);
 escritura digital (R_motor2, BAJO);
 }

 bucle vacío
 {
 //comprobando la recepción de datos en serie
 si(Serie.disponible > 0)
 {
 //si lees los datos seriales
 mensaje = Serie.leer;

 //con respecto a los datos recibidos controlando la dirección del motor
 si(mensaje == 'R')
 {
 Gire a la derecha;
 }
 si(mensaje == 'L')
 {
 Gire a la izquierda ;
 }
 si(mensaje == 'F')
 {
 mover_adelante;
 }
 si(mensaje == 'B')
 {
 mover hacia atrás ;
 }
 si(mensaje == 'S')
 {
 robo_stop;
 }
 }
 retraso(80);
 }

 vacío move_forward
 {
 escritura digital (L_motor1, ALTA);
 escritura digital (L_motor2, BAJO);
 escritura digital (R_motor1, ALTA);
 escritura digital (R_motor2, BAJO);
 }

 vacío move_backward
 {
 escritura digital (L_motor1, BAJO);
 escritura digital (L_motor2, ALTA); 
escritura digital (R_motor1, BAJO);
 escritura digital (R_motor2, ALTA);
 }

 vacío turn_left
 {
 escritura digital (L_motor1, BAJO);
 escritura digital (L_motor2, BAJO);
 escritura digital (R_motor1, ALTA);
 escritura digital (R_motor2, BAJO);
 }

 vacío turn_right
 {
 escritura digital (L_motor1, ALTA);
 escritura digital (L_motor2, BAJO);
 escritura digital (R_motor1, BAJO);
 escritura digital (R_motor2, BAJO);
 }

 vacío robo_stop
 {
 escritura digital (L_motor1, BAJO);
 escritura digital (L_motor2, BAJO);
 escritura digital (R_motor1, BAJO);
 escritura digital (R_motor2, BAJO);
 }

###

Diagramas de circuito

Diagrama de circuito-Sensor táctil capacitivo-Teclado-Robot inalámbrico
Diagrama de circuito: robot controlado por tacto capacitivo XBee

Vídeo del proyecto

Volver al blog

Deja un comentario

Los comentarios deben ser aprobados antes de su publicación.