miércoles, 26 de abril de 2017

Luces en diversos estados con servomotor de 180º - ArduBlock, Bitbloq y mBlock

(Artículo en construcción)

Referencia de programa: 01K
 
Arduino IDE 1.0.6 y ArduBlock 20130607 en MAX 6.5 (MAdrid_linuX)

 
Prepara el montaje:
  • Placa Arduino.
  • Pin digital 4 - Led.
  • Pin digital 8 - Led de otro color..
  • Pin digital 13 - Led de otro color (siempre está encendido).
  • Pin digital 11 - Servomotor (probaremos con rotación 180º y rotación 360º cambiando los ángulos).
Ten en cuenta:
  • En las placas con hileras de tres pines conecta los cables empezando normalmente por "ground".
Programa:
  • Crea el programa que se muestra en la imagen.
Prueba:
  1. Observa dónde hay bloques y pines digitales repetidos.
  2. Pulsa en "Cargar a Arduino".
  3. Describe los pasos y lo que ha ocurrido.
  4. Repite el mismo proceso cambiando los números de pin digital por parejas.
  5. Describe lo que ha ocurrido tras los cambios.
  6. Prueba a intercambiar servos de 180º y servos de 360º grados de rotación continua.
  7. Describe lo que crees que hace cada bloque paso a paso.
  8. Describe 3 posibles usos de este montaje en la vida real.
Investiga:
  • Investiga nuevas posibilidades cambiando valores y bloques.
 
Bitbloq Offline v1.0.3 en MAX 8.0 (MAdrid_linuX)

Montaje:

Programa:
  

mBlock con mBot (mCore) en MAX 9.0 (MAdrid_linuX) 64 bits (conectado y autónomo)

Conecta el cable que va al módulo adaptador en el puerto 1 y el servomotor en el slot 1 de ese mismo módulo adaptador.
 


Pendiente:
  1. Se ha observado que con el servo conectado a la placa esta perdía fácilmente la conexión USB. Para evitarlo, ha sido necesario tener conectada la alimentación procedente de las pilas.
  2. Cuando el servomotor se encuentra en posición 0, los engranajes interiores intentan seguir funcionando y pueden llegar a calentar el servo e incluso hacer que deje de responder. Es por ello que se añadido una posición de 90º para que dichos engranajes se paren antes de la acción de los leds y así evitar que se caliente en exceso al estar mucho tiempo forzado en la posición 9.

Joystick para control de vehículo con dos servos y 4 luces ArduBlock y Bitbloq)

(Artículo en construcción)

Referencia de programa: 04F

  
Arduino IDE 1.0.6 y ArduBlock 20130607 en MAX 6.5 (MAdrid_linuX)
 
Modificaciones pendientes: añadir zumbador y poner mayor duración de luces.




Prepara el montaje:
  • Placa Arduino.
  • JoyStick de 5 cables.
    Tres primeros cables a pin "analógico" 4 (cuidado, en algunas placas están invertidos).
    Cuarto cable a pin analógico 5 señal - Eje y.
    Quinto cable a pin "digital" 7 señal - Apagar leds o parar motores.
  • Pin digital 1 - Led. 
  • Pin digital 2 - Led de otro color.
  • PIn digital 3 - Led de otro color.
  • Pin digital 4 - Led de otro color.
  • Pin digital 9 - Servomotor de rotación continua izquierdo.
  • Pin digital 10 - Servomotor de rotación continua derecho.
Ten en cuenta:
  • En las placas con hileras de tres pines conecta los cables empezando normalmente por "ground". Cuidado. En algunas placas los pines están invertidos.
  • No todos los "joystick" tienen el mismo diseño ni reconocen el mismo rango valores; prueba a modificar los valores en el programa si es necesario.
  • Comprueba si tus servomotores están bien calibrados. 
Programa:
  • Crea el programa que se muestra en la imagen.
Prueba:
  1. Pulsa en "Cargar a Arduino".
  2. Acciona el mando en varias direcciones y prueba también a pulsarlo. A veces es necesario pulsar en la posición exacta.
  3. Observa los cambios y describe lo que ha ocurrido.
  4. ¿Qué función tienen las variables "xeje" e "yeje"?
  5. Cambia el nombre de las variables. 
  6. Cambia los valores y los operadores. 
  7. Cambia los pines.
  8. Cambia los leds por otros actuares simples, como zumbadores.
  9. Describe lo que ha ocurrido tras los cambios.
  10. Describe lo que crees que hace cada bloque paso a paso.
  11. Describe 3 posibles usos de este montaje en la vida real.
Investiga:
  • Investiga nuevas posibilidades cambiando valores y bloques.
Bitbloq Offline v1.0.3 en MAX 8.0 (MAdrid_linuX)

Montaje:

Aviso.En este caso, se ha utilizado el joystick que comercializa bq. La  configuración por defecto, rango de valores y orientación de ejes con respecto a los cables de conexión pueden ser diferentes al de otros joysticks del mercado.

De hecho, se ha probado esta misma programación con un joystick diferente y el comportamiento de los servos cambia. Se comentan los motivos al final del programa.


Programas:

Hay una diferencia importante con respecto al proyecto anterior. Vamos a hacer que se puedan realizar curvas más cerradas. Para ello, al girar a la derecha e izquierda, en vez de parar uno de los servos, haremos que gire en dirección contraria al otro.
  • Con joystick comercializado por bq (3 x 3 cables):

  • Con joystick diferente procedente del mercado (5 cables): 
Como se hizo en el ejemplo de Ardublock, ha sido necesario inicializar a 1 el valor del pulsador del joystick (pin digital 7), pues no viene configurado así por defecto.
 


Además, los ejes X e Y tienen otra orientación respecto a los cables; el joystick debe colocarse con los cables hacia un lado en vez de hacia adelante para que interprete bien las órdenes. Habría que cambiar la programación si queremos manejar el joystick con los cables mirando hacia adelante, que como se hizo en el caso de Ardublock.