Diferencia entre revisiones de «Robot bajo costo controlado WiFi»
| 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
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)
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".
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.
En la máquina HOST (sobre el robot)'
Debemos activar el servidor VNC: 'Aplicaciones' -> 'Internet' -> X11VNC Server
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




