Diferencia entre revisiones de «Robot bajo costo controlado WiFi»

De Huayra
Saltar a: navegación, buscar
Línea 46: Línea 46:
  
 
[[Archivo:robot_02.png]]
 
[[Archivo:robot_02.png]]
 +
 +
 +
Como primer paso, la placa Arduino deberá tener grabado el siguiente programa:
 +
 +
int incomingByte = 0; // almacenar el dato serie
 +
 +
//  MOTOR 1
 +
int E1 = 6;
 +
int M1 = 7;
 +
// MOTOR 2
 +
int E2 = 5;                       
 +
int M2 = 4;   
 +
 +
void setup() {
 +
Serial.begin(9600); // abre el puerto serie,y le asigna la velocidad de 9600 bps
 +
 +
pinMode(M1, OUTPUT); 
 +
pinMode(M2, OUTPUT);
 +
   
 +
}
 +
void loop() {
 +
 
 +
// envía datos sólo si los recibe:
 +
  if (Serial.available() > 0) {
 +
      // lee el byte de entrada:
 +
      incomingByte = Serial.read();
 +
      //muestro el dato en el monitor serial
 +
      Serial.println(incomingByte, DEC);
 +
     
 +
  }
 +
 +
  switch(incomingByte) {
 +
   
 +
    case 50: // Avanza
 +
      digitalWrite(M1,HIGH);
 +
        digitalWrite(M2,HIGH);
 +
        delay(100);
 +
        digitalWrite(M1,LOW);
 +
        digitalWrite(M2,LOW);
 +
        break;
 +
case 51:  // Retrocede
 +
        digitalWrite(E1,HIGH);
 +
        digitalWrite(E2,HIGH);
 +
        delay(100);
 +
        digitalWrite(E1,LOW);
 +
        digitalWrite(E2,LOW);
 +
        break;
 +
       
 +
case 52:  // GIRA izquierda
 +
        digitalWrite(E2,HIGH);
 +
        digitalWrite(M1,HIGH);
 +
        delay(100);
 +
        digitalWrite(E2,LOW);     
 +
        digitalWrite(M1,LOW);
 +
        break;
 +
       
 +
  case 53:  // GIRA Derecha
 +
        digitalWrite(E1,HIGH);
 +
        digitalWrite(M2,HIGH);
 +
        delay(100);
 +
        digitalWrite(E1,LOW);     
 +
        digitalWrite(M2,LOW);
 +
        break;
 +
     
 +
    default:
 +
        // si no llega ninguna orden particular, apago los motores
 +
        digitalWrite(M1,LOW);
 +
        digitalWrite(M2,LOW);
 +
        break;
 +
     
 +
}
 +
}
 +
 +
Para ello conectamos la placa por USB a una PC con Huayra y abrimos la IDE Arduino:
 +
'Aplicaciones' -> 'Programación' -> '''Arduino IDE'''
 +
 +
Hacemos clic en "'''Verificar'''" y luego en "'''Cargar'''".
 +
 +
 +
[[Archivo:idearduino.jpg]]
  
  
Línea 68: Línea 148:
 
La aplicación para comandar el robot remotamente está programada en el lenguaje [[python| Python]],
 
La aplicación para comandar el robot remotamente está programada en el lenguaje [[python| Python]],
 
utilizando el framework [[pilas| PILAS-engine]], originalmente pensado para desarrollar video-juegos, en
 
utilizando el framework [[pilas| PILAS-engine]], originalmente pensado para desarrollar video-juegos, en
este caso nos sirve para crear una interfaz vistosa.
+
este caso nos sirve para crear una interfaz vistosa. Esta aplicación debe correr en la máquina host, pero la controlamos a través del escritorio remoto VNC desde la máquina cliente.  [[xxx| aplicación T2 en GitHub]]
  
  
 
[[Archivo:T2.jpg]]
 
[[Archivo:T2.jpg]]

Revisión del 16:31 17 nov 2015

Robot de bajo costo controlado por WiFi


Archivo:Robot 00.png


