Teach Urruneko laborategidun ikasgaiak

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.

  • Arduino robota (bisuala)
  • 60 min
  • DBH 3 / DBH 4
  • eu
  • Robotics · Embedded systems

Hasi saioa irakasle-kontu batekin klase-saioa prestatzeko. Ikasleak klase-kode batekin sartzen dira.

Arduino robota (bisuala)
Arduino robota (bisuala) · Laborategiaren xehetasunak

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.

1

Aukeratu egin dezakezun erronka

8 min

Pista baten goitiko ikuspegia: robot bat eta lerro beltzak zoru argi baten gainean

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».

2

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).

  1. Kokatzeko baldintzaren ondoren, erabili Read line sensors blokea (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.

  2. ```text

  3. [Read line sensors]

  4. if [center line-sensor value >= aukeratu duzun zenbakia]: [Set red led to HIGH] [Set blue led to LOW]

  5. else: [Set red led to LOW] [Set blue led to HIGH]

  6. [Change two motors speed] Left: 0 Right: 0

  7. ```

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.

3

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?

4

Azken entrega

12 min

Robotaren azken erronka

Entregatu:

  1. Erronkaren izena.
  2. Erabilitako bloke nagusiak.
  3. Atalasea eta kalibrazioaren ebidentzia.
  4. Programaren pantaila-argazkia edo deskribapena.
  5. Robotarekin egindako proban behatutako emaitza.
  6. 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.