Brazo -IDE
Podemos conectar e programar servomotores no noso mClon para facerlle brazos. Aquí mostramos unha opción, pero podes deseñar outros brazos e mecanismos movidos mediante servos para resolver outros retos. Na páxina “servomotor” na sección de montaxe explicamos como montalo e conectalo.
Esta foi a primeira proba que fixemos:
Probando servo. Non hai obstáculo que se me resista! pic.twitter.com/ZiD7XNDZ3l
— mClon (@mClonRobot) 6 de novembro de 2018
Programación
Para programar o movemento do servo debes incluír a librería servo, que vén por defecto no IDE de arduino. Despois ponlle nome ao servo (no noso exemplo “brazo”) e na configuración debes indicar a que pin está conectado (no noso exemplo conectarémolo ao pin 12 do mClon) e a posición inicial da que parte.
Para dicirlle que se mova a unha posición determinada só tes que escribir nomedoservo.white(ángulo);
#include <Servo.h> // Importamos a librería servo
// Declaración de variables:
Servo brazo; // poñémoslle nome ao servo: "brazo"
// Configuración:
void setup(){
brazo.attach(12); // Indicamos que está conectado no pin 12
brazo.write(90); // O servo parte da posición de 90º
while(analogRead(A7)>100); // agardamos mentres non se pulse o botón
}
// Programa:
void loop(){
brazo.write(90);
delay (1000);
brazo.write(145);
delay (1000);
brazo.write(180);
delay (1000);
}
Coa instrución anterior o servo móvese rapidamente entre unha posición e outra. Se queremos que o movemento se realice lentamente creamos unha variable para o ángulo e pouco a pouco imos sumándolle graos. O servo moverase desde a posición inicial ata a final lentamente, a unha velocidade que depende do tempo de espera que poñamos e dos graos que vaiamos sumando á variable en cada execución das instrucións do bucle (no noso exemplo vai sumando 1 grao en cada ciclo a intervalos de 10ms).
void loop(){
// Móvese pouco a pouco desde 90º ata 180º
for(int i=90;i<=180;i++){
brazo.write(i);
delay (10);
}
delay (1000);
// Móvese pouco a pouco ata 180º ata 90º
for(int i=180;i>=90;i--){
brazo.write(i);
delay (10);
}
delay (1000);
}
Prácticas
- Fai probas de posición do servo do teu mClon a distintos ángulos, tanto con movemento rápido como lento.
Retos
- Retirando latas: Imos propoñer o reto do vídeo do principio da páxina. O mClon segue unha liña no chan e cando se atopa cunha lata debe apartala e seguir o seu camiño.
- As latas sempre na liña: Modifica o programa anterior para que no canto de retirar as latas as deixe na liña, pero pola parte de atrás, e siga o seu camiño.
- As brancas a un lado e as negras a outro: Propoñemos agora que o mClon poida distinguir entre latas brancas e negras (necesitarás un sensor na parte frontal). Cando atope unha lata branca debe retirala cara á dereita e cando sexa negra cara á esquerda. Deberás deseñar un brazo axeitado, xa que o que poñemos de exemplo só vale para retirar as latas cara un lado.
- Xogo do pañuelo: Cada robot sae dun extremo do circuíto. O primeiro que chegue á lata deberá collela, dar a volta e volver rapidamente con ela ata o punto de partida.

