Descripció de l’activitat
En aquesta activitat us proposem construir un vehicle utilitzant la placa ESP32 STEAMakers i la placa d’extensió Imagina 3DBot. El vehicle incorpora dos seguidors de línia, un sensor d’ultrasons i dos motors amb roda. Per fer les peces necessàries, trobareu els arxius en format svg per poder tallar-les amb làser i l’arxiu en format stl per poder imprimir-les amb una impressora 3D.
Material necessari
- Placa ESP32 STEAMakers.
- Placa d’extensió Imagina 3DBot.
- Components (es poden trobar als conjunts de sensors i actuadors primària i bàsic secundària):
- Sensor d’ultrasons
- 2 sensors seguidors de línia
- 2 motors amb roda
- 2 cables GVS
- 4 cables dupont femella-femella
- Xassís del vehicle (arxius a l’apartat descàrregues).
- 4 caragols de diàmetre 3 mm i 25 mm de longitud.
- 5 caragols de diàmetre 3 mm i 15 mm de longitud.
- Cinta aïllant de color negre per fer el circuit sobre una superfície blanca (o bé, circuit imprès).
Orientacions pedagògiques
Per muntar el vehicle calen alguns components auxiliars. Si teniu el conjunt de primària o el de secundària bàsic, feu tants grups com us permeti el nombre de conjunts que tingueu. Cada alumne pot fer la programació de manera individual o treballar en grups.
Elements de programació
- Seqüències bàsiques
- Bucles
- Condicionals
- Operadors
- Variables
- Programació per blocs (vertical)
Eix | Àrea | Matèria
SEC – Tecnologia i Digitalització
Competències específiques
CE02 – Planificar, dissenyar i desenvolupar solucions a problemes tecnològics amb autonomia i actitud creativa, tot aplicant el procés tecnològic, coneixements interdisciplinaris i treballant de manera ordenada i cooperativa, per resoldre problemes o necessitats de manera eficaç, innovadora i sostenible.
Sabers
Iniciació a la robòtica. Muntatge i control programat de robots o dispositius programables de manera física o mitjançant simuladors.
Muntatge del vehicle
1. Abans de començar a muntar el vehicle, caldrà que talleu amb làser o imprimiu en 3D les peces necessàries per fer el xassís. Si talleu amb làser, es recomana que utilitzeu fusta DM de 3 mm de gruix. Com que el gruix de la fusta que tingueu pot no ser exactament de 3 mm, trieu els arxius en funció del gruix de la vostra fusta. És important que les peces encaixin de manera ferma, sense que hi hagi joc. Si el gruix fos excessiu, podeu polir les peces amb paper de vidre.
2. Munteu el vehicle seguint aquestes instruccions:
Programació del vehicle
Un cop tingueu el vehicle muntat, comenceu amb la programació. La programació que fareu serà per aconseguir que el vehicle sigui capaç de seguir una línia de color negre i que s’aturi quan detecti un obstacle al seu davant.
1. Aneu a arduinoblocks i comenceu un nou projecte Trieu el tipus:

Per facilitar el treball posterior, el primer que fareu és crear tres variables que serviran per configurar la resposta del vehicle: “Dreta”, “Esquerra” i “distància”. Aneu a la secció “variables”, feu clic a “Crea una variable (nombre)” i creeu la variable “Distància”. Per crear les variables “Dreta” i “Esquerra”, trieu l’opció “Crea una variable (Booleà)”:

2. Al bloc “Bucle”, comenceu assignant valors a les variables. Aneu a la categoria “variables” i arrossegueu a dins del bloc “Per sempre” l’opció “Establir distància = 0” i “establir esquerra = cert” (aquesta la duplicareu per poder treballar amb la dreta i amb l’esquerra). Assigneu els següents valors a cadascuna de les variables:
- distància: de la categoria 3DBot, busqueu el bloc “Distància”:

- Dreta i esquerra: de la categoria “Sensors”, busqueu el bloc “Segueix línies (IR)”:

A l’exemple, s’estan utilitzant els pins 27 (D6) per al sensor de seguiment de línia IR de la dreta i 16 (D5) per al sensors de seguiment de línia IR de l’esquerra. També podeu utilitzar els blocs de seguiment de línia que trobareu a la categoria 3D Bot.
L’assignació de valors a les variables us ha quedar així:

3. Comenceu la programació amb un condicional que faci que el vehicle s’aturi si detecta un objecte a una determinada distància (a l’exemple 6 cm). De la categoria “Lògica” trieu el bloc “si…fer” i feu que si la variable “distància” té un valor menor o igual a 6 cm, el vehicle s’aturi (el bloc “… <=…” el trobareu a la categoria “Matemàtiques”). Per fer-ho, de la categoria “3DBot” trieu els blocs “Motor Dreta Parar” i “Motor Esquerra Parar”. També podeu utilitzar el bloc “Moure” i triar “parar”. En aquest exemple treballarem amb els motors per separat, perquè això us permetrà tenir més control i precisió en els moviments del vehicle. També hi podeu posar un temps d’espera al final:

4. Amb aquesta condició, si el sensor d’ultrasons detecta un objecte a 6 cm o menys, s’aturarà. A continuació, configureu el moviment dels motors en funció d’allò que detectin els seguidors de línia:

5. Configureu el condicional i el funcionament dels motors per al cas 1 (els dos seguidors detecten negre):
Per començar, feu clic al símbol més perquè us aparegui l’opció “si no, si” i amb el bloc de la categoria de matemàtiques “…>…” poseu distància > 6″:

6. A continuació, situeu un nou condicional i un bloc de comparació booleà “… i …” que trobareu a la categoria “Lògica” i els valors de les variables “Dreta” i “Esquerra” a banda i banda:

7. Seguidament, programareu quina ha de ser la resposta dels motors quan es dona aquesta condició, és a dir, quan les dues variables són certes (el seguidor de línia de la dreta i el de l’esquerra estan detectant el color negre), el vehicle ha d’anar endavant, feu que els dos motors vagin endavant a màxima potència:

8. Feu clic a “+” per desplegar més opcions per al condicional. Configureu ara el cas 2, és a dir, què han de fer els motors quan el sensor esquerre no detecta el color negre i el dret sí. Per fer-ho, torneu a seleccionar el comparador booleà “… i …” de la categoria “Lògica” i també el bloc “no”. Quan passi això, heu de tornar a dirigir el vehicle cap a la línia, per tant, el motor esquerra haurà de tenir més potència que el dret, per provocar un gir a la dreta. A l’exemple, per fer que aquest gir sigui ben ràpid, fem que el motor esquerre giri endavant a màxima potència i el dret giri endarrere a potència alta. Això farà que el gir cap a la dreta es produeixi ràpidament:

També ho podeu fer amb el bloc “Moure” i seleccionant “girar dreta”.
9. Programeu la resposta per al cas 3, és a dir, què han de fer els motors quan el sensor esquerre detecta negre i el sensor dret detecta blanc. És una programació anàloga a l’anterior:

També ho podeu fer amb el bloc “moure” i seleccionant “girar esquerra”
10. Per últim, heu de programar el cas 4, és a dir, la resposta dels motors quan es doni la situació que cap dels dos sensors està detectant el color negre. En aquest cas, fareu retrocedir el vehicle per tornar a buscar la línia negra. Disminuïu la velocitat per facilitar que, si passa de nou per la línia negra, tingui temps de fer la lectura:

També ho podeu fer amb el bloc “moure” i seleccionant “enrere”.
La programació sencera ha de quedar així:

Recomanacions
Tall làser: Les dimensions del xassís del vehicle permeten que es puguin tallar 4 vehicles en taulers de dimensions DINA4 o 6 vehicles en taulers de 35 x 35 cm.
Seguidors de línia: els seguidors de línia tenen un potenciòmetre que podeu utilitzar per calibrar-los i afinar el seu funcionament. Si veieu que la identificació del color blanc i negre no acaba de ser correcta, proveu d’ajustar-los:

Caragols: Haureu d’adquirir els caragols de mètrica 3 mm de diàmetre. És important que respecteu el diàmetre, ja que és el que tenen els forats dels motors. També és important que la longitud dels caragols que subjecten els motors sigui 25 mm; si són més llargs, sobresortiran i toparan amb la roda.
Proposta per treballar a l’aula
Us oferim una proposta de treball amb aquest vehicle que es va presentar a la jornada Connectem amb les plaques!
🔹 Construeix el teu robot amb ESP32 STEAMakers i Imagina 3DBot, elaborada pel Denis Serrano i el Siscu Morales.



