Construir un brazo robótico para la Olimpíada de Ciencias (10 / 14 paso)

Paso 10: P.3, código: hablando con un Servo

Así que ahora usted está transmitiendo. El siguiente paso es recibir.

Iniciar serie de comunicaciones en la función setup() de Arduino en 9600 baudios (bits por segundo):

Serial.Begin(9600);

Suele imprimir un mensaje en el final de la función setup() para confirmar que el Arduino está trabajando y listo para empezar a recibir la entrada en serie:

Serial.println ("trabajo!");

Ahora, en el bucle principal, queremos esperar a que se han recibido 3 caracteres (bytes), la función Serial.available() nos dice cuántos bytes son en el buffer, por lo que sondear hasta el valor 3:

Si (Serial.available() == 3) {}
... algo de código...
}

Para leer bytes de la memoria intermedia, se utiliza Serial.read(), que también borra el byte leído fuera del búfer. Estamos recibiendo 3 bytes, esto quiere decir 3 llamadas a Serial.read(). Cada byte representa un dígito codificado en ASCII. Echa un vistazo a este sitio web: http://www.asciitable.com/

Nada acerca de dónde 0, 1, 2... ¿son? Eso es! Comienzan en la 48, 49, 50...! Eso significa que necesita restar 48 el valor ASCII de la cifra de transmisión. (Agradecemos nosotros, porque estábamos confundidos para un día, hasta que scolton lo explicó)

El buffer es FIFO (primero en primero hacia fuera), así podemos leer los cientos dígitos primero, las decenas segundo y los últimos (el mismo orden como fueron transmitidos):

ángulo = (Serial.read() - 48) * 100;
ángulo += (Serial.read() - 48) * 10;
ángulo += (Serial.read() - 48);

Ahora, queremos escribir ese ángulo a un servo - importar la librería servo:

#include < Servo.h >

Declarar un objeto servo antes que el método de instalación (esto es también donde declaras el ángulo, que debe ser un entero, o un volátil if corto eres pedante = P):

Servo myServo;

Por último, escriba el ángulo recibido dentro de la instrucción if de Serial.available() :

myServo.write(angle);

Si usted siguió a lo largo de la última etapa (o había compilado el ejemplo), debe tener un controlador servo basada en consola listo para ir!

Aquí está un video de nosotros todo el sistema de prueba. El alcance está controlando la forma de onda PWM de servo, Tim es introducir los números entre 0 y 176 en la consola de Mac y el Arduino es ajustar el ángulo de un servo:

Descripción del vídeo de YouTube:

"Una línea de comandos herramienta escrita en Objective-C para controlar la posición de un servomotor con interfaz serial y un Arduino Mega 2560 - el primer paso en mi proyecto del brazo robótico".

He conectado una copia del código Arduino-lado así que usted puede probar el transmisor y el receptor. El hardware es bastante sencillo, conectar el cable de señal del servo al pin de Arduino Mega 50 (usted puede cambiar esto), conecte el conector de tierra a masa de Arduino y conectar + 5V a una fuente de alimentación externo con, su tierra también conectado a Arduino de tierra. Es imprescindible que uses una fuente externa como las corrientes dibujadas por un servo pueden causar el Arduino a una baja de voltaje o se comportan erráticamente.

Artículos Relacionados

Brazo robótico para tanque autónomo

Brazo robótico para tanque autónomo

Recientemente he comprado un brazo robótico para montar en mi proyecto autónomo. No he podido encontrar ningún real tutoriales sobre cómo construir el brazo así que decidí hacer uno yo.El marco para el brazo se puede encontrar en eBay y generalmente
Cómo construir un brazo robótico

Cómo construir un brazo robótico

actualización: https://www.youtube.com/watch?v=BILiuqRmLRIdesea construir el controlador de ir a la aquíel video:http://www.youtube.com/watch?v=N9z7OQLlhrEhttp://www.youtube.com/watch?v=jozshuI246o&feature=youtu.behttp://www.youtube.com/watch?v=onQIz
Brazo robótico para personas con discapacidad

Brazo robótico para personas con discapacidad

brazo robótico en las estadísticasUn brazo mecánico es robótica, generalmente programable, con funciones similares a un brazo humano. Los enlaces de un manipulador de tal están conectados por uniones permitiendo el movimiento de rotación (tal como en
Trayectoria del aire para la Olimpíada de Ciencias

Trayectoria del aire para la Olimpíada de Ciencias

Mi hija de 13 años diseñó este proyecto para la competición de la Olimpíada de Ciencias . Aunque diseñado para cumplir con ciertos requisitos, es un buen proyecto para cualquier madre, 4H, actividad de Boy/Girl Scouts.Este fue el plan de mi hija; así
Pinza de brazo robótico para FRC Logomotion competencia

Pinza de brazo robótico para FRC Logomotion competencia

Hola a todos,Este es el primero de una serie de instructables.Para entender el origen de este instructable consulte el enlace de abajo:Concurso de robótica de FRC primera de este año - LogomitionEste instructable le mostrará cómo diseñar, fabricar y
Brazo robótico Trifecta (Olimpíada de Ciencias)

Brazo robótico Trifecta (Olimpíada de Ciencias)

)Bienvenida 2016 equipos de Olimpiada de ciencia! El brazo Robot está de vuelta y ¿estás listo para hacer algunos robots kick-culo? Por favor deja un comentario debajo de algo nos de mensajería para que la comunidad pueda crecer en su conjunto. Nos e
Brazo robótico Custom Actobotics

Brazo robótico Custom Actobotics

Hola a todos.El propósito de este proyecto es construir un brazo robótico custom con piezas de Servocity / Actobotics. Sé que hay un montón de tutoriales de brazo robótico hasta allí, pero mi propósito es construir un brazo de servicio pesado que pue
El control de un brazo robótico con el Kinect de Microsoft!

El control de un brazo robótico con el Kinect de Microsoft!

Rápidamente los robots son cada vez más integrado en nuestras vidas día a día. Limpiar nuestros suelos, nuestro café y se utilizan incluso para telepresencia. Ya que se están convirtiendo en tan vitales para la sociedad, ¿por qué no regalar a nuestro
Barato programable Arduino brazo robótico

Barato programable Arduino brazo robótico

Esto pretende ser una guía de cómo construir un brazo robótico de Arduino. Su concepto es ser barato y fácil de construir. Esto es sólo un prototipo para optimizar mi código, pero es perfecto empezar con la robótica Arduino. Es controlado por un joyp
Arduino brazo robótico controlado

Arduino brazo robótico controlado

Un brazo robótico es responsable de procesos muy complicados que requieren una programación rigurosa y compleja, soy un estudiante de ingeniería electrónico y he siempre me llamó la atención estos proyectos por lo que decidí "Quiero construir un braz
Brazo robótico de control con guantes, teléfono Android y Galileo de Intel (actualizado)

Brazo robótico de control con guantes, teléfono Android y Galileo de Intel (actualizado)

En realidad, este proyecto basado en otro proyecto que tengo construir antes. Sin embargo, en lugar de construir el brazo robótico y usando Arduino, usé mi amigo 6DOF brazo robótico y Galileo de Intel.Paso 1: componentes 1-Intel Galileo Gen 22 - 1She
Mente controla brazo robótico

Mente controla brazo robótico

Este es un proyecto que hice para mi entrada de Feria de Ciencias de Google. Si te gusta este Compruebe hacia fuera y voten por mi para cuando esté disponible.Este es un video de la mano siendo controlado por el cerebro de apertura y cierre:Más vídeo
BRAZO robótico de sexy eje 6

BRAZO robótico de sexy eje 6

Bien finalmente lo hice. Por último apretó el gatillo y comenzó a construir un brazo robótico de 5/6 ejes. Se trata de un proyecto así que por favor revise de vez en cuando para mirar el progreso y ofrecer alguna idea que tengas quien sabe yo solo po
Un multi-controlado alta precisión escritorio brazo robótico

Un multi-controlado alta precisión escritorio brazo robótico

Actualización: campaña de Dobot está disponible en kickstarter, y sólo desarrollaron una nueva pinza con alcance 1 mm - 45 mm y actualiza un proyecto de impresión 3D precisión superior, si usted está interesado en él, usted puede ir a su Página de ca