Hacer: es robótica Starter Kit - comprensión Bitwise matemáticas (2 / 3 paso)

Paso 2: Análisis de ReadOptical() método

Como dije hay son unas cuantas faltas de ortografía en los comentarios del código en linefollow.ino.Every lazo las llamadas de programa la siguiente function:sensor_in=line_following.read_optical();

Los comentarios de este método de read_optical() Lee lo siguiente:

Devoluciones

0 × 000 optical1 negro

0x0ff optical1 blanco

0 × 100 optical1 blanco

0x1ff optical1 negro

0x2XX no está listo; no utilizar este valor

Realmente debe ser el siguiente

Devoluciones

0 × 000 optical1 negro

0xFF optical1 blanco

0 × 100 optical2 blanco

0x1ff optical2 negro

0x2XX no está listo; no utiliza este valor (cualquier sensor puede devolver este valor)

0x0ff debe ser 0xff

Consulte la entrada de blog Software parte 3

Se verá en los párrafos a continuación la importancia de estos errores. (tiene que ver con la lectura de cada sensor de otros) En la línea siguiente robot hay dos sensores ópticos, cada vez que la función loop() ejecuta las llamadas de bosquejo de linefollow.ino un método para ver si uno de los sensores es ver claro u oscuro.

En un microcontrolador como Arduino, un segundo es un tiempo muy largo. La función loop() puede ejecutar muchos miles de veces por segundo. A cada bucle tarda depende de cuántas instrucciones programa llevará a cabo. Algunas instrucciones tardan más tiempo en la ejecución de otras instrucciones.

Instrucción (lo que funciones y métodos se componen de) tiempo de ejecución se mide en ciclos de reloj de CPU. El Arduino por defecto funciona a 16 MHz o 16 millones ciclos de reloj de un segundo. El bosquejo de linefollow.ino realiza algunas lógica bastante simple.

Después de configurar algunas de las variables, el loop() llama a una función para ver si es de un sensor de luz u oscuro, dependiendo de la respuesta alguna suposición lógica es ejecutado para reducir la respuesta a un valor de 0, 1, 2 o 3. Estos valores entonces se utilizan para contar los motores ya sea avanzar, girar a la izquierda o derecha.

Cada 15 millisegundos el programa loop dice cambiar y leer el otro sensor. Así que tienes un programa que coloca primero un sensor de lectura, convierte la respuesta en 0, 1, 2 o 3, indicar a los motores qué hacer y luego leer el otro sensor, convertir la respuesta a 0, 1, 2 o 3 y luego decirle a los motores qué hacer. En muchos casos, dependiendo de los valores de las variables de acción1 y action2, se omiten las instrucciones para controlar los motores. Se refieren a un blog más adelante.

Estas operaciones se hacen otra vez en miles de veces por segundo. El resto de este blog y los blogs más adelante van a enseñar lo que está sucediendo con la suposición lógica que lee el sensor y convierte la respuesta de 0, 1, 2 o 3. El siguiente segmento de código es el código de lujo que las lecturas del sensor se convierte en un valor de 0, 1, 2 o 3. Este código implica algunas instrucciones de programa que pueden ser bastante confusos para los programadores de controladores newmicro.

Por favor consulte otra entrada de blog que escribí llamado "Tutorial – poco golpeando y boleano matemáticas sin la matemáticas" este tutorial va de la mano con entender el siguiente segmento de código:

Si ((sensor_in & 0xf00) == 0)

sensorValue1 = sensor_in & 0xff;

else if ((sensor_in & 0xf00) >> 8 == 1)

sensorValue2 = sensor_in & 0xff;

Si (sensorValue1 == 0 x 00) acción1 = acción1 y 0xfe;

Si (sensorValue1 == 0xFF) acción1 = action1 | 0 x 01;

Si (sensorValue2 == 0 x 00) acción1 = action1 | 0 x 02;

Si (sensorValue2 == 0xFF) acción1 = acción1 y 0xfd;

Este segmento de código utiliza tres operadores especiales (instrucciones que operan sobre valores dados) el código utiliza los siguientes operadores binarios: & operador Bitwise y, | Puerta OR bit a bit el >> operador Bitwise derecha Mayús.

(Leer el tutorial)

http://joepitz.wordpress.com/

Artículos Relacionados

Hacer: es robótica Starter Kit

Hacer: es robótica Starter Kit

Finalmente tengo algo de tiempo libre para empezar a trabajar en C/C++ integrado sistemas y robots. Así que en la navegación alrededor en Radio Shack me topé con el hacer: es robótica Starter Kit. Al parecer una colaboración conjunta entre la gente e
Hacer: es robótica Starter Kit - envío de datos del Sensor sin cables

Hacer: es robótica Starter Kit - envío de datos del Sensor sin cables