Este proyecto de robótica está destinado a crear un robot de bajo costo utilizando las netbooks de Conectar Igualdad para desarrollar el software y algunos materiales reciclados para el hardware.


Independencia tecnológica El prototipo se construye totalmente con hardware y software LIBRES. Software: Huayra gnu/linux [1] + IDE Arduino original [2], incluida en Huayra. Hardware: Placa Arduino One [3] + Puente H genérico

Objetivo Brindar un proyecto de robótica de bajo costo, replicable en todo el país y pensado tanto para escuelas técnicas como para normales.


Materiales reciclados

Para la estructura del robot se utilizaron materiales reciclados.


  • 2 Motor DC con caja reductora y ruedas $150
  • 1 Placa Arduino One + Cable USB $300
  • 1 Placa Puente H $140
  • 10 Cable Reciclado
  • 2 Porta-pilas capacidad 3 pilas Reciclado
  • 2 Lectora de CD Reciclado
  • 1 Desodorante a bolilla Reciclado
  • 1 Placa Acrílica / PVC / Plástico Reciclado

Total $740 pesos (08/2015)


Robot 01.png

Archivo:Robot 02.png


Como primer paso, la placa Arduino deberá tener grabado el siguiente programa:

int incomingByte = 0; // almacenar el dato serie

// MOTOR 1 int E1 = 6; int M1 = 7; // MOTOR 2 int E2 = 5; int M2 = 4;

void setup() { Serial.begin(9600); // abre el puerto serie,y le asigna la velocidad de 9600 bps

pinMode(M1, OUTPUT); pinMode(M2, OUTPUT);

} void loop() {

// envía datos sólo si los recibe:

 if (Serial.available() > 0) {
     // lee el byte de entrada:
     incomingByte = Serial.read();
     //muestro el dato en el monitor serial
     Serial.println(incomingByte, DEC);
     
 }
 switch(incomingByte) {
   
   case 50: // Avanza 
      digitalWrite(M1,HIGH);
       digitalWrite(M2,HIGH);
        delay(100);
       digitalWrite(M1,LOW);
       digitalWrite(M2,LOW);
       break;
case 51:  // Retrocede 
       digitalWrite(E1,HIGH);
       digitalWrite(E2,HIGH);
        delay(100);
       digitalWrite(E1,LOW);
       digitalWrite(E2,LOW);
       break;
       
case 52:  // GIRA izquierda 
       digitalWrite(E2,HIGH);
       digitalWrite(M1,HIGH);
        delay(100);
        digitalWrite(E2,LOW);       
       digitalWrite(M1,LOW);
       break;
       
 case 53:  // GIRA Derecha
       digitalWrite(E1,HIGH);
       digitalWrite(M2,HIGH);
        delay(100);
        digitalWrite(E1,LOW);       
       digitalWrite(M2,LOW);
       break;
     
    default:
       // si no llega ninguna orden particular, apago los motores 
       digitalWrite(M1,LOW);
       digitalWrite(M2,LOW);
       break;
      

} }

Para ello conectamos la placa por USB a una PC con Huayra y abrimos la IDE Arduino: 'Aplicaciones' -> 'Programación' -> Arduino IDE

Hacemos clic en "Verificar" y luego en "Cargar".


Idearduino.jpg


Comando

La máquina CLIENTE (con la que comandaremos el robot) Debemos abrir la aplicación desde el menú: 'Aplicaciones' -> 'Internet' -> Visor de escritorios remotos Vamos a hacer una conección por VNC a la máquina sobre el robot, necesitamos saber su IP.


Visordeescritorioremoto.jpg


En la máquina HOST (sobre el robot)'

Debemos activar el servidor VNC: 'Aplicaciones' -> 'Internet' -> X11VNC Server


X11vncserver.jpg


La aplicación para comandar el robot remotamente está programada en el lenguaje Python, utilizando el framework PILAS-engine, originalmente pensado para desarrollar video-juegos, en este caso nos sirve para crear una interfaz vistosa. Esta aplicación debe correr en la máquina host, pero la controlamos a través del escritorio remoto VNC desde la máquina cliente. aplicación T2 en GitHub


T2.jpg