Proyecto: Robot que salga de laberinto

Hola tengo que hacer de proyecto para la facu, un robot que salga de un laberinto. Me sugirieron que use arduino y tengo un par de dudas. Necesito controlar 2 motores paso a paso (uno por rueda) y 4 sensores ultrasonido o infrarrojo para medir la distancia a una pared.

-Voy a poder controlar esto desde arduino uno?
-Cual de los dos tipos de sensores me recomiendan?

Los requisitos del proyecto es que se haga en JAVA, usemos estructura de datos tipo arbol para ir almacenando el recorrido y que creemos una interfaz donde se vaya mostrando por donde esta el robot. Por lo que estaba leyendo arduino tiene su propio IDE, quería saber si desde el IDE NetBeans puedo programar en java la parte grafica y desde el mismo ide controlar los motores y los sensores. Es posible eso?

Aclaro que estudio Ingenieria en Sistemas, de electrónica estoy nulo.

Gracias!

Lo que te va a resultar más fácil es usar motores DC con su correspondiente driver. En cuanto a sensores, los infrarrojos de corto alcance te van a dar mejores resultados porque con los ultrasonidos vas a tener ecos dentro del laberinto.

Yo utilizaría java directamente usando NetBeans para el MMI y una simple interfaz serie para comunicarte con el AVR (Arduino).

Entonces se podría hacer mediante comunicación serial? Tendría que buscar un par de librerias y meterle pata.

En el arduino uno, podré conectar 2 motores paso a paso, 3 sensores, un par de led y un altavoz? Se puede o voy a necesitar el otro, mega?

Gracias!

En principio no deberías tener ningún problema con la UNO, vinciDuino (me pueden los colores), nano, ...

Comentaba lo de usar motores DC porque vas a conseguir controlar mejor la velocidad. Con los motores paso a paso el robot va a ir muy l e n t o.

Quitando ese tipo de decisiones:

  • control de motores PaP: 2 pines por motor y un pin de enable (IO digital), con algunos drivers en el momento que enciendes la placa se activan las fases de los drivers y te puedes ahorar el pin de enable o incluso lo puedes conectar a GND.
  • sensores, si son infrarojos: dos pines 1 analogico y 1 IO para el LED infrarojo aunque con el LED infrarojo siempre vas a poder dejarlo siempre conectado o simplemente activar todos con una salida digital. Si es un sensor de ultra-sonidos, 1 pin o 2 dependiendo de la placa y fabricante.
  • LED, 1 pin digital por LED.
  • Altavoz, salida PWM (uno de los pines PWM que tiene la placa).
  • 2 pines para la UART.

La UNO, vinciDuino, Nano, ... suelen tener 13 entradas salidas digitales (IOs) y 6 entradas analógicas. 2 de las entradas salidas digitales se usan para la UART.

Perfecto entonces, la uno buscare!.

Pensaba en motores PAP porque tengo que ir guardando en una estructura de árbol todo lo hace, incluyendo cuanto avanza para después saber cuanto retroceder. Creo que en algún momento leí algo sobre que también con los motores dc se puede hacer eso, pero no estoy tan seguro de que sea mas fácil que usando motores pap.

Qué es la UART?

El otro tema de comunicación serial desde netbeans entonces se puede hacer? De ser así mañana encargo uno :slight_smile:

Yo no lo he hecho, pero todo el entorno arduino es java. Si miras el codigo, seguro que sacas ideas y cómo hacerlo.