En este Instructable van a tomar lo que hemos aprendido en "hacer: es robótica Starter Kit – conectividad inalámbrica" y "hacer: es robótica Starter Kit – captura de datos de los sensores" y combinar esta información para capturar dato
Hacer: es robótica Starter Kit – conectividad inalámbrica

Hacer: es robótica Starter Kit – conectividad inalámbrica

En este blog vamos a tener la información que aprendimos en el anterior post del blog el post titulado "Make: es robótica Starter Kit-Software parte 2 y capturar datos de sensores en tiempo real y enviar estos datos a nuestro ordenador de forma inalá
Hacer: es robótica Starter Kit - análisis de LineFollowing.ino parte 2

Hacer: es robótica Starter Kit - análisis de LineFollowing.ino parte 2

En el Instructable pasado empezamos analizando las operaciones bit a bit en el bosquejo de lineFollow.ino. Vimos cómo se interpretan las lecturas del sensor para hacer que el robot vaya hacia adelante.En este tutorial vamos a continuar nuestro anális
Hacer: es robótica Starter Kit – familiarización con el tablero de conductor

Hacer: es robótica Starter Kit – familiarización con el tablero de conductor

En este post del blog tomamos un vistazo a la tarjeta de conductor que viene con el Kit robótica hacen: es. No hay ninguna documentación que viene con el kit de inicio con respecto a la tarjeta de conductor que no sea el esquema.A menos que tenga alg
Hacer: es robótica Starter Kit - análisis de LineFollowing.ino parte 1

Hacer: es robótica Starter Kit - análisis de LineFollowing.ino parte 1

En nuestro último post del blog capturamos algunos datos de los sensores de las tres diferentes posiciones que nuestro robot puede encontrarse al seguir la línea negra, (negro, sensor de sensor/derecha sensor blanco, derecha sensor izquierdo negro a
Hacer: es robótica Starter Kit de captura de datos del Sensor

Hacer: es robótica Starter Kit de captura de datos del Sensor

Instructable pasado hablamos un poco sobre lo que está haciendo el programa de linefollow.ino. Presenté un script en Python que nos permitirá analizar el bit a bit if declaraciones para ver cómo el valor que devuelve el método read_Optical() obtiene
Barato, fácil de robótica para el programador no

Barato, fácil de robótica para el programador no

Hey robótica-programador-quiere a abejas! ¿Cansado de tratar de hacen varios ambientes sólo para encontrar que hay una curva de aprendizaje entre usted y esos robot fresco trucos a tus amigos geek? ¿Los kits comerciales son demasiado caros? Entonces
Cómo hacer un mando a distancia controlado por una mano robótica con Arduino

Cómo hacer un mando a distancia controlado por una mano robótica con Arduino

Este es mi proyecto escolar para 5 º año de secundaria (yo soy italiana, tenemos 5 años de secundaria).Consiste en una mano artificial controlada por un guante con sensores de flexión. La mano artificial reproduce los movimientos de la mano con el gu
Hacer un modelo de demostración de robótica solenoide

Hacer un modelo de demostración de robótica solenoide

Los solenoides son bobinas electromagnéticas envueltas alrededor de un tubo con un émbolo metálico interior. Cuando la electricidad se enciende, la bobina magnetizada atrae el émbolo y tira. Si le colocas un imán permanente en el émbolo, luego el ele
Manejo de plástico para hacer bricolaje piezas robóticas

Manejo de plástico para hacer bricolaje piezas robóticas

Incluso con impresoras 3D y fresadoras accesibles hoy en día, supongo que este post será de interés para algunas personas. De vez en cuando, me preguntan cómo produzco mi piezas, así que este post es dedicado para este pueblo, para los chicos que no
Hacer una garra robótica

Hacer una garra robótica

es este instructable sobre la fabricación de una garra robótica fácil y rápido.permite comenzar.Paso 1: materialesmaderapegamento para maderaservidor o (motorreductores como de mi instructables)palito plástico redondoSierramás ligeroPaso 2: hacer par
Cómo hacer barato chasis para vehículos de robótica y proyectos

Cómo hacer barato chasis para vehículos de robótica y proyectos

hay muchos chasis disponibles en el mercado en línea y Local y por supuesto muchos de ellos son impresionantes y bien diseñado. Pero muchos de ellos también son costosos. Pero tengo una mejor idea que sin duda le ahorrará algo de dinero y también le
Uso de LEGO® WeDo educación™ kit de robótica con Scratch para pcDuino

Uso de LEGO® WeDo educación™ kit de robótica con Scratch para pcDuino

En este post explicamos cómo aplicar el parche a la versión 2014-07-21 de pcDuino3 imagen para utilizar el kit de robótica LEGO® WeDo educación™ con cero para pcDuino.El controlador se puede descargar desde https://s3.amazonaws.com/pcduino/Images/scr