Teach ikasgaia
Arduino Visual robota (4/4): markak detektatu eta erantzun
Konbinatu mugimendua, sentsoreak, markak eta erantzuteko arauak robotaren erronka batean, bloke-programazioa erabiliz eta probako ebidentzia jasoz.
Hasi saioa irakasle-kontu batekin klase-saioa prestatzeko. Ikasleak klase-kode batekin sartzen dira.
Lehen aldia duzu LabsLand-en? Sortu irakasle-kontua
Ikaskuntza-emaitzak
Lerro-sentsoreak erabiltzea gainazal argi eta ilunei buruzko ebidentzia lortzeko.
Sarrera, erabakia eta irteera lotzen dituen portaera laburra diseinatzea.
Robota ebidentziaren eta azalpenaren arabera ebaluatzea, ibilbide perfektua eskatu gabe.
Ikaslearen jardueraren aurrebista
Jardueraren edukia
Aurrebista soilik. Klase-saio batean, ikasleek erantzunak bete eta lana irakasleari bidal diezaiokete.
Aukeratu egin dezakezun erronka
8 min
Marka beltzak erabakiak hartzeko ebidentzia izan daitezke. Erronka ez da lerro osoari zehaztasunez jarraitzea, gainazal argia eta iluna neurtzea eta erantzun fidagarria programatzea baizik. Irudian pista baten adibidea dago; proban, behean adierazitako zortzi formako zirkuitua erabiliko duzu.
Lerro-sentsoreek islatutako argia neurtzen dute. Gainazal ilunek eta argiek irakurketa desberdinak eman ohi dituzte, baina balio-tarteak robotaren eta haren kokapenaren araberakoak dira. Neurtu bi gainazalak sentsore berarekin; ez hartu ziurtzat zuriari edo beltzari dagokion balio finko bat. Atalasea behatu dituzun irakurketak bereizteko zenbakia da.
Idatzi aukeratutako erronka arau baten bidez: «Sentsoreak … detektatzen badu, robotak … egingo du; bestela, … egingo du».
Kalibratu gainazal argia eta iluna bereizteko
18 min
Urrunetik kokatzea: robota mugi dezakezu; gelako objektu fisikoak, ordea, ezin dituzu mugitu. Programa kargatzean, hautatu Zirkuitu 8 formako robotak bakarrik aukera (Only robots on 8-shaped circuits, ingelesez). Zoru zuria, lerro beltza eta horma erreferentzia finkoak dira. Bilatu robotaren aurrealdea kameran, eta begiratu leku librerik duen. Gehitu beheko kokatze-eskema. B botoia berriz sakatzen duzun bakoitzean, robotak behin egingo du aurrera, 100 ms-z; askatu botoia berriz sakatu aurretik. A eta C botoietan sakaldi bakarreko eredu bera erabil daiteke biratzeko (−125,125 edo 125,−125). Irakurri sentsoreak bi motorrak geldirik daudenean soilik. Ez eraman robota hormaren kontra irakurketa handia lortzearren; utzi kameran ikusteko moduko tartea, eta adierazi zein kokapenetan ezin duzun segurtasunez neurtu.
[Button B as stepButton] (Buttons)
[Setup Serial speed 9600]
Arduino run first:
[Change two motors speed] Left: 0 Right: 0
Arduino loop forever:
if [stepButton single press]:
[Change two motors speed] Left: 125 Right: 125
[wait] 100 milliseconds
[Change two motors speed] Left: 0 Right: 0
... irakurri sentsoreak eta erakutsi balioa hemen ...
[wait] 50 milliseconds
Erabili single press (ha sido pulsado), ez is pressed (está pulsado): lehenak behin erantzuten du sakaldi berri bakoitzean, botoia sakatuta mantentzen baduzu ere. Jarri Button B as stepButton konfigurazio-blokea lan-eremuan, beste blokeei lotu gabe; euskarazko interfazean Botón B como stepButton ere ikus dezakezu, Botoiak kategorian. Hautatu stepButton izena baldintzan. Gelditzeko agindua baldintzaren barruan doa, mugimendu laburraren ondoren. Probatu sakaldi bat leku librean, eta behatu hiru segundoz: robotak geldirik jarraitu behar du berriz sakatu arte. Mugitzen ez bada, egiaztatu programa kargatu dela, botoia ondo konfiguratu duzula eta leku librea dagoela; ez luzatu mugimendua hori egiaztatu gabe.
Lerro sentsoreak kategorian, Irakurri lerro sentsoreak blokeak neurketak eguneratzen ditu. Ondoren, Lectura en sensor situado en blokean, aukeratu centro erdiko sentsorearen balioa lortzeko. Beheko eskeman red gorria da, eta blue urdina; HIGH pizteko da, eta LOW itzaltzeko (ALTO/BAJO ere ager daitezke menuan).
Kokatzeko baldintzaren ondoren, erabili
Read line sensorsblokea (Irakurri lerro sentsoreak), idatzi center sentsorearen balioa serieko irteeran eta itxaron 300 ms. Zortzi formako zirkuituan, egin bira edo aurrerako mugimendu laburrak, erdiko sentsorea zoru zuriaren gainean kokatu arte; gelditu eta jaso irakurketa. Kokatu sentsore bera lerro beltzaren gainean, eta jaso berriro. Egiaztatu bi gainazalak kameran. Serieko irteerarik ez badago, eraiki lehenik beheko LED bidezko baldintza, probako atalasea 500 izanik. Doitu atalasea eta errepikatu bi kokapenetako probak, bereizi ahal izan arte; jaso atalasea eta LEDaren egoera, irakurketa zenbakizkorik asmatu gabe. Bereizi ezin badituzu, adierazi konfiantza txikia dela eta atalaseak ez duela emaitza argirik ematen.```text
[Read line sensors]
if [center line-sensor value >= aukeratu duzun zenbakia]: [Set red led to HIGH] [Set blue led to LOW]
else: [Set red led to LOW] [Set blue led to HIGH]
[Change two motors speed] Left: 0 Right: 0
```
Klase-saio batean erabilgarri
| Sentsorea | Gainazala | Behatutako balioa: zenbakia edo argi/ilun sailkapena | Proposatutako atalasea | Konfiantza |
|---|---|---|---|---|
Adierazi probatutako atalasea, eta konparatu bi behaketa: serieko irakurketak edo atalase horrekin ikusitako LEDaren egoerak. Gainazal argia eta iluna bereizten ez badituzte, adierazi kalibrazioa ez dela erabakigarria, eta proposatu errepikatzeko proba zehatz bat.
Errepikatu eta hobetu araua
22 min
Egiaztatu orain kalibratutako arauak berriro emaitza bera ematen duen. Itzuli zoru argira eta gero lerro ilunera; gelditu irakurketa bakoitzaren aurretik. Aurreikusi LEDaren egoera kokatzeko botoia sakatu aurretik, eta konparatu emaitzarekin. Emaitzaren bat ez badator aurrekoarekin bat, aldatu atalasea bakarrik, kargatu berriro programa eta errepikatu bi kokapenetako probak. Mantendu motorrak gelditzeko agindua. Jaso aldaketaren aurreko eta ondorengo emaitzak. Kalibrazioak emaitza argirik eman ez badu ere, ondo azaldutako behaketek ebidentzia gisa balio dute.
Deskribatu ondo atera den proba bat eta hobetu beharreko beste bat. Proba bakarra egiteko aukera izan baduzu, adierazi zer bigarren proba egingo zenukeen.
Azaldu zergatik zure erronkak ez duen eskatzen lerro bati zehaztasun osoz jarraitzea. Zer erabaki zehatz hartzen du robotak sentsorearen informazioarekin?
Azken entrega
12 min
Robotaren azken erronka
Entregatu:
- Erronkaren izena.
- Erabilitako bloke nagusiak.
- Atalasea eta kalibrazioaren ebidentzia.
- Programaren pantaila-argazkia edo deskribapena.
- Robotarekin egindako proban behatutako emaitza.
- Hobekuntza zehatz bat.
Zer ikasi duzu benetako robot bat programatzean, simulazio batekin edo Arduino plaka batekin bakarrik ikasiko ez zenukeena?
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