Has gaitezen robotak programatzen

mBlock interfazea

Robot asko dago munduan, adibide gisa, mBot robota nola programatu aztertuko dugu. Hezkuntza mundurako robot programagarria da eta hau programatzeko aplikazio asko dago. Android, IOS, Linux, MacOS, Windows eta ChromeOS sistema eragileetan aplikazio bat baino gehiago arukitu dezakegu. Gaur, mblock aztertuko dugu. Softwareea hemendik eskuratu daiteke.

mBlock Scratchen oinarritzen da eta itxura oso antzekoa dauka.

Programazio atalak

Robot bat programatzerakoan programazioa atal desberdinetan banatu dezakegu:

  • Aldagai eta funtzioen definizioa: Aplikazioan erabiliko ditugun aldagai eta funtzio guztiak aldez aurretik definitzea praktika egokia da. Mblock programaren kasuan, definizio hauek programa nagusitik at egin behar dira.
  • Hasierako aginduak: Egin beharreko nagusia hasi baino lehen exekutatu beharreko oinarrizko aginduak exekutatuko dira. Hasierako funtzioak, hasierako kokapena, hasierako datuen irakurketa, defektuzko balioak... Honela elementu baten hasierako balioa aldatu nahi badugu toki bakarrena aldatuko dugu.
  • Begizta nagusia: Robotak programatzean, ohikoa izaten da begizta nagusi bat definitu eta bertan egin beharreko nagusiak jartzea. Begizta honetan, egin beharrekoa zenbat aldiz egin behar den definitu ohi da edo amaierarik gabeko buklea ezarri.
  • Amaiera: Aplikazioa amaitzen denean, robota eta bere aldagaiak nola geratuko diren zehaztu dezakegu

Programazioa hiru atal hauetan banatzea ez da derrigorrezkoa, baino garapena siplifikatzeko asko laguntzen du. BitBlock erabiltzen badugu ordea, hiru atal hauek erabiltzera derrigortuko gaitu.

Adibide honetarako Mblock programa erabiliko dugu. mBlock Scratch-en oinarriatua dago eta bertan egiten den bezala, blokeak multzokatu egiten dira. Programatzen hasi aurretik, aztertu ditzagun mBot robotarekin multzo bakoitzeko oinarrizko aginduak. mBlock euskaratu gabe dagoenez, gaztelerako bertsioko testuak erabiliko ditugu.

Gertaerak

  • Bandera berdea sakatzean: Bandera berdea sakatzean bertan jarritako blokeak exekutatuko dira.
  • Tekla sakatzean: Aukeraturiko tekla sakatzean bertako blokeak exekutatuko dira.
  • Mezua jasotzea: Adierazitako mezua jasotzean, bertako blokeak exekutatuko dira.
  • Mezua bida: Nahi den testua duen mezua bidal daiteke. Mezua jasotzean gertaerarekin estuki lotua dagoen blokea da.
  • mBot hastean: Bloke hau itzalita ikusten dugu. Piztua ikusteko "Pueba" botoia kendu behar da. Baino hau kentzean, besteak itzaliko dira. Prueba moduan, robota ordenagailura konektatua egon behar du. Beste modura, ezin dira ordenagailuko blokeak erabili, robotarenak bakarrik, modu autonomoan funtzionatzeko.

Kontrola

  • Errepikatu X: Barruko kodea X aldiz errepikatuko da.
  • Betiko: Barruan dauden aginduak etengabe errepikatuko dira.
  • Baldin: Baldintza barruan definitzen dena betetzen bada, barruan dagoena exekutatuko da.
  • Baldin, bestela: Baldintza barruan definitzen dena betetzen bada, lehen tartean dagoena exekutatuko da, bestela, bigarren tartean dagoena.
  • Itxaron X: X segunduz kodea gelditu egingo da.
  • Itxaron baldintza bete arte: Baldintza bete arte itxaroten egongo da.
  • Baldintza bete arte errepikatu: Definituriko baldintza bete bitartean, tartean dauden aginduak exekutatuko dira.

Argi eta soinua

  • LED [Guztiak/Ezker/Eskuin] erakutsi [Kolorea] X segundutan: Aukeraturiko led-aren kolorea definitzeko balio du. Kolore horrez piztua egongo da markaturiko denboran.
  • LED [Guztiak/Ezker/Eskuin] erakutsi [Kolorea]: Aukeraturiko led-aren kolorea definitzeko balio du.
  • Piztu argia[Guztiak/Ezker/Eskuin], gorria X, berdea X, urdina X: Adierazitako led-aren argiak nahi den kolorean pizteko balio du. Aurrekoaren oso antzekoa da, bainmo RGB (Red, Green Blue) baloreak erabil daitezke.
  • X nota jo, pultsoen bitartean: Denbora konkretu batean nota bat entzungo da.
  • Soinua egin X frekuentziara Y segundutan: Adierazitako frekuentziaklo soinua egingo du ezarritako segunduen iraupenarekin.

