The testing plugin is enabled and should be disabled.
 

el Calinwire (Carro Linux Wireless)

nace como una iniciativa a un proyecto realizado por altaimpedancia (http://code.google.com/p/altaimpedancia/) llamado rolin (http://code.google.com/p/altaimpedancia/wiki/rolin) el cual consiste en un carro controlado inalambricamente ya sea desde un dispositivo mobil (celular) gracias a un routert wrt54gl el cual tiene como sistema operativo (embebido) openwrt de gnu/linux

tener encuenta que este proyecto esta en desarrollo y su parte fisica no esta totalmente terminada…

Elementos para la construccion:

- routert wrt54gl con SO openwrt.

Este es el que yo utilize para el diseño, lo minimo que necesitamos es un routert el cual permita instalar gnu/linux y que tenga un puerto serial libre para poder trabajar con el. la lista de dispositivos que soportan gnu/linux como sistema operativo la podemos encontrar aqui..http://wiki.openwrt.org/toh/start

- pinguino

Tambien podemos utilizar un arduino.. pero hay que tener encuenta la posicion y el numero de los pines que vamos a utilizar (puede variar).

- dispositivo mobil

con capacidad de conexión wireless capas de correr alguna aplicación de conexión remota ssh

- 2 x resistencias 330 ohm

- 2 x diodos de switcheo 1n4148

- 2 x baterias recargables hasta de 12v a 600mA

- 1 x regulador de 5V (7805)

- cable para las conexiones (utp)

- una tabla (triple) de 15*15 cm, esta es del tamaño del routert.

- un pedazo de neumatico el cual recubrira las llantas.

Construccion:

para realizar la comunicacion entre el pinguino y el routert wrt nos guiamos en esta documentacion el cual ya ha sido probada y funciona perfectamente :D https://sites.google.com/site/pinguinotutorial/wrt54gl es una buena idea primero hacer esta prueba para probar la conexion con el pinguino y asi verificar que funciona

la segunda parte es montar la estructura y montar los servo motores para esta parte subo unas fotos el cual los pueden guiar. es sencillo por eso creo que no es necesario casi explicar (una imagen habla mas que mil palabras XD)

la rueda loca es la que permite que el carro gire en cualquier direccion con el minimo rozamiento en el suelo el thing de la llanta loca esta en thinguiverse en el siguiente enlace http://www.thingiverse.com/thing:9884/ , es un sistema sencillo

el servo motor ha sido montado con las llantas en la tabla, estos no han sido atornillados ni nada por el estilo, solo han sido pegados a la tabla con algun pegante (sintesolda)

las llantas han sido atornilladas a la mariposa del servo motor el diseño de las llantas tambien esta en thinguiverse http://www.thingiverse.com/thing:9886 o pueden usar su propio diseño!!! :D

Software

en esta parte las herramientas necesarias son:

- Ide para la programacion de pinguino

- algun cliente SSH para dispositivos mobiles podemos usar:

 
 -midssh (libre)
 -paderSyncSSH (privativo)

- codigo para el pinguino, el que nos permitira realizar la conexion con el puerto serial del pinguino y asi poder hacer funcionar los servomotores

- picocom: emulador de terminal el cual ira instalado en el openwrt del routert

lo primero es grabar en el pinguino el codigo que en este caso nos permitira la conexion entre este y el routert. tenemos los servo motores conectador a los pines 0 y 1 del pinguino

calinwire.pde
/*
 realizado por : heberth alexander ardila
 heberthardila@gmail.com
 
 wiki http://liure.uk.to
 
 version 0.1
*/
int caractere;  // dato que recibiremos por el puerto serial 
 
void setup()
{
  servo.attach(0); // inicializacion de los pines con los que vamos a trabajar los servos
  servo.attach(1);
  Serial.begin(9600); // graduacion de la velocidad con el puerto serial
 
}
 
// funcion que mueve hacia adelante
void adelante()
{
  servo.setMaximumPulse(0);
  servo.setMinimumPulse(1);
}
 
// funcion que mueve hacia atras
void atras()
{
  servo.setMaximumPulse(1);
  servo.setMinimumPulse(0);
}
 
// funcion que mueve hacia la derecha
void derecha()
{
  servo.setMinimumPulse(1);
  servo.setMinimumPulse(0);
}
// funcion que mueve hacia la izquierda
void izquierda()
{
 servo.setMaximumPulse(1);
 servo.setMaximumPulse(0);
}
 
void loop()
{ 
  if (Serial.available())   // nos damos cuenta si el puerto serial esta activo
  {
    caractere=Serial.read();  // recibimos el dato  del puerto serial (puede ser 2, 4, 6, 8)  que sera el sentido
 
    if(caractere=='2')  // dependiendo de la opcion recogida  hacia aya iremos
    {
      adelante();
    }
 
    if(caractere=='8')
    {
     atras();
    }
 
    if(caractere=='4')
    {
     izquierda();
    }
 
    if(caractere=='6')
    {
      derecha();     
    }
    if(caractere=='0')
    {
       derecha();
       delay(100);
       izquierda();
    }
  }
}

instalamos en el routert picocom

opkg install picocom

para hacer una prueba, prendemos el routert y nos conectamos directamente al puerto serial del pinguino con picocom, el comando seria:

picocom /dev/tts/1

por aqui un video en el que masomenos trato de explicar lo de la comunicacion

http://www.youtube.com/watch?v=wAnK3OEIv4o

estamos trabajando con el puerto numero 1 del routert, las teclas para el control del carro son los numeros 4. izquierda 6. derecha 8. arriba 2. abajo

son las direccions como se manejara Y LISTO!! hemos culminado nuestro proyecto :D alguna duda en la construccion .. comunicacion y demas comentarios se pueden comunicar con migo

heberthardila@gmail.com

calinwire.txt · Última modificación: 2014/07/30 21:23 (editor externo)
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki