- Materials necessaris:
- Impressió 3D de les parts necessàries:
- Maquinari i esquemes:
- Muntatge del robot:
- Programació de l'Arduino per al robot bípede:
- Aplicació d'Android basada en processament:
- Funcionament del robot bíped controlat per Bluetooth:
Benvingut a un altre projecte en el qual construirem un petit robot que pugui caminar i ballar. El projecte té com a objectiu ensenyar-vos a fabricar petits robots hobby amb Arduino i a programar els servomotors per a aquestes aplicacions. Al final del projecte, podreu fer aquest robot que camina i balla, que pren el comandament des d’un telèfon mòbil Android per realitzar algunes accions predefinides. També podeu utilitzar el programa (donat al final del tutorial) per manipular fàcilment les accions del vostre propi robot controlant la posició dels servomotors mitjançant el monitor sèrie. Disposar d’una impressora 3D farà que aquest projecte sigui més interessant i sembli genial. Però, si no en teniu cap, podeu utilitzar qualsevol dels serveis en línia o simplement utilitzar una mica de cartró per construir-los.
Materials necessaris:
A continuació es detallen els materials necessaris per construir aquest robot:
- Arduino nano
- Servo SG90 - 4Nos
- Pals de berg mascle
- Mòdul Bluetooth HC-05 / HC-06
- Impressora 3D
Com podeu veure, aquest robot imprès en 3D requereix de components electrònics molt mínims per mantenir el cost del projecte el més baix possible. Aquest projecte només té un propòsit conceptual i divertit i no té fins ara cap aplicació en temps real.

Impressió 3D de les parts necessàries:
La impressió 3D és una eina sorprenent que pot contribuir molt a l’hora de construir prototips o experimentar amb nous dissenys mecànics. Si encara no heu descobert els avantatges d’una impressora 3D o el seu funcionament, podeu llegir la Guia per a principiants d’impressió 3D.
En aquest projecte, el cos del robot mostrat anteriorment està completament imprès en 3D. Podeu descarregar els fitxers STL des d’aquí. Carregueu aquests fitxers al vostre programari d’impressió 3D com Cura i imprimiu-los directament. He utilitzat una impressora molt bàsica per imprimir totes les peces. La impressora és FABX v1 de 3ding, que té un preu assequible amb un volum d’impressió de 10 cm cúbics. El preu barat inclou un compromís amb una resolució d’impressió baixa i sense funció de recuperació d’impressió o targeta SD. Estic fent servir un programari anomenat Cura per imprimir els fitxers STL. A continuació es mostren els paràmetres que he utilitzat per imprimir els materials. Podeu utilitzar-los o canviar-los segons la impressora.

Un cop hàgiu imprès totes les peces, netegeu els suports (si n’hi ha cap) i, a continuació, assegureu-vos que els forats de la part de la cama i la panxa siguin prou grans per encabir-hi un cargol. Si no, feu servir una agulla per fer el forat una mica més gran. Les vostres parts impreses en 3D semblaran una cosa a continuació.

Maquinari i esquemes:
El maquinari d’aquest robot biped Arduino controlat per telèfon mòbil és realment senzill. Els esquemes complets es mostren a la imatge següent

He fet servir una placa Perf per fer les connexions anteriors. Assegureu-vos que el vostre circuit també s’adapti al cap del robot. Un cop el tauler Perf estigui llest, hauria de semblar a sota.
Muntatge del robot:
Una vegada que el maquinari i les parts impreses en 3D estiguin a punt, ja podrem muntar el robot. Abans de fixar els motors, assegureu-vos de col·locar-los en els angles següents per tal que el programa funcioni perfectament.
|
Número de motor |
Lloc motor |
Posició del motor |
|
1 |
Motor del maluc esquerre |
110 |
|
2 |
Motor del maluc dret |
100 |
|
4 |
Motor del turmell dret |
90 |
|
5 |
Motor del maluc dret |
80 |
Aquests angles es poden configurar mitjançant el programa que es dóna al final del tutorial. Simplement pengeu el programa al vostre Arduino després de realitzar les connexions anteriors i escriviu el següent al monitor sèrie (Nota: la velocitat en bauds és de 57600).
1, 100, 110
2.90.100
4.80,90
5.70,80
El vostre monitor sèrie hauria de tenir un aspecte semblant a això després de col·locar tots els motors en posició.


Un cop ajustats els motors en els angles corresponents, munteu-los tal com es mostra a la figura anterior.
Si esteu confós sobre com muntar els motors, seguiu el vídeo al final d’aquest tutorial. Un cop muntat el robot, és hora de programar el nostre robot que balla
Programació de l'Arduino per al robot bípede:
Programar el robot BBB ( Bluetooth Biped Bob ) és la part més interessant i divertida d’aquest tutorial. Si sou molt bons programant servomotors amb Arduino, us recomanaria que feu el vostre programa. Si voleu aprendre a utilitzar servomotors per a aplicacions robotitzades com aquesta, aquest programa us serà molt útil. Podeu obtenir més informació sobre la programació arduino a la nostra categoria de projectes arduino.
El programa complet es dóna al final d’aquest tutorial o podeu descarregar el codi complet des d’aquí. A continuació explicaré els segments del mateix. El programa és capaç de controlar les accions dels robots mitjançant un monitor sèrie o Bluetooth. També podeu fer els vostres propis moviments controlant cada motor individual mitjançant el monitor sèrie.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Les línies de codi anteriors s’utilitzen per esmentar quin servomotor està connectat a quin pin de l’Arduino. En aquest cas, el Servo 1,2,4 i 5 estan connectats als pins 3,5,9 i 10 respectivament.
Bot_BT.begin (9600); // iniciar la comunicació Bluetooth a 9600 baudrate Serial.begin (57600);
Com s’ha dit anteriorment, el nostre robot ambulant pot treballar amb ordres Bluetooth i també des d’ordres des del monitor sèrie. Per tant, la comunicació serial Bluetooth funciona amb una velocitat de transmissió de 9600 i la comunicació en sèrie funciona amb una velocitat de transmissió de 57600. El nom del nostre objecte Bluetooth aquí és "Bot_BT".
interruptor (motor) {cas 1: // Per a un motor {Serial.println ("Executant un motor"); if (num1
La caixa d’interruptors que es mostra anteriorment s’utilitza per controlar els servomotors individualment. Això us ajudarà a fer els vostres propis moviments creatius amb el vostre robot. Amb aquest segment de codi, simplement podeu indicar el número del motor, des de l’angle fins a l’angle, per fer que un motor concret es mogui a la ubicació desitjada.
Per exemple, si volem moure el motor número 1 que és el motor del maluc esquerre de la seva ubicació predeterminada de 110 a 60 graus. Simplement podem escriure “1.110,60” al monitor sèrie d’Arduino i prémer enter. Això us serà útil per fer els vostres propis moviments complexos amb el vostre robot. Un cop hàgiu experimentat amb tots els àngels i angles, podeu fer els vostres propis moviments i repetir-los fent-ho en funció.
if (Serial.available ()> 0) // Llegiu el que ve a través de Serial {gmotor = Serial.parseInt (); Serial.print ("número seleccionat->"); Serial.print (gmotor); Serial.print (","); gnum1 = Serial.parseInt (); Serial.print (gnum1); Serial.print ("grau"); gnum2 = Serial.parseInt (); Serial.print (gnum2); Serial.println ("grau"); bandera = 1; }
Si hi ha dades de sèrie disponibles, el número anterior al primer “,” es considera gmotor i el número anterior al segon “,” es considera gnum1 i el número posterior al segon “,” es considera gnum2.
if (Bot_BT.available ()) // Llegiu què entra per Bluetooth {BluetoothData = Bot_BT.read (); Serial.print ("Entrant de BT:"); Serial.println (BluetoothData); }
Si el Bluetooth rep informació, la informació rebuda s’emmagatzema a la variable “BluetoothData”. A continuació, es compara aquesta variable amb els valors predefinits per executar una acció concreta.
if (flag == 1) call (gmotor, gnum1, gnum2); // Truqueu el motor corresponent per accionar // Executeu les funcions segons la comanda rebuda a través del monitor sèrie o Bluetooth // if (gmotor == 10) left_leg_up (); if (gmotor == 11) right_leg_up (); if (gmotor == 12) move_left_front (); if (gmotor == 13) move_right_front (); if (BluetoothData == 49 - gmotor == 49) say_hi (); if (BluetoothData == 50 - gmotor == 50) walk1 (); if (BluetoothData == 51 - gmotor == 51) walk2 (); if (BluetoothData == 52 - gmotor == 52) dance1 (); if (BluetoothData == 53 - gmotor == 53) dance2 (); if (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Aquí és on es diuen les funcions en funció dels valors rebuts del monitor sèrie o del Bluetooth. Com es mostra més amunt, la variable gmotor tindrà el valor del monitor sèrie i BluetoothData el del dispositiu Bluetooth. Els números 10,11,12 fins a 53,54 són nombres predefinits.
Per exemple, si introduïu el número 49 al monitor sèrie. La funció say_hi () s'executarà on el robot us farà una salutació.
Totes les funcions es defineixen a la pàgina "Bot_Functions". Podeu obrir-lo i veure què passa realment dins de cada funció. Totes aquestes funcions es van crear experimentant des de l'àngel fins a l'àngel de cada motor mitjançant el cas de l'interruptor explicat anteriorment. Si teniu cap dubte, podeu fer servir la secció de comentaris per publicar-los i estaré encantat d'ajudar-vos.
Aplicació d'Android basada en processament:
L’aplicació Android per controlar el robot es va crear mitjançant el mode Processament Android. Si voleu fer alguns canvis a l'aplicació, podeu descarregar el programa de processament complet des d'aquí.
Si simplement voleu utilitzar l'aplicació, podeu descarregar-la des d'aquí com a fitxer APK i instal·lar-la directament al telèfon mòbil.
Nota: el vostre mòdul Bluetooth s'hauria de dir HC-06, en cas contrari l'aplicació no es podrà connectar al mòdul Bluetooth.
Un cop instal·lada l'aplicació, podeu emparellar el mòdul Bluetooth amb el vostre telèfon i després iniciar l'aplicació. A continuació, hauria de ser semblant a això.

Si voleu fer la vostra aplicació més atractiva o connectar-vos a qualsevol altre dispositiu que no sigui Hc-06. Podeu utilitzar el codi de processament i fer-hi alguns canvis i, a continuació, penjar el codi directament al telèfon.
Funcionament del robot bíped controlat per Bluetooth:
Un cop el vostre maquinari, aplicació Android i Arduino Sketch estiguin a punt, és hora de divertir-vos amb el nostre robot. Podeu controlar el robot des de l’aplicació Bluetooth mitjançant els botons de l’aplicació o directament des del monitor sèrie mitjançant les ordres següents, tal com es mostra a la imatge següent.

Cada ordre farà que el robot realitzi tasques peculiars i també podeu afegir més accions basades en la vostra creativitat.
El robot també es pot alimentar mitjançant un adaptador de 12 V o també es pot alimentar mitjançant una bateria de 9 V. Aquesta bateria es pot col·locar fàcilment a sota de la placa Perf i també es pot cobrir amb el cap del robot.

El funcionament complet d’aquest robot controlat per telèfon intel·ligent es troba al vídeo següent.
