|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

App inventor 2 en español
Cómo programar los teléfonos móviles con Android
mediante App inventor 2 - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

____________________________

LEGO MINDSTORMS y LEGO EV3 (final de página)

42.- App Inventor 2 y Robot mindstorms de Lego

p42_robot_lego.aia

- Presentación

- Guía del usuario en inglés

- Guía en español

- Vamos a controlar un ROBOT de LEGO, concretamente el LEGO Mindstorms education NXT mediante un programa realizado con App Inventor.

- Es un ROBOT programable educativo, algo caro, tiene un precio de unos 380 €

- Aquí lo tienes: http://ro-botica.com/es/Producto/Pack-educativo-LEGO-Mindstorms-NXT-2.1/ o bien LEGO

- En muchos institutos españoles, los cursos de 4º de E.S.O. y Bachilleratos disponen de estos recursos de aprendizaje para iniciar a los alumnos en la robótica y en la programación.

- El Robot consta de una central a la que se le puede conectar varios dispositivos. Tres motores y 4 sensores.
- De los tres motores dos son para ruedas y el otro se suele poner en un brazo motor.
- Los sensores son de: contacto, sonido, luz y ultrasónico.

Montaje típico:

- Los "ojos" son sensores de proximidad por ultrasonido. Al acercarse a una pared, podemos programar para que se pare a los 50 cm de distancia o se dé la vuelta, por ejemplo.
- El brazo derecho en un sensor de sonido. Al tocar una palmada podemos hacer que gire, por ejemplo.
- En la parte delantera tiene un sensor de luz. Podemos dibujar una linea curva, negra y gruesa en el suelo y programar al robot para que la siga.
- En la parte de atrás tiene un sensor de contacto, cuando choca con algo se activa un contacto y el robot puede dar marcha atrás.
- Las dos ruedas son motores independientes.
- El brazo izquierdo también es un motor.

- Funciona con pilas o bateria de unos 8 V aprox.
- Tiene Bluetooth.
- Se puede controlar mediante el Bluetooth del Arduino, Visual Basic 2010, Teléfonos con Android programados con Basic4Android, App Inventor, ,...

- Se programa con un software que se instala en el ordenador. Mediante bloque, bricks, ... se crea una secuencia de operaciones que representan a las instrucciones de Visual Basic: IF... Then... Else, Until, Loop...

Luego mediante un cable USB se carga el programa realizado al módulo del Robot.

Aquí tenemos varios vídeos de youtube:

http://www.youtube.com/watch?v=l0vqZQMF0A4&feature=channel&list=UL

http://www.youtube.com/watch?v=AzRRulYvVdY&feature=channel&list=UL

http://www.youtube.com/watch?v=V6-o2jWmdIQ&feature=related

http://www.youtube.com/watch?v=BO-uFcClRTA&feature=related

En Internet o en la misma ayuda del programa podemos encontra muchos ejemplos de programación.
Este tutorial no trata de programar directamente el Robot, solo trata de controlarlo a distancia mediante Bluetooth, es decir el Robot recibe las órdenes mediante el móvil por Bluetooth. Es decir, para nuestro objetivo no necesitamos programar el Robot con el software de LEGO Mindstorms Education NXT, nosotros sólo utilizaremos App inventor 2.
___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________ ___________________________________________________________

- Programación con App Inventor 2.
Haremos que el Robot LEGO se mueva enviándole órdenes mediante Bluetooth con el móvil.

Antes de continuar vamos a echarle un vistazo a este PrintRobot...

PrintRobot

PrintRobot, se llama así porque las piezas que componen el chasis se pueden realizar mediante impresora 3D. Las imágenes de las piezas se pueden bajar... de aquí por ejemplo... PrintBot_EVOLUTION_STL.zip, las imprimes y ya tienes el chasis y ruedas.

Luego hay que comprar y acoplar los demás elementos. El circuito "cerebro" es una placa de Arduino UNO adaptada: Zum Core. (La desarrolla la empresa BQ).

