REPOSITORIO

Creouse o repositorio https://github.com/alexfilgueira/BotyBot onde se pode atopar o programa empregado no robot BotyBot.

Neste repositorio atópase o programa principal do robot ademais de programas empregados durante o desenvolvemento do mesmo. Estes programas presentanse de forma independente porque penso que poden ser útiles para realizar calquera tipo de aplicación.

Entre os programas mencionados atópanse algúns cos cales se poden controlar os sensores descritos neste artigo. Tamén hai programas para controlar motores e servomotores, programas nos que se implantan reguladores PID, ou outros empregados no manexo dun módulo Bluetooth.

O código está aloxado en GitHub que é unha forxa basada en GIT. Este permite realizar control de versións sobre o código empregado.

A páxina permite aloxar código gratuitamente, pero este ten que estar dispoñible publicamente. Se se require espazo para aloxamento privado é necesario realizar un pago.

SENSORES

A selección e a instalación dos distintos sensores no robot é unha das tareas máis complexas, xa que estes determinarán a capacidade de recoñecemento do entorno por parte do robot.

Empréganse 3 sensores distintos no robot, os cales se clasifícan en 2 grupos.

O primeiro grupo de sensores emprégase para detectar obstáculos a media-longa distancia. Os sensores escollidos neste grupo son:

Sensores de Infravermellos SHARP GP2D os cales teñen un rango de medida de entre 10 e 80 cm. Estes sensores aliméntanse a 5V. Constan de 3 cables, normalmente:

  • Vermello –> 5V (+)
  • Negro –> GND (-)
  • Branco –> Saída analóxica.

A saída analóxica pode conectarse directamente a unha entrada analóxica dun microcontrolador ou a unha tarxeta Arduino ou similar.

Na imaxen seguinte pode verse a gráfica ofrecida polo fabricante a cal indica a “suposta” distancia á que se atopa un obstáculo do sensor en función da tensión emitida por este. Digo “suposta” porque a tensión emitida por estes sensores varía enormemente en función do material do obxecto ou do ángulo no que reflicte o faz infravermello.

ImaxeNeste link pode accederse a 2 programas para Arduino que permiten traballar cos sensores SHARP.

O outro tipo de sensores empregados para detectar obstáculos a media-longa distancia son os de ultrasóns HC-SR04.

Estes sensores ofrecen un rango de medida entre 2 a 400 cm e precisan unha tensión de alimentación de 5V. A súa conexión é a través de 4 pins:

  • Vcc –> 5V (+)
  • Trig –> Saída dixital.
  • Echo –> Saída dixital.
  • GND –> GND (-)

Estos sensores, máis complexos que os anteriores, permiten, empregando as librerías correctas, obter a distancia ao obxeto sen ter que consular ningunha táboa.

Importante ter en conta a conexión dos pins Echo e Trig. No programa que se pode ver aquí, os pins aos que se conectan estes veñen definidos na líña:

Ultrasonic ultrasonic(6,7); //(Trigger pin,Echo pin)

No segundo grupo están os sensores empregados para seguir lineas no chan. Isto é preciso para realizar probas de robots segue-liñas.

Os sensores elixidos son os CNY-70. Estes teñen un rango de medida que varía entre 0 e 5 mm. Por isto teñen que ir situados moi preto da superficie a sensar. A súa alimentación é a 5V.

O seu conexionado pode ser o seguinte:

ImaxeCo circuíto mostrado na imaxen anterior, pode medirse nunha entrada analóxica dun microcontrolador a tensión ofrecida por este sensor.

  • Vcc –> 5V (+)
  • GND –> GND (-)
  • J1 –> Saída analóxica.

Con este programa pode medirse o valor de tensión a saída do sensor e evaluar que valor é o óptimo para diferenciar as liñas ou as marcas do resto da superficie.

Que a saída do sensor se lea de forma analóxica é unha mellora respecto a circuítos que ofrecen a saída dunha forma dixital, xa que os valores de cambio de cor poden regularse para cada circunstancia.