Jansen acoplamiento Robot (4 / 9 paso)

Paso 4: Subir el sketch de arduino

Cargar el bosquejo provisto en el arduino.

Este bosquejo es set up para poner el arduino a dormir si no se ha presionado el botón, y reasignar el eje y de cada uno de los joysticks para controlar los servos de rotación de operar en consecuencia.

Propósito: Operar dos servos utilizando dos joysticks, que se utilizará para operar las dos piernas de un robot. En asociación hacer curso, ofrecido por la Universidad de Florida del sur.
Creado por: Brian Cantler / / fecha: 01/12/2014

#include #include //this AVR biblioteca contiene los métodos que el pasador de //since sueño modos #define interruptNumber 0 2 se utiliza para la interrupción externa, en los controles se une para interrumpir número 0 #define TouchPadPin //connect touch sensor salida 2 (pin "S") a D2 (pines "G" a la tierra y pin "V" a 5V)

volátil bytes TouchPadEventFlag; //all variables que cambian en un ISR que deba ser dimensionado como //this 'volátiles' variable se utiliza para contar el lazo principal que ocurrió un evento de interrupción.

const int servo1 = 3; identifica el primer servo como siendo conectado al pin digital 3 const int servo2 = 10; identifica el segundo servo como siendo conectado al pin digital 10 const int joy1 = 3; identifica el primer joystick como siendo conectado al pin analógico 3 const int joy2 = 4; identifica el segundo joystick como siendo conectado al pin analógico 4

int servoVal; variable para leer los valores del pin analógico

Servo myservo1; crea objeto servo para controlar el primer servo Servo myservo2; crea objeto servo para controlar el segundo servo

void setup() {}

Servos myservo1.attach(servo1); se fija el primer servo myservo2.attach(servo2); se fija el servo de segunda

Inicializar Serial.begin(9600) Serial; pinMode(13,OUTPUT); Juegos pin 13 como salida para que podamos utilizar el construido en LED en el arduino para controlar cuando el arduino está encendido digitalWrite(13,LOW); pin de vueltas 13, uno de los construidos en el LED en el arduino, off pinMode (TouchPadPin, entrada); el pin de interrupción se define como una entrada digitalWrite(2,HIGH); activa la resistencia de pull-up interna para tirar a alta cuando no se ha presionado el botón

}

void loop() {}

Muestra los valores de joystick con el monitor serial outputJoystick();

Leer el joystick de un valor (valor entre 0 y 1023) servoVal = analogRead(joy1); servoVal = mapa (servoVal, 0, 2500, 70, 180); escalas de los valores de la palanca de mando para poder usarlo con el servo (resultado entre 90 y 180)

myservo2.Write(servoVal); ajusta la velocidad de los 360 servos según el valor de escalado

Leer el joystick de dos valor (valor entre 0 y 1023) servoVal = analogRead(joy2); servoVal = mapa (servoVal, 0, 2500, 70, 180); escalas de los valores de la palanca de mando para poder usarlo con el servo (resultado entre 90 y 180)

myservo1.Write(servoVal); ajusta la velocidad de los 360 servos según el valor de escalado

Delay(15); espera a que el servo acelerar a la escala de valor sleepSetup(); se mantiene en ~ 27 mA hasta que se presione el botón táctil en pin 2

}

/ ** * Muestra los valores de joystick en el monitor serial * / void outputJoystick() {}

Serial.Print(analogRead(joy1)); muestra los valores de joystick para el primer joystick en el monitor serial Serial.print ("- joystick_one---"); identifica los valores que se muestran son para el primer joystick Serial.print(analogRead(joy2)); muestra los valores de joystick para el segundo joystick en el serial monitor Serial.println ("- joystick_two---"); identifica los valores que se muestran son para el segundo joystick}

void sleepSetup() {sleep_enable(); attachInterrupt (0, pinInterrupt, LOW); //Sets pin 2 como una interrupción y une rutina interrupción de servicio (ISR) set_sleep_mode(SLEEP_MODE_PWR_DOWN); //define la alimentación sueño modo digitalWrite(13,LOW); //turns el LED apagado para indicar sueño modo sleep_cpu(); //Set bit de habilitación (SE) sueño, esto pone el ATmega para dormir Serial.println ("strandbot está encendido"); //When despierta debido a la interrupción el programa continúa con la instrucción siguiente sleep_cpu() digitalWrite (13 ALTO); vuelve el construido en LED para indicar que ha despertado el arduino arduino}

void pinInterrupt() //ISR {sleep_disable(); //this es importante. Es posible que la interrupción se llama entre la ejecución de "attachInterrupt(...)" y sleep_CPU() en el bucle principal //if que ocurre sin la sleep_disable() en el ISR, el ISR sería llamado la interrupción separado y el dispositivo para dormir. ya que en ese momento quedaría deshabilitada la interrupción, no habría ninguna manera para despertar el dispositivo ya. poniendo sleep_disable() en el ISR, sleep_cpu() no sería efectiva durante ese lazo, es decir, el bucle principal se ejecute uno más tiempo //and entonces Fije correctamente la interrupción antes de llegar a la sleep_cpu() una segunda vez. En ese momento el dispositivo se vaya a dormir, pero //the interrupción ahora activarse, es decir, para despertar puede ser inducido. detachInterrupt (0); //disable la interrupción. Esto efectivamente debounces el mecanismo de interrupción para evitar que varias llamadas de la interrupción.

}

Artículos Relacionados

Impreso de 3D Robot caminando (acoplamiento de Klann)

Impreso de 3D Robot caminando (acoplamiento de Klann)

Este robot camina ha sido un proyecto que he estado queriendo tener un ir en un rato ahora y finalmente conseguí a acabado, así que ahora estoy compartiendo con el mundo!Este proyecto es bastante simple de construir y no requiere habilidades difícile
Theo Jansen inspirado poca robot insecto

Theo Jansen inspirado poca robot insecto

Construí este insecto caminando, inspirado en las creaciones de Theo Jansen , que utiliza un algoritmo genético para encontrar un conjunto de vínculos para formar una pierna donde el pie se mueve en un lugar conveniente para caminar. Lo que él vino p
Mejorado el Robot araña

Mejorado el Robot araña

Siempre estoy buscando un nuevo proyecto para hacer en mi taller de robótica para niños. Mientras que robots araña son intrigantes, casi todos ellos son o demasiado complejas que implican 10 + servos o manera demasiado presupuesten para mi taller. En
Robot que se separa de la semilla

Robot que se separa de la semilla

el verano pasado fue traído a mi atención que se podía comprar casi todo lo necesario para automatizar cuidado césped pero una semilla propagación robot. Esto me intrigó. Para empezar, ¿por qué en la tierra nadie haría robots de cuidado de césped en
Las piernas de Robot de diseño

Las piernas de Robot de diseño

Si tu robot ha aburrido de movimiento de la rueda, este instructables muestra cómo diseñar y hacer las piernas de Strandbeest de Theo Jansen (sin impresora 3D) para robot.Ref.:https://www.Google.com/search?q=Strandbeest&TBM=is...Paso 1: Diseño de geo
Bot - un inteligente arduino bluetooth robot la pipa

Bot - un inteligente arduino bluetooth robot la pipa

Este es mi primer instructables. Aquí estoy mostrando cómo hacer un dos ruedas arduino bluetooth robot barato, utilizando tubos de PVC y sus articulaciones (para hacer el cuerpo). Es sencillo de hacer y fácil de programar. Tienen un montón de diversi
Brazo Robot MeArm - tu Robot - V1.0

Brazo Robot MeArm - tu Robot - V1.0

Esta es la versión más reciente de las instrucciones de compilación para el brazo del Robot MeArm. El MeArm llegó a instructables en abril del de 2014 cuando afirma un segundo premio en el concurso de Robots. Desde entonces hemos visto alrededor de 1
Brazo de Robot de cartón para Robots baratos

Brazo de Robot de cartón para Robots baratos

Este es probablemente el Instructable he estado esperando más de mi serie "Para Robots baratos". Es el mejor que he hecho hasta ahora y por la misma razón la más difícil.Robótica no realmente empezar a enfriar hasta el robot puede hacer más que
Control de robot tanque-unidad básica sobre Bluetooth con mbed para el Freescale K64F

Control de robot tanque-unidad básica sobre Bluetooth con mbed para el Freescale K64F

Este Instructable es basada en esta obra anterior que muestra cómo controlar un robot de estilo típico de impulsión de tanque utilizando Arduino y una aplicación para Android, como se muestra en este coche RC para Android Instructable.He utilizado es
Mano Robot de mímica

Mano Robot de mímica

Hola gente, este es el profundo Informe sobre un robot mímico mano hice. La idea vino a mí cuando yo quería un robot que podría literalmente hacer algunas tareas por mí y por lo que utiliza la mano como referencia para mi diseño y hecho un prototipo
Elementos para escalar escaleras robot

Elementos para escalar escaleras robot

Este proyecto utiliza las partes de la Actobotics sistema de construcción para hacer un robot que sube escaleras. Los componentes principales del robot son el montaje de la pata delantera, pata trasera y los medios para que el cambio de peso entre la
Robo-móvil - un Robot Bluetooth casero

Robo-móvil - un Robot Bluetooth casero

FondoEste robot es uno que construyó para aprender. Antes de este proyecto me mis pies con unos proyectos de Arduino de pequeña escala como un robot de ultrasonidos (que se movería hacia atrás hasta que estaba a cierta distancia de la pared,) y llegó
Nyx, 30 libras lucha contra Robot re-hecho

Nyx, 30 libras lucha contra Robot re-hecho

A principios de 2012 construí la primera versión de Nyx. Después de 2,5 años y más de 30 peleas a través de 6 eventos era debido a una actualización importante. El Instructable para el original se puede encontrar Nyx enCon un porcentaje de ganar más
K-9 2.0. Perro Robot controlada y Autónoma de WiFi.

K-9 2.0. Perro Robot controlada y Autónoma de WiFi.

NOTA:En el paso 22, he publicado una actualización, explicando algunos recientes cambios y mejoras que he hecho, principalmente al sistema eléctrico de K-9 y sensor de matriz que puede encontrar útiles.CaracterísticasAcrílico diseño y resistente made