La placa Arduino UNO adaptada, Zum Core, se puede comprar independientemente por unos 40 €

También se puede comprar el conjunto completo, chasis más elementos, por unos 100 €, se puede encontrar en el Media Mark, Corte inglés y Carrefour.

- Pequeño tutorial:
http://fabricadigital.org/lesson/primeros-pasos-con-tu-printbot-evolution/

 

De todos modos, si eres un "manita" puedes comprar un Arduino UNO de fabricación china (2,5 €), un modulito Bluetooth (2,5 €) y un driver para motores de continua (1 €) y podrá actuar prácticametne como el Zum Core que vale 40 €. Sigue mis tutoriales de Arduino en KIO4.COM.

De una manera u otra este PrintRobot es una opción más económica que el robot de LEGO.

 

 

Seguimos con nuestro proyecto con el robot LEGO...
_________________
- Diseño.

- Sacamos un SelectordeLista1, en su texto ponemos Conectar...

- Las flechitas de los Botones son los siguientes caracteres, los ponemos en la propiedad texto de cada botón:

▲ ◄ ► ▼ (copia cada uno de estos caracteres y los vas poniendo en el texto de su correspondiente botón)

Cambia el nombre de los botones, los llamas Adelante, Atrás, Izquiereda, Derecha, Desconectar.

Establece el Ancho de los botones al Ancho del contenedor.

Ponemos el tamaño de todos los textos a 40

El tamaño del Alto de los botones lo he puesto a 60 pixels.

En la DisposiciónVertical1 ponemos la propiedad Visible en oculto (esto lo hacemos al final, cuando ya hayamos situado todos los botones). El ponerlo oculto en el inicio es para que no podamos pulsar los botones de Adelante, Atrás,... hasta que no se realice la conexión.

Sacamos un ClienteBluetooth de la parte de Conectividad.

Sacamos un NxDrive y un NxtUltrasonicSensor1 de la parte de LEGO MINDSTORMS

En el NxDrive1 y en el NxtUltrasonicSensor1 ponemos la propiedad BluetoothClient en BluetoothClient1

Fíjate también como he establecido en las Propiedades los Motores en las conexiones CB

Configuración del SensorDeUltrasonido para que actúe desde 30 a 70 cm

_________________
- Bloques.

_________________
- Comentarios.

- Antes de pulsar el SelectordeLista1, es decir cuando arranca la aplicación, se capta los elementos Bluetooth que hay en la cercanía, se hace una lista de estos elementos y se presentan en el SelectordeLista1.

- Cuando pulsamos en el SelectorDeLista1 el elemento Bluetooth correspondiente al Robot LEGO, se conecta con él. Se quita el SelectordeLista1 y se presentan los botones que están en la DisposiciónVertical1.

- Cuando pulsamos el botón de Desconectar, se quita la DisposiciónVertical1 y se vuelve a mostrar el SelectordeLista para realizar otra conexción.

- Según pulsemos los botones así se moverán los motores.

- He configurado el rango de distancia del NxtUltrasonicSensor1 para que cuando se encuentre en ese rango de distancia de un objeto se pare.

- En la parte de Diseño podemos sacar más elementos del Robot Nxt1:

 

__________________________________

- Sincronización entre el Bluetooth del móvil y del Robot.

Cuando trabajemos con esta aplicación el Bluetooth del móvil debe estar activado.

- Pulsamos en Bluetooth, luego en Buscar dispositivo.

- Pulsamos sobre el nombre del dispositivo Bluetooth de LEGO.

Y en la pantalla del LEGO saldrá la clave que debemos escribir en el móvil para sincronizarlo, en este caso 1234

- En el móvil escribiremos la clave 1234

- El LEGO tiene un icono de Bluetooth, mediante este icono podemos elegir el dispositivo que lo está controlando.

_______________________________
_______________________________

