Spoznajmo robota Makeblock PSE poslovne komunkacije d.o.o. Dolenjska cesta 318, Lavrica 1291 Škofljica Mladinski center Krško Cesta krških žrtev 105 8270 Krško
Namen delavnice Mobilni robot mbot proizvajalca Makeblock je učni robot, ki je namenjen vsem, ki so željni znanja po elektroniki, robotiki in programiranju. Robot se lahko upravlja preko USB vodnika, Bluetooth vmesnika ali pa se program naloži na ploščo Arduino. Na treh delavnicah se bomo tako naučili sestaviti mobilnega robota mbot, spoznali pripadajoče senzorje in se naučili programirati v programu mblock, ki je zasnovan v Scratch-u.
Vsebina UVOD PREDSTAVITEV PROGRAMSKE OPREME MBLOCK SESTAVLJANJE ROBOTA MBOT SPOZNAVANJE SESTAVNIH KOMPONENT IN MATIČNE PLOŠČE MCORE Matična plošča mcore in pripadajoče elektronske komponente Kako delujejo LED svetila in piskač in senzorji kot so ultrazvočni, linijski in zvočni ter kako jih programiramo. SESTAVLJANJE ROBOTA V RAZLIČNE OBLIKE Sestavljanje robota v obliki lovilca svetlobe, škorpijona, inteligentno desko in podobno. ROBOT V LABIRINTU Kako bi sestavili program, da bi robot našel pot iz labirinta. MOBILNI ROBOT V INDUSTRIJI Spoznali delovanje industrijskih robotov in sestavili program, da bi vam mobilni robot pripeljal lonček, katerega bi predala industrijska roka Dobot.
Uvod Kaj je robot? Robot je stroj, ki ga nadzoruje računalnik in ga lahko programiramo, da samostojno opravlja določeno opravilo. Kje jih uporabljajo? Industrija za ponavljajoča opravila Vojska V gospodinjstvu in na vrtu V znanosti (npr. raziskovanje vesolja) Umetnosti Medicini V šolah
Uvod Delitev robotov: Industrijski robot: Namenjeni za ponavljajoče monotona dela, prinaša večjo kakovost k izdelavi in izdelku. Mobilni robot: Namenjen za učenje, za načrtovanje poti. Avtonomni avtomatizirani voziček: Uporablja se v industriji, kjer prenašajo material iz točke A v B. Robotski sesalniki in robotska kosilnica Humanoidni robot Robot, ki je podoben človeku Robot živali Medicinski kirurški robot
Predstavitev programske opreme mblock
Programska oprema mblock
Zavihek Videz V zavihku Videz lahko dodamo različne figure, katere lahko v Skripnem območju grafično programiramo. Preden sestavimo program, lahko svojo figuro poljubno preoblikujemo.
Zavihek zvok V zavihku Zvok lahko dodamo različne zvoke, katere lahko v Skripnem območju grafično programiramo. Preden sestavimo program, lahko dodamo svojo zvočno datoteko (format wav) in jo poljubno preoblikujemo (dodajanje zvočnih učinkov, nastavljanje glasnosti in podobno).
Zavihek ozadja V zavihku Ozadje (Oder Ozadje) lahko dodamo različna ozadja, jih narišemo, naložimo ali dodamo ozadje iz posnetka. Ozadje lahko v Skriptnem območju grafično programiramo. Uporaba je podobna kot pri zavihku Videz.
Igranje v Scratch Programiranje v Scratch se lahko naučite na spletu: https://scratch.mit.edu/ Obstaja kar nekaj že narejenih programov, ki vam pomagajo pri ustvarjanju.
Primer Spodaj je naveden kratek primer Scratch programa v mblock. 1. Korak: Odprite program mblock in v Skript območje prenesite bloke, ki so v Skripti.
2. Korak: S klikom na zeleno zastavico na zaslonu zaženete program. V primeru aktivnega rdečega petkotnika je program ustavljen.
Programiranje v mblock
Naredimo program, da bomo z vozičkom lovili žogo: 1. Sestavimo program tako, da se bo žogica odbijala od vseh kotov v Sprit plošči Izbrišemo pando in dodamo novo figuro Baseball, Basketball, Beachball ali Soccer Ball, določimo jo na poziciji x=20 in y=150, obrne se v smer 45, naredimo ponavljajoč program, da se žoga odbije od roba in gre 15 korakov naprej.
2. Sestavimo program, da bo voziček sledil naši miški: Dodamo novo figuro Button2, naredimo ponavljajoč program tako, da se bo miška gibala po x osi. 3. Sestavimo program, da če se voziček (Button2) dotaka žoge (Soccer Ball), se odbije: Nov program v figuri Žoge (Soccer Ball), naredimo ponavljajoč program, kjer dodamo pogoj če se Soccer Ball dotika Button 2, se naključno obrne med 160 in 200 ter se premakne za 15 korakov naprej.
3. Sestavimo nov program tako, da če se Žoga (Soccer Ball) ne odbija več, se ne dotika Vozička (Button 2): Nov program v figuri Žoge (Soccer Ball), naredimo ponavljajoč program, kjer dodamo pogoj če je položaj Žoge (Soccer Ball) manjši od -130, ustavi program.
Izgled programa
Za premislek: Kako bi spremenili program, da bi se vsi programi začeli izvajat istočasno? zamenjamo z Kam in kater blok bi dodali, da bi števili odboje žoge? Ustvarimo spremenljivko npr: Rezultat in ga pripnemo v program 2. koraka.
Sestavljanje robota mbot
Sestavljanje mbot robota
Sestavljanje mbot robota
Sestavljanje mbot robota
Povezovanje
Matična plošča mcore in pripadajoče elektronske komponente
Programljiva plošča mcore
Elektronski element na matični plošči - Piskač Piskač je zunanja zvočna naprava. Lahko je mehanski, elektromehanski ali piezoelektrični.
Delovanje piskača: = Delovanje brenčača lahko primerjamo z bobnom. Če s palicami udarimo na bobensko membrano, povzročimo vibriranje in s tem proizvajamo zvok. Udarec z bobenskimi palicami v našem primeru enačimo z elektronskim tokom.
Zgradba in delovanje piezoelektričnega piskača: Kovinska plošča Piezoelektrična plošča Napetost Proizvajanje električne energije Električni tok teče skozi kovinsko ploščo s piezoelektrično ploščo, kar pomeni da napetost prehaja skozi material in povzroči vibracije. Tako s spremembo frekvence ustvarjamo različne tone.
Do Re Mi Fa So La Ti Nota C2 D2 E2 F2 G2 A2 B2 Frekvenca (Hz) 65.4 73.4 82.4 87.3 98.0 110.0 123.5 Nota C3 D3 E3 F3 G3 A3 B3 Frekvenca (Hz) 130.8 146.8 164.8 174.6 196.0 220.0 246.9 Nota C4 D4 E4 F4 G4 A4 B4 Frekvenca (Hz) 261.6 293.6 329.6 349.2 392.0 440.0 493.9 Nota C5 D5 E5 F5 G5 A5 B5 Frekvenca (Hz) 523.2 587.3 659.3 698.5 784.0 880.0 987.8 Nota C6 D6 E6 F6 G6 A6 B6 Frekvenca (Hz) 1046.5 1174.7 1318.5 1397.0 1568.0 1760.0 1975.5 Nota C7 D7 E7 F7 G7 A7 B7 Frekvenca (Hz) 2093.0 2349.3 2637.0 2793.8 3136.0 3520.0 3951.1 Nota C8 D8 E7 F7 G7 A7 B7 Ponovitev Trajanje 1/2 krat 500 ms 1/4 krat 250 ms 1/8 krat 125 ms 1 krat 1000 ms 2 krat 2000 ms Frekvenca (Hz) 4186.0 4698.6 5274.0 5587.7 6271.9 7040.0 7902.1
RGB LED dioda LED dioda je polprevodniški elektronski element. LED dioda deluje tako, da kadar prevaja tok, sveti. Dioda lahko sveti v kombinacija barv rdeče, zelene in modre. Kombinacija vseh barv, dobimo belo svetlobo. LED diode so majhne, porabijo malo energije in imajo dolgo življenjsko dobo s primerjavi drugih svetil.
Zgradba in delovanje RGB led diode: LED dioda je sestavljena iz n-p spoja (največkrat gre za silicij). Tok največkrat teče iz p-strani proti n-strani oziroma iz anode proti katodi. V nasprotno smer tok ne teče. Zato tisti, ki sami izdelujejo vezja, je pomembno kako obrnejo diodo.
Ultrazvočni senzor Ultrazvočni senzor je naprava, ki meri razdaljo z uporabo ultrazvočnih signalov. Oddajamo ultrazvočni signal, kater se odbije od ovire in si tako lahko pomagamo, kje v prostoru smo. Infrazvok 20 Hz Zvok 20 khz Ultrazvok 2MHz 200 MHz Nizki toni Visoki toni
Delovanje ultrazvočnega senzorja: Ultrazvočni senzor oddaja ultrazvočni val in meri razdaljo med senzorjem in objektom. Ta temelji na merjenju časa, ki je potreben za pošiljanje signala in sprejemanje odmevov. Območje zaznavanja ovir je 3 cm do 400 cm, v območju 30. razdalja = hitrost zvoka čas 2 Hitrost zvoka - po konstanti 344 m/s Čas - potovanje signala
Programiranje v mblock
Pred programiranjem 1. Izberemo ustrezno ploščo: 3. Posodobimo sistemsko programsko opremo 2. Povežemo se na serijski port:
Nalaganje programa: 1. Kliknemo desni klin in izberimo Naloži na Arduino 2. Prenesi na Arduino
Program Prva skupina: Program sestavimo tako, da določimo pogoje, da pri različni zaznani razdalji zaigra drugačen ton. Program sestavimo tako, da manjša, kot je razdalja, višji je ton (kot Durova lestvica). Druga skupina: Program sestavimo tako, da določimo pogoje, da pri različni zaznani razdalji zasveti drugačna barva LED diode. Program sestavimo tako, da so pri manjši zaznani razdalji, zasveti toplejša barva (rdeča, rumena) in pri večji razdalji mrzla barva (modra). Za mešanje barv si pomagamo z barvnim krogom.
1. Korak: Berimo vrednosti ultrazvočnega senzorja iz serijskega porta:
2. Korak: Ustvarimo novo spremenljivko razdalja :
3. Korak Dodajamo pogoje če, vključimo operatorje <,>,= in spremenljivko:
Matična plošča mcore in pripadajoče elektronske komponente
Osnovni motorji Za gibanje robotov potrebujemo motorje. Makeblock uporablja naslednje motorje: Enosmerni motorji (baterijsko napajanje) Navadni DC motorji: Določamo hitrost motorja, ne moremo meriti hitrosti, ne poznamo pozicije motorja. Optični en koderjevi motorji: Dodan fotoelektrični dajalnik, kjer lahko spremljamo hitrost motorja, natančnejše premikanje robota.
Koračni motorji (izmenično napajanje): motor se obrača za majhne in točno določene stopinje, potrebno jih je pozicionirati, določimo mu kot in smer.
Gibanje robota Robot mbot ima pritrjena kolesa, katera ga poganjata levi in desni motor. Posamezna motorja sta priključena na vhod plošče. Spoznajmo kakšno je lahko vse gibanje koles, če želimo upravljati robota. Ali morda veste kakšna je hitrost in smer vrtenja posameznega kolesa, če želimo da se robot obrne levo ali desno? Če želimo, da gre robot levo, se kolo na levi strani vrti počasneje kot desno in Če želimo, da gre robot desno, se kolo na desni strani vrti počasneje kot levo
Me linijski senzor Me linijski senzor je namenjen temu, da robot prepozna kontrast med temnejšo in svetlejšo barvo. Na modulu sta infrardeča LED dioda kot oddajnik in fotodioda kot IR sprejemnik. Z merjenjem količine odbite infrardeče svetlobe lahko zaznamo prehod ali objekte v bližini senzorja. Razdalja zaznavanja je med 1 in 2 cm.
Me linijski senzor ima definirane 4 različne vrednosti: Vrednost 0 senzor je vzdolž črne črte: vrednost 1 ali 2 ena stran senzorja ne zaznava črne črte, druga stran senzorja sledi: in vrednost 3 senzor je popolnoma brez sledi:
Programiranje v mblock
Program Naredimo program, da bo robot sledil črni črti. 1. Korak Da bomo lažje sestavili program, najprej preberemo posamezno linijo na Me linijskem senzorju:
2. Korak Dodajamo pogoje če sicer in če, vključimo operator = in če želimo lahko tudi spremenljivko linija. 3. Korak Znotraj vsakega pogoja pripnemo nov pogoj:
Primer rešitve:
Nadgrajevanje programa Prva skupina: Program nadgradimo tako, da ko robot zazna oviro, se obrne in zapelje nazaj na črto. Druga skupina: Program nadgradimo tako, da robot obkroži oviro in se zapelje nazaj na črto.
Matična plošča mcore in pripadajoče elektronske komponente
Svetlobni senzor Svetlobni senzor je razvit na principu polprevodniškega fotoelektričnega efekta. Lahko ga uporabljate za zaznavanje jakosti svetlobe, katera svetloba je v bližini in za razlikovanje barvnih površin. Vrednosti merimo v lm. Izhodna analogna vrednost: >500
Zvočni senzor Zvočni senzor je zasnovan za odkrivanje intenzivnosti v bližnji okolici. Zvočni senzor ima izhodno analogno vrednost med 0 in 1023. Lahko ga uporabljamo za detekcijo zvoka. Zvok merimo v db.
Programiranje v mblock
Program Prva skupina Naredimo animacijo, kjer bomo glede na zaznano svetilnost na svetlobnem senzorju spreminjali velikost figure sonca v Sprint plošči. V primeru, da svetlobni senzor pokrijemo, se prikažejo figure zvezdic. 1. Korak Izbrišemo figuro pande in izberimo novo figuro sonca. V naslednjem koraku sestavimo program tako, da beremo vrednosti iz senzorja.
Prva skupina 2. Korak Izberimo novo ozadje. Izberemo sliki City with water2 in City with water.
Prva skupina 3. Korak Dodamo pogoje če in vključimo operatorje < ali > in določimo velikost figure sonca.
4. Korak Dodamo pogoj če sicer. Določimo, da se figura sonca skrije, če je svetloba manjša od neke vrednosti (npr: od 120) in zamenja odzadnje na city with water sicer se figura sonca pokaže z ozadjem city with water2.
4. Korak Dodamo novo figuro zvezdic. Sestavimo program, Da se zvezdice pokažejo, le če je svetilnost manjša od neke vrednosti (npr. od 120).
Program Druga skupina Naredimo igro, kjer bomo s ploskom rok, katerega bo zaznal zvočni senzor, spremenili položaj figure v Sprint plošči. Ideja naloge je, da bi figura leteča žival. 1. Korak Izberimo žival, ki ima dva videza. Sestavimo program tako, da se figuri zamenja Videz vsako sekundo (izgleda da leti).
Druga skupina 2. Korak Naredimo nov program. Določimo začetno pozicijo figure (npr: x= -180, y=-124). V ponavljajočem programu lahko dodamo spremenljivko z imenom zvok, dodamo blok spremeni x za _ in dodamo pogoje če ter vključimo operatorje < ali >. Pogoje sestavimo tako, da manjši kot je jakost zvoka, nižja pozicija je same figure (pozicija y).
Druga skupina 3. Korak Dodamo ozadje in ga podvojimo.
V drug program dodamo pogoj, če je pozicija x figure manjša od (npr od 200), naj gre na x = - 200 in zamenja ozadje. 4. Korak Dodamo novo figuro, katera je lahko na primer žoga.
Sestavimo nov program, kjer bomo določili pogoj, če se figure v našem primeru žoga dotika netopir, se figura žoga skrije, počaka nekaj sekund in se prikaže na drugi lokaciji.
Program Prva skupina Sestavimo program tako, da robotek lovi svetlobo. Svetlobna senzorja priključimo na port 3 in port 4. Program sestavimo tako da: Če je zaznana svetilnost na obeh senzorjih enaka, se robot vozi naprej če je zaznane več svetilnosti na levem senzorju, se obrne levo ali če je zaznane več svetilnosti na desnem senzorju, se obrne desno.
Sestavljanje pogojev če in če sicer.
Program Druga skupina Sestavimo robota v obliki škorpijona. Program sestavimo tako, da se ob spremembi zvoka (če plosknemo), se položaj robota spremeni. Prav tako se spremeni barva led diod.
Določimo kaj bo naredil robot, ko bo jakost zvoka večja od 500 db ter barvo diod pri posamezni zaznani vrednosti linijskega senzorja. Primer končnega programa.
mbot v labirintu
Program Sestavimo program tako, da robotek mbot najde pot iz labirinta.
Mobilni robot v industriji
Robotska roka Dobot Magician
Dobot koordinate
Kaj lahko počne robotska roka Dobot Magician? Riše Lasersko gravira 3D tiska Prenašanje predmetov s pomočjo zračne črpalke ali prijemala
Dobot programski vmesnik: Učenje in snemanje robotu ročno določimo pot Napiši in pripravi vstavimo sliko ali besedilo, katerega robot nariše ali lasersko vgravira Začetna pozicija Blokovno programiranje Skriptni jezik Branje gibov človeške roke Gibanje robota s pomočjo miške Lasersko graviranje 3D tiskanje
Izpis in spreminjanje koordinat v programskem vmesniku Delovno območje
Kadar želimo ustavili robota
Učenje in snemanje robotu ročno določimo pot Določimo tip prijemala: Določevanje poti: Kadar želimo ročno določiti točke robotske roke, kliknemo na gumb ključavnice. NE PREMIKAJTE ROBOTSKE ROKE NA SILO!
Pomembni ukazi pri določevanju točk: JUMP MOVJ in MOVL
Programiranje Naša naloga je, da predmet s pomočjo robotske roke prenesemo iz točke A v B. Pri tem lahko uporabimo zračni ventil, kater ob prijemu predmeta vključi zračni ventil in ga izključi ko želimo spusti predmet. Robotku sestavimo program tako, da se vozi po črti, tako kot smo že sestavili pri prejšnji nalogi. Program nadgradimo tako, da dodamo še en linijski senzor, kater zazna črno črto in omogoči da se robotek ustavi. Ko ultrazvočni senzor (na vrhu robotka) zazna predmet, se robotek začne premikati. Program lahko poljudno nadradimo.