Teach ikasgaia
Arduino Visual robota (1/4): lehen mugimendu segurua
Programatu benetako Arduino robota blokeekin: egin mugimendu laburrak, probatu abiatzea eta gelditzea, eta jaso kameran ikusitako ebidentzia.
Hasi saioa irakasle-kontu batekin klase-saioa prestatzeko. Ikasleak klase-kode batekin sartzen dira.
Lehen aldia duzu LabsLand-en? Sortu irakasle-kontua
Ikaskuntza-emaitzak
Benetako robot mugikor bat motorren eta denboraren blokeekin programatzea.
Ezkerreko eta eskuineko gurpilen abiadurak aurrera egitearekin, biratzearekin eta gelditzearekin lotzea.
Benetako robotean exekutatutako programa baten ebidentzia behagarria jasotzea.
Ikaslearen jardueraren aurrebista
Jardueraren edukia
Aurrebista soilik. Klase-saio batean, ikasleek erantzunak bete eta lana irakasleari bidal diezaiokete.
Robota mugitu aurretik
8 min
Programatu aurretik, identifikatu atal bakoitzaren eginkizuna. Ikasgai hauetan robotaren motorrak, LEDak, lerro-sentsoreak eta hurbiltasun-sentsoreak erabiliko dituzu, baita laborategiko web-interfazean agertzen diren A/B/C botoiak ere.
Robotaren atalak eta pantailako kontrolak bereizteko orientazio-eskema.
Bi motor dituen robota aurrera mugitu, biratu edo gelditu daiteke, gurpil bakoitzaren abiaduraren arabera. Laborategi honetan blokeak erabiliko dituzu, programa egiaztatuko duzu eta benetako robotera kargatuko duzu.
Mugimendu laburrekin egingo dugu lan:
- Poliki aurrera egin.
- Mugitu ondoren beti gelditu.
- Gurpil bakarrarekin biratu, edo bi gurpilak kontrako noranzkoetan biraraziz.
- Kameran ikusitakoa idatzi.
Aurreikusi zer egingo duen robotak ezkerreko eta eskuineko motorren abiadura-balioak 150 badira segundo erdiz, eta gero biak 0 bihurtzen badira. Azaldu, halaber, zergatik komeni den amaieran bi motorrak 0 jartzen dituen geldialdi-blokea gehitzea.
Sortu lehen mugimendua
22 min
Ireki Robot arduino (visual) laborategia.
Robotaren editoreak lehen zatiko plakaren editorearen egitura bera du: ezkerrean blokeen kategoriak daude, eta goian Egiaztatu / konpilatu eta Robotean kargatu botoiak. Robotaren kategoriak ere badaude: Motoreak, LEDs, Botoiak, Ingurunea —hurbiltasun-sentsoreetarako— eta Lerro sentsoreak. Zenbait bloke gaztelaniaz edo ingelesez agertzen dira.
Arduino configuración —ingelesez, Arduino run first— hasieran behin bakarrik exekutatzen da. Arduino bucle infinito —Arduino loop forever— etengabe errepikatzen da. Saio honetan, mugimendua lehen atalean jarriko duzu behin bakarrik egiteko; begiztak bi motorrak 0 mantenduko ditu.
Ireki robotaren editore bisuala. Kategoriak ezkerrean daude; Egiaztatu / konpilatu eta Robotean kargatu botoiak, goian.
Aukeratu erabilgarri dagoen lehen robota, edozein zirkuitutakoa: ingelesez, First available robot (of any type of circuit) / Any circuit. Euskarazko aukera Lehen eskuragarri dagoen robot… hitzekin hasten da. Egiaztatu kameran leku librea dagoela.
Bilatu Arduino bloke morearen bi atalak: Arduino configuración / Arduino run first behin exekutatzen da programa kargatu edo berrabiarazi ondoren; Arduino bucle infinito / Arduino loop forever errepikatu egiten da.
Hasierako konfigurazioan, jarri bi motorrak 0 eta itxaron 2000 milisegundo, mugimendua hasi aurretik kamerari begiratu ahal izateko.
Atal berean, jarri bi motorrak 150, itxaron 500 milisegundo eta jarri berriro 0.
Begizta etengabean, jarri bi motorrak 0 ezartzen dituen bloke bat bakarrik. Ez jarri hor mugimendu-sekuentzia.
Egiaztatu, kargatu eta behatu aurreranzko mugimendu laburra. Jarraitu begiratzen gutxienez beste 3 segundoz: robotak geldirik jarraitu behar du.
Programa berriro kargatzean edo berrabiaraztean, beste saiakuntza bakar bat hasiko da. Errepikatu aurretik, egiaztatu leku librea dagoela. Mugimendua kameran ikusi ezin izan baduzu, idatzi hori, eta errepikatu robota ikusten denean bakarrik.
Klase-saio batean erabilgarri
Motorrak kontrolatzeko blokea Cambiar la velocidad de los motores da; ingelesez, Change two motors speed. Izquierdo / Left ezkerreko motorra da, eta Derecho / Right, eskuinekoa. Esperar / wait blokeak itxaroteko balio du. Hona hemen editoreko izenekin osatutako testu-erreferentzia:
Arduino configuración:
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Esperar 2000 milisegundos
Cambiar la velocidad de los motores: Izquierdo 150, Derecho 150
Esperar 500 milisegundos
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Arduino bucle infinito:
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Serieko mezu bat gehitzen baduzu, erabili lehenik Configuración blokea, Serial eta 9600 aukeratuta; gero, gehitu Escribir bloke bat, jaso nahi duzun testuarekin.
Jardueraren amaieran, taulak hiru errenkada izango ditu: aurrera egin eta gelditzeko bat, biraketaren A probarako beste bat, eta B probarako hirugarrena. Orain, lehen programa kargatu eta behatu ondoren, bete lehen errenkada bakarrik, Aurrera egin eta gelditu, eta utzi beste biak biraketen faserako. Errenkada bakoitzean, idatzi ezkerreko eta eskuineko abiadura-balioak, denbora milisegundotan, ikusitako mugimendua eta robota amaieran gelditu den ala ez.
125–150 tartea mugitzen ari den gurpilaren abiadura-balioari dagokio, zeinua kontuan hartu gabe; geldirik dagoen gurpilak 0 erabiltzen du. Bete lehen errenkada orain, eta biraketen beste biak hurrengo fasean.
| Proba | Ezkerreko motorra | Eskuineko motorra | Denbora (ms) | Ikusitako mugimendua | Amaieran gelditu al da? |
|---|---|---|---|---|---|
Deskribatu programa benetako robotean exekutatu dela erakusten duen ebidentzia zehatz bat. Adierazi zer ikusi duzun kameran eta, serieko mezua erabili baduzu, zer mezu agertu den.
Biraketa kontrolatuak
15 min
Orain probatu bi biraketa labur. Mugitzen den gurpil bakoitzaren abiadura-balioa 125 eta 150 artekoa izango da, zeinua kontuan hartu gabe, motorrak nahikoa indar izan dezan. Erabili 300 eta 700 ms arteko denborak. Gogoratu: balio negatiboak gurpila atzera birarazten du. Horregatik, gurpil batek aurrera eta besteak atzera egiten badu, robota ia bere ardatzaren inguruan biratzen da.
A proba:
Arduino configuración:
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Esperar 2000 milisegundos
Cambiar la velocidad de los motores: Izquierdo 150, Derecho -150
Esperar 400 milisegundos
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Arduino bucle infinito:
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
B proba:
Arduino configuración:
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Esperar 2000 milisegundos
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 150
Esperar 500 milisegundos
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Arduino bucle infinito:
Cambiar la velocidad de los motores: Izquierdo 0, Derecho 0
Biraketa bakoitza behatu ondoren, itzuli aurreko taulara eta bete errenkada bat A proba: bere ardatzaren inguruko biraketa izenarekin, eta beste bat B proba: kurba zabala izenarekin. Ez ezabatu aurrera egin eta gelditzeko lehen errenkada.
Alderatu bi biraketak. Zeinetan biratu da robota gehiago bere ardatzaren inguruan? Zein izan da kurba baten antzekoagoa? Erabili zure behaketa, ez teoria bakarrik.
Robota gehiegi edo gutxiegi mugitu bada, zer aldatuko zenuke lehenik: abiadura ala denbora? Justifikatu aukera.
Amaierako gogoeta
10 min
Lehen mugimenduaren ebidentzia
Entregatu zure programaren pantaila-irudi bat edo deskribapena, eta gutxienez bi probaren ebidentzia: aurrera egin eta gelditzea, eta biraketa bat. Argi geratu behar du robotak beti bi motorrak 0 ezarrita amaitzen duela.
Azaldu zergatik doan iraupen jakineko mugimendua Arduino configuración / Arduino run first atalean, eta zero abiaduraren agindua Arduino bucle infinito / Arduino loop forever atalean. Zer ikusi duzu mugimenduaren ondorengo 3 segundoetan?
Bihurtu aurrebista hau klase-saio batean
Jarraitu LabsLand Teach-era ikasgai hau ikasleekin erabiltzeko eta kontuaren sarbidea berrikusteko.
Lehen aldia duzu LabsLand-en? Sortu irakasle-kontua