42B.- App Inventor 2 y Robot mindstorms de Lego (II)

 

- Cambio de velocidad.

p42_robot_lego_velocidad.aia

_________________
- Diseño.

- Vamos a modificar este proyecto para poder variar las velocidades.

- En el Diseño agregamos un Deslizador.
- En las Propiedades del Deslizador ponemos un ValorMínimo de 55 y un ValorMáximo de 90.

_________________
- Bloques.

- Modificamos los Bloques de la siguiente manera:

- Agregamos una variable llamada velocidad.

- Cuando Cambiamos el Deslizador, cambia su valor, que a su vez cambia la variable velocidad.

- Cuando cambiamos la velocidad y luego volvemos a pulsar un Botón el LEGO se mueve con la nueva velocidad.

- También he puesto una Etiqueta para ver el valor de la velocidad.

_______________________________
42C.- App Inventor 2 y Robot mindstorms de Lego dirigido por voz. (III)

p42C_robot_lego_voz.aia

- Pronunciamos: Adelante, Atrás, Izquierda, Derecha, Parar, Lento, Rápido y el LEGO sigue esas órdenes.

- Insertamos los elementos indicados.

- La DisposiciónHorizontal2 es un separador para que la Etiqueta salga al final de la pantalla, esta DisposiciónHorizontal1, ponemos en su Ancho y Alto: ajustar al contenerdor.

_________________
- Diseño.

_________________
- Bloques.


_________________
- Comentarios.

- El Botón1 para el proceso del reconocedor de voz mediante un cambio de variable lógica.

- Las palabras de comparación deben ir con sus acentos ortográficos: atrás, rápido.

________________________________________
- Propuestas de mejoras:

- Cuando movamos el Deslizador, en ese momento cambie la velocidad sin tener que volver a pulsar un Botón.

- Utilizar otros sensores del LEGO, infrarrojo, contacto, sonido, luz,...

____________________________________________
- Observaciones.

- Como he comentado, mediante NXTMotor, se puede controlar los motores, en este elemento en su Propiedad Motores, podemos indicar si se moverá el motor conectado al puerto C, D... o ambos CD, es decir podemos gestionar los dos motores a la vez o independientes.

- App inventor no admite MultiTouch, es decir pulsar dos o más botones a la vez. No podemos pulsar dos botones a la vez y que se realicen los eventos correspondientes a los dos botones.

 

______________________________
- Versión LEGO EV3.

EV3_Demo.aia

- Para la nueva versión de LEGO EV3, podemos seguir este tutorial en inglés...

- https://docs.google.com/document/d/1KZF1785Kan2ZKHY90114lIXzhn-5SOX3g21h03fHRnA/edit

 

- User Guide LEGO MINDSTORMS EV3 10 All ES.pdf

- Instructions for running the app:

  1. Make sure the motors are plugged into ports B and C on the EV3 Brick.

    1. If you want the motors in other ports, you can change the “MotorPorts” property in the Designer for the EV3Motors component.

  2. Turn on Bluetooth for your phone/tablet

  3. On the LEGO EV3 Brick, make sure Bluetooth is turned on AND iPhone/iPad/iPod is off for the EV3 ("Settings")

  4. Pair tablet with EV3 (passcode is probably 1234 but will show up on the EV3 Brick screen)

  5. Once pairing is complete, open the EV3_Demo app

  6. Click "Connect" and connect with the EV3

  7. Press "Start"

  8. Tilt to play


Notes:

  • It sometimes takes several seconds or multiple tries for the "Stop" button to register.

  • Wait a few seconds after disconnecting to reconnect.

  • If editing the app while connected via AI Companion, the phone/tablet will sometimes disconnect from the EV3 robot and the app has to be re-downloaded.

____________________________________________________
- Más ejemplos de LEGO EV3 en esta dirección:

 

http://explore.appinventor.mit.edu/ai2/tutorials?field_tutorial_type_tid%5B%5D=95

__________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información