Ekintzak

  • Aurreratu X pontentziarekin Y segundutan: Bi motoreak aurrerako mugituko ditu adierazitako potentziarekin.
  • Atzeratu X potentziarekin Y segundutan: Bi motereak atzera mugituko ditu adierazitako potentziarekin.
  • Ezker, eskuin gurpilak X et Y potentziarekin: Gurpil bakoitzaren potentzia definitu daiteke. Balio lehenetsiz biak ezarritako potentzian aurreraka mugituko dira. Gurpiletako bat atzeraka mugitzea nahi badugu, minus baloreak erabil daitezke.
  • Aurrera X potentziarekin: Bi gurpilak aurreraka mugituko dira, adierazitako potentziarekin.
  • Ezkerretara biratu X potentziarekin Y segundutan: Gurpilak ezkerretara biratzeko mugituko dira adierazitako potentzia erabiliz eta ezarritako denboran.
  • Eskubira biratu X potentziarekin Y segundutan: Gurpilak eskubira biratzeko mugituko dira adierazitako potentzia erabiliz eta ezarritako denboran.
  • Gelditu: Bi gurpilak geratu egingo dira.

Oinarrizko aplikazio bat egin dezagun

mbot robotaren plakan bi led daude. Hauek erabiliz "sirena" moduko bat sortuko dugu. Robota konektatuta mantenduko dugu eta ordenagailutik kontrolatuko dugu. Hasieran robotak argiak itzaliak izan behar ditu, baino bandera berdea sakatzean, argiak piztu eta itzali egingo dira. Lehenengo alde batekoa gorriz piztuko da eta ondoren beste aldekoa urdinez.

Zure kabuz egiten saiatu...

 

 

Kodea Azalpena
  • Bandera berea sakatzean.
  • 5 Aldiz errepikatuko den kodea dago:
    • Ezkerrean argi gorriz piztu
    • 0.2 segunduz itxaron
    • Argi guztiak itzali. Gorri, berde eta urdinari 0 balioa emanez.
    • Eskuin argia urdinez piztu.
    • 0.2 segunduz itxaron.
    • Argi guztiak itzali. Gorri, berde eta urdinari 0 balioa emanez.

Kodea ongi dago, baino hobetu daiteke. Demagun 0.2 segunduko balioa aldatu nahi dugula. Bi tokitan aldatu beharko dugu. Edo 5 aldiz errepikatu ordez, 10 aldiz errepikatu nahi dugula. Horretarako aldagaiak erabil ditzakegu. Hasieran apiaturiko programazio atalak erabiliz, horrelako zerbait egin dezakegu:

Kodea Azalpena

Aldagai eta funtzioen definizioa:

Aldagaiak "Variables" atalean definitzen dira. Gure kasuan denboa eta errepikatu.

Hasierako aginduak:

Bandera berdea noiz sakatzen den "entzuten" jartzen dugu. Sakatzean programa hasten da:

  • denbora aldagaiari hasierako balorea ematen zaio: 0.2 segundu.
  • errepikatu aldagaiari hasierako balorea ematen zaio: 5.

Begizta nagusia:

  • Errepikatu errepikatu aldiz. Gogoratu errepikatu aldagaia hasieran 5 balorea eman diogula, beraz, bost aldiz ergingo da tartean dagoena.
    • Argi gorria piztu.
    • denbora segunduz itxaron. denbora aldagaiaren balioa 0.2 segundukoa ezarri dugu hasierako aginduetan.
    • Argi guztiak itzali. Gorri, berde eta urdinari 0 balioa emanez.
    • Argi urdina piztu.
    • denbora segunduz itxaron. denbora aldagaiaren balioa 0.2 segundukoa ezarri dugu hasierako aginduetan.
    • Argi guztiak itzali. Gorri, berde eta urdinari 0 balioa emanez.

Amaiera

Kasu honetan ez da ezer egiten.

Atal bakoitzarentzat funtzio (edo bloke) propioak ere definitu ditzakegu. Baino ulertzeko zailagoa da eta aurreragorako utziko dugu.

Erronka gehigarria:

Orain artekoa erraz egin duzu? Anima zaitez bi gauza hauek egitera:

  • Argiekin batera, soinua ere egin dezala.
  • Begizta nagusia amaitzean, bi ledetan argi zuria jarri, azken soinu bat egin eta argiak itzal daitezela.

Emaitza:

Eranskinak: