#Bibliobot - Kit de robótica

Introducción

Daniel Cuartas Tallerista #Bibliolabs
Anderson Silva Técnico cultura digital P.B. San Antonio de Prado
Mariluz García Técnico cultura digital P.B. España
Camilo Giraldo Técnico cultura digital Biblioteca El Limonar
Cristian Hernández Técnico cultura digital P.B. San Javier

Procedimiento

  • Chasis rígido
  • Motoreductores
  • Llantas
  • Rueda loca
  • Arduino UNO
  • Shield #Bibliobot
  • Set de baterias lipo
  • Portabaterias
  • Computador con Arduino IDE
  • Cable vehicular o ribbon
  • Módulo Bluetooth
  • Módulo sensor ultrasonido
  • Cautín
  • Soldadura de Sn/Pb

El #Bibliobot se construyó en varias etapas, primero se estudiaron los sistemas existentes y se trabajaron diferentes retos con estos dispositivos comerciales en el grupo de experimentación tecnológica de #Bibliolabs a esto se le llama el Estado del arte y es donde se estudian las ventajas y falencias de los dispositivos usados actualmente.

Luego de estudiar los dispositivos comerciales se realizó una lista de necesidades y se reconoció el conocimiento previo que tenían los integrantes del grupo de trabajo que pudieran aportar para la construcción de este, algunos participantes ya tenían conocimiento de programación y electrónica, otros ya habían utilizado drivers o habían experimentado con la creación de aplicaciones para dispositivos móviles o el diseño industrial. Luego de encontrar estas fortalezas en el equipo, se procedío a crear los diseños iniciales de lo que sería el robot abierto de #Bibliolabs.

Primero se diseñó en papel y luego se buscaron las piezas electromecánicas económicas pero que cumplieran a cabalidad la funcionalidad deseada, a partir de allí se creó un modelo 3D en el que se podía ver el concepto ensamblado y corregir problemas que pudieran generarse antes de construir el primer prototipo

El primer componente fue probado inicialmente usando la mecánica de otro robot para hacer una prueba de concepto y verificar que la programación y la electrónica estuviera funcionando de manera adecuada, al igual que los primeros prototipos de la App #Bibliobot Para esto se montó primero el circuito en una placa de prototipos o protoboard con conexiones temporales que luego se reemplazaran por un circuito impreso o PCB y conexiones permanentes.

Para el prototipo se usó una placa de acrílico transparente para poder ubicar bien los tornillos y demás elementos viendo, desde todas las perspectivas, la ubicación de agujeros, la técnica del chasis transparente funciona bastante bien para un primer prototipo.

Y aunque tuvimos algunos accidentes el #Bibliobot continuó su camino

Luego de probar que todo lo electrónico y mecánico funcionada adecuadamente se procedió a realizar un PCB prototipo por medio de la técnica de transferencia de toner. Con un microscopio se revisaron las pistas para corregir errores y luego perforar y soldar para posteriormente probar el diseño

Luego de montarlo en el prototipo se encontraron algunos errores de diseño, los cuales fueron corregidos, probados y se hicieron los circuitos impresos permanentes

Los elementos fueron soldados y se cortaron unas placas de polietileno que se encontraban en una bodega, así que se usaron, como chasis, materiales reciclados.

Esquemático

/*
 *   ---#Bibliolabs---

  Programa para el kit de robotica #Bibliobot

  Creado por el grupo de Experimentación Tecnológica del
  Sistema de Bibliotecas Públicas de Medellín

  Anderson Silva - P.B. San Antonio
  Mariluz García - P.B. España
  Camilo Giraldo - B. El Limonar
  Daniel Cuartas Quiceno  - Tallerista #Bibliolabs
 * 
 */

int izqA = 7; 
int izqB = 10; 
int derA = 12; 
int derB = 11; 
int vel = 255;            // Velocidad de los motores (0-255)
int estado = 'g';         // inicia detenido


void setup()  { 
  Serial.begin(9600);    // inicia el puerto serial para comunicacion con el Bluetooth
  pinMode(derA, OUTPUT);
  pinMode(derB, OUTPUT);
  pinMode(izqA, OUTPUT);
  pinMode(izqB, OUTPUT);
  pinMode(13,OUTPUT);
} 

void loop()  { 

  if(Serial.available()>0){        // lee el bluetooth y almacena en estado
    estado = Serial.read();
  }
  if(estado=='a'){           // Boton desplazar al Frente
    analogWrite(derA, vel);  
    analogWrite(izqA, vel);   
    analogWrite(derB, 0);     
    analogWrite(izqB, 0); 
     
  }
  if(estado=='b'){          // Boton IZQ 
    analogWrite(derB, 0);     
    analogWrite(izqB, 0); 
    analogWrite(derA, 0);  
    analogWrite(izqA, vel);      
  }
  if(estado=='c'){         // Boton Parar
    analogWrite(derB, 0);     
    analogWrite(izqB, 0); 
    analogWrite(derA, 0);    
    analogWrite(izqA, 0); 
  }
  if(estado=='d'){          // Boton DER
    analogWrite(derB, 0);     
    analogWrite(izqB, 0);
    analogWrite(izqA, 0);
    analogWrite(derA, vel);  
  } 

  if(estado=='e'){          // Boton Reversa
    analogWrite(derA, 0);    
    analogWrite(izqA, 0);
    analogWrite(derB, vel);  
    analogWrite(izqB, vel);      
  }
  

  if(estado=='f'){          // Boton OFF, detiene los motores no hace nada 
     analogWrite(derB, 0);     
     analogWrite(izqB, 0); 
     analogWrite(derA, 0);    
     analogWrite(izqA, 0);
  }
}

 /*
 *   ---#Bibliolabs---

 Programa para configurar el mòdulo bluetooth del #Bibliobot

 Creado por el grupo de Experimentación Tecnológica del
 Sistema de Bibliotecas Públicas de Medellín

 Conexiones:
  Arduino  Bluetoth
  5V        VCC
  GND       GND
  PIN 2     TX
  PIN 3     RX
 * 
 */

#include <SoftwareSerial.h>
SoftwareSerial blue(2, 3);   //Crea conexion al bluetooth 

char NOMBRE[21] = "Bibliobot"; // Nombre de 20 caracteres maximo
char BPS        = '4';     // 1=1200 , 2=2400, 3=4800, 4=9600, 5=19200, 6=38400, 7=57600, 8=115200 - Velocidad de comunicaciòn
char PASS[5]    = "1234";   //  CLAVE de 4 caracteres numericos     
 
void setup()
{
    blue.begin(9600); // comunicacion serial a 9600 Baudios 
    
    pinMode(13,OUTPUT);
    digitalWrite(13,HIGH); // Enciende el LED durante 4s antes de configurar el Bluetooth
    delay(4000);
    
    digitalWrite(13,LOW); // Apaga el LED para iniciar la programacion
    
    blue.print("AT");  // Inicializa comando AT
    delay(1000);
 
    blue.print("AT+NAME"); // Configura el nuevo nombre 
    blue.print(NOMBRE);
    delay(1000);           // espera 1 segundo
 
    blue.print("AT+BAUD"); // Configura la nueva velocidad 
    blue.print(BPS); 
    delay(1000);
 
    blue.print("AT+PIN");  // Configura el nuevo PIN
    blue.print(PASS); 
    delay(1000);    
}
 
void loop()
{
    digitalWrite(13, !digitalRead(13)); // cuando termina de configurar el Bluetooth queda el LED parpadeando
    delay(300);
}

En el siguiente enlace puedes descargar la aplicación que sirve para controlar el Bibliobot por medio de Bluetooth, dicha aplicación es compatible con dispositivos Android.

APK #Bibliobot

Implementación

Observaciones/Comentarios

El #Bibliobot se ha convertido en una plataforma de robótica flexible que permite a la persona que está aprendiendo con él elementos de electrónica, programación, automatización, mecánica entre otras habilidades, estos elementos al estar fundamentados en la filosofía Open-Source o código abierto, pueden ser consultadas en las comunidades abiertas que discuten estos temas, con este dispositivo y sus herramientas se promueve el aprendizaje autónomo.

Segunda Versión - Kit de Robótica #BIBLIOBOT

Luego de recibir la realimentación y crear un nuevo modelo dentro de los grupos de experimentación del Sistema de Bibliotecas Publicas y se decide crear un kit de robótica, inicialmente con 4 kits por biblioteca

se implementará inicialmente en 10 bibliotecas

El kit cuenta con los siguientes materiales:

  • Kit cables conexión fácil M/M premium 10pcs
  • Kit cables conexión fácil H/H premium 10pcs
  • Kit cables conexión fácil M/H premium 10pcs
  • LEDs 5mm (Colores surtidos- Alta intensidad)
  • Suiche Pulsador 5mm 4 pines
  • Paquetes x 10 de resistencias 1/4W (100,220,330,1K, 10K, 1M)
  • Shield Motor Driver con L293D
  • Cable vehicular calibre 22
  • Micro Servo Tower pro 9g
  • Kit Motorreductor + Rueda
  • Rueda de Apoyo-DIY
  • Batería litio 3,7V 4000 mAh (18650)
  • Portapilas para batería 18650
  • Cargador inteligente para baterías de litio 18650 de 3.6-3.7V
  • Sensor ultrasónico HCSR04
  • Tarjeta compatible Arduino Uno Rev3 con cable USB
  • Sensor óptico reflectivo CNY70
  • Buzzer-Voltaje variable
  • Potenciometros (valores varios: desde 1K hasta 500K)
  • Pulsadores enclavables
  • Adaptador 12V - 1.5A centro positivo
  • Módulo Bluetooth HC06
  • Sensor de Humedad del suelo
  • Protoboard mini
  • Chasis Robot Car – Circular
  • Fotorresistencias (5mm)
  • Transistor PNP 60V 600mA TO-92
  • Tarjeta con 2 relevos y optoacopladores
  • Capacitores cerámicos (valores varios-tipo through hole)
  • Capacitores electroliticos 25V (.1uF, 4.7uF,1uF, 470uF 140 de cada referencia)
  • Sensor analógico de temperatura LM35
  • Kit de cables caimán-caimán (10 CAIMANES)
  • Teclado matricial de membrana (16 teclas 4×4)
  • Parallel Gripper Kit A
  • Shield #BIBLIOBOT

Se diseña también la caja que contendrá estos elementos

Algunas referencias de diseño que fueron tomadas en cuenta en el desarrollo:

En el grupo de experimentación se trabajan ejemplos que usan estos materiales para capacitar a los tecnicos de Cultura Digital para poder trabajar estos kits con la comunidad