Juego de arcade de brazo Robot ITTT (11 / 11 paso)

Paso 11: Código de Arduino

#include

Servo armServo; Servo baseServo;

declarar variables para los pins motor int motorPin1 = 8; EN 1 int motorPin2 = 9; EN 2 int motorPin3 = 10; En motorPin4 int 3 = 11; EN EL 4

motorSpeed int = 6000; variable para ajustar la velocidad del paso a paso / / experimentar con esto; demasiado pequeño no va a funcionar. int cuenta = 0; conteo de pasos hecha int countsperrev = 68; número de pasos por revolución para este motor

búsqueda de int [8] = {B01000, B01100, B00100, B00110, B00010, B00011, B00001, B01001};

int motorPos = 0; Utilizado para mantener el motor

declarar variables para los codificadores rotatorios int encPins [] = {2, 3, 7, 4, 12, 13};

volátiles int lastEncoded [] = {0, 0, 0}; encoderValue largo volátiles [] = {90, 180, 0};

void setup() {baseServo.attach(6); armServo.attach(5); //declare el motor pines como salida pinMode (motorPin1, salida); pinMode (motorPin2, salida); pinMode (motorPin3, salida); pinMode (motorPin4, salida); Serial.Begin(9600);

declarar pines de codificador rotatorio para (int i = 0; i < 6; i ++) {pinMode (encPins [i], entrada); digitalWrite (encPins [i], HIGH); //turn resistencia de pullup en};

llamada updateEncoder() cuando cualquier alto-bajo cambia visto //on interrupción 0 (pin 3), interrumpir 1 (pin 2) o interrumpa 4 (pin 7) attachInterrupt (1, update1, cambio); attachInterrupt (0, update2, cambio); attachInterrupt (4, update3, cambio);

}

void loop() {primer codificador rotatorio //check y actualización base servo. Si encoderValue (encoderValue [0] < 0) [0] = 0; si (encoderValue [0] > 180) encoderValue [0] = 180; baseServo.write(encoderValue[0]);

codificador rotatorio segunda comprobación y actualización brazo servo. Si encoderValue (encoderValue [1] < 90) [1] = 90; Si encoderValue (encoderValue [1] > 270) [1] = 270; armServo.write(int(encoderValue[1]/2));

comprobar último codificador rotatorio y ajuste la posición del motor si su más baja que la posición de codificador rotatorio. Así que sólo moverá uno paso cada lazo. Si (motorPos < int(encoderValue[2]/4)) {motorPos ++; clockwise();} else if (motorPos > int(encoderValue[2]/4)) {motorPos-; anticlockwise();} //Delay si no se utiliza el retardo de la steppermotor. Else {delay(15);}

}

//Set clavijas ULN2003 alta en secuencia de 1 a 4 //delay "motorSpeed" entre cada pin configuración (para determinar la velocidad) / / void anticlockwise() {para (int i = 0; i < 8; i ++) {setOutput(i); delayMicroseconds(motorSpeed);}}

void clockwise() {para (int i = 7; i > = 0; i--) {setOutput(i); delayMicroseconds(motorSpeed);}}

void setOutput(int out) {digitalWrite (motorPin1, bitRead (búsqueda [out], 0)); digitalWrite (motorPin2, bitRead (búsqueda de [salida], 1)); digitalWrite (motorPin3, bitRead (búsqueda [out], 2)); digitalWrite (motorPin4, bitRead (búsqueda [out], 3));}

//Rotary encoder interrumpir funciones / / /

void update1() {updateEncoder(0);}

void update2() {updateEncoder(1);}

void update3() {updateEncoder(2);}

void updateEncoder (int p) {int MSB = digitalRead(encPins[p]); //MSB = int bit más significativo LSB = digitalRead(encPins[p+3]); //LSB = bit menos significativo

if(MSB == LSB) {encoderValue [p] ++;} else {encoderValue [p]--;}

}

Artículos Relacionados

Programar el brazo Robot

Programar el brazo Robot

El propósito de este instructivo es desarrollar paso a paso un proyecto para el control y programación de un brazo robot, simulando las funciones básicas de un robot industrial.Paso 1: EspecificacionesEl robot debe tener dos funciones básicas:Program
Brazo robot

Brazo robot

Diseño y tecnologíaNivel 2Andrew MurtonPaso 1: El briefDeclaración conceptualMáquinas se necesitan para mover las cosas bajo control humano o computadora. Generalmente son necesarios para permitir que los seres humanos para mover objetos pesados/difí
Brazo Robot controlan por frambuesa Pi y Wiimote

Brazo Robot controlan por frambuesa Pi y Wiimote

recibí un brazo de robot como un regalo de cumpleaños, pero después sobre el primer día el controlador que vino con él se convirtió en algo soso a utilizar. Más tarde compré el controlador usb que se hizo para el robot, pero una vez más el software e
3D impreso brazo Robot

3D impreso brazo Robot

Este brazo robot está conformada casi en su totalidad a 3D piezas impresas que juntos. Tiene tres articulaciones servo-controlado, además de una base giratoria y pinza. El brazo es controlado por una serie de botones que se conectan a un Arduino Uno
Construir los niños - mi primer brazo Robot

Construir los niños - mi primer brazo Robot

Mi papá me sigue diciendo que soy ingeniero pero no lo creo y eso me hace tímidos y blush. Me gustan los robots para que él me compró un kit de brazo robot de internet llamado el MeArm. Es un gran juego y se puede comprar uno de http://www.phenoptix.
Control de ArmLinkLibrary-master brazo Robot con brazo Link Software

Control de ArmLinkLibrary-master brazo Robot con brazo Link Software

¿Quieres ser cool como Simone Giertz pero ArmLinkSerial n ' t sabe dónde empezar?El brazo InterbotiX enlace de Software proporciona una interfaz simple para GlobalArm.h -compatible con brazos de Robot. Con este software se puede controlar el brazo de
Joystick control brazo Robot utilizando un Arduino

Joystick control brazo Robot utilizando un Arduino

Propósito y descripción de esta guíaEste instructable es una mano para un proyecto escolar que hemos hecho. El propósito de este proyecto era crear un control de brazo robot utilizando thumbsticks. Tuvimos que utilizar un Arduino Uno para el control
Brazo Robot de 4 ejes DIY

Brazo Robot de 4 ejes DIY

Hice este proyecto principalmente a aprender utilizar servos con arduino. Por supuesto puedo comprar kit de brazo robot como el MeArm y empezar a programar, pero lo que desde el principio te enseñan más. Quería diseñar el brazo simple como sea posibl
Cómo hacer brazo robot basado en Adunio de una impresora 3D y iphone 6s en una camara PTZ

Cómo hacer brazo robot basado en Adunio de una impresora 3D y iphone 6s en una camara PTZ

Después de día y trabajo de noche, finalmente hicimos Dobot una impresora 3D de alta precisión del brazo! Es diferente de la tradicional impresora 3D Delta y XYZ. Puede ser el primer brazo robótico escritorio que puede utilizarse para la impresión 3D
Juego de arcade retro con temática de Star Wars

Juego de arcade retro con temática de Star Wars

Un botón. LCD. Procesalmente genera el terreno. Un guión de Star Wars. Un adictivo juego.No estoy seguro por qué, pero me he obsesionado con el estilo artístico de los juegos de arcade retro pixelado. Simplemente no pude conseguir bastante y decidí h
La aplicación de Arduino brazo robot

La aplicación de Arduino brazo robot

Necesitábamos una plataforma para probar nuestra nuevas MICILE / interfaz de usuario de Arduino. La mano del robot y el brazo parecían como algo lo suficientemente complejo como para dar realmente todo el concepto de un entrenamiento integral. El pro
Construir un Laser de corte y soldadura con brazo Robot Dobot

Construir un Laser de corte y soldadura con brazo Robot Dobot

En este proyecto instructable, construimos un laser de corte y soldadura con brazo Dobot. La alta precisión Dobot brazo de robot se compone de marco 6061 y fabricada con CNC. Su precisión de maquinaria es de 0,02 mm y precisión de la repetición es 0,
Brazo robot con Servo motores

Brazo robot con Servo motores

parte de mi investigación de doctorado en Universidad de Nueva York-Poly consiste en predecir el consumo de energía en sistemas robóticos, así que necesitaba un sistema robótico para trabajar con una plataforma de investigación para validar los resul
Tamaño de bolsillo MeArm de brazo Robot V0.4

Tamaño de bolsillo MeArm de brazo Robot V0.4

El MeArm es un brazo de Robot de tamaño de bolsillo. Es un proyecto iniciado en febrero de 2014, que ha tenido un viaje muy rápido a su estado presente gracias a su desarrollo abierto como un proyecto de Hardware abierto. Versión 0.3 apareció en Inst