You are on page 1of 25

Univerzitet u Tuzli

Fakultet elektrtotehnike

Seminarski Rad
mBoot Robot

Studenti:
Korajkić Ammar Tuzla
Salihbegović Nermin Januar 2019.
Sadržaj:
1.0 mBoot Robot........................................................................................................................................3
1.1 Što je mBot?....................................................................................................................................3
1.2 Općenito o MakeBlock-u................................................................................................................4
2.0 Sastavni dijelovi mBoot robota............................................................................................................5
2.1 Matična ploča/mikroprocesor..........................................................................................................6
2.1.1 ATmega328..............................................................................................................................7
2.2 “Me” Ultrasonični senzor................................................................................................................8
2.2.1 Uopšteno..................................................................................................................................8
2.2.2 Definisanje pin-ova..................................................................................................................9
2.2.3 Način ožičenja.........................................................................................................................9
2.2.4 Vodič za programiranje..........................................................................................................10
2.2.5 Analiza principa.....................................................................................................................12
2.3 Senzor za detekciju linije..............................................................................................................13
2.3.1 Uopšteno................................................................................................................................13
2.3.2 Definisanje pin-ova................................................................................................................14
2.3.3 Način ožičenja.......................................................................................................................14
2.3.4 Vodič za programiranje..........................................................................................................15
2.3.5 Analiza principa.....................................................................................................................17
2.4 Senzor svjetlosti............................................................................................................................17
2.4.1 Uopšteno................................................................................................................................18
2.4.2 Definisanje pin-ova................................................................................................................19
2.4.3 Način ožičenja.......................................................................................................................19
2.4.4 Vodič za programiranje..........................................................................................................20
2.4.5 Analiza principa.....................................................................................................................22
3.0 Softver i programiranje......................................................................................................................23
3.1 Upravljanje pomoću pametnih telefona........................................................................................24
3.2 Upravljanje uz pomoć računara.....................................................................................................25
1.0 mBoot Robot

1.1 Što je mBot?

mBot (slika 1.) je robotić (hardverski dio) koji daje praktično iskustvo u programiranju,
elektronici i robotici. Makeblock je vodeći proizvođač u području DIY (Do it yourself - Uradi sam)
edukacijske, robotičke i informatičke opreme. Jedan od njihovih proizvoda je i mBot robotić.
Namjenjen je isključivo djeci osnovnoškolskog uzrasta. Rad s mBot robot setom inspiriran je Scratch
2.0 (slika 2.) programom (sofverski dio) kojeg možete povezati s mBot uređajem koristeći Bluetooth ili
2.4GHz wireless modul. Ovaj, jednostavan za sastavljanje, mBot edukacijski robot set pruža
neograničene mogućnosti da djeca nauče STEAM (nauku, tehnologiju, inženjering i matematiku).

Slika 2. Scratch progran


Slika 1. Mboot robot
1.2 Općenito o MakeBlock-u

Makeblock je privatna kineska tehnološka firma sa sjedištem u Shenzhen-u ,Kina, koja razvija
hardver baziran na Arduinu, hardver, robotiku i softver koji se temelji na Scratchu, pružajući
obrazovne alate za učenje programiranja, inženjerstva i matematike kroz korištenje robotike.
Makeblock je dobitnik međunarodnih nagrada za dizajn, a proizvodi se prodaju u više od 140
zemalja.Trenutno ima više od 4.500.000 korisnika širom svijeta.

Makeblock nudi platformu za izradu i programiranje robotaza učenje, namjenjen za kućnu radinost ili
implementaciju u školsku nastavu koja je osmišljena za razvoj modularnog i programibilnog startera.
Njegova platforma za gradnju i programiranje robota nudi mehaničke dijelove, višestruke elektronske
module i softver za grafičko programiranje, omogućavajući STEM učenicima, edukatorima i hobistima
da konstruiraju robote koji se mogu pretvoriti u besplotnu letjelicu, automobil i još mnogo toga.
2.0 Sastavni dijelovi mBoot robota

Slika 3. Sastavni dijelovi robota

Mboot je robotski komplet za početnike koji žele praktično iskustvo iz grafičkog programiranja,
elektronike i robotike. To je sve u jednom rješenje za učenje robotike i dizajnirano je za STEM
edukaciju (nauka inžinjering elektronika matermatika)
Osnovne komponente koje ćemo obradit u ovom seminaru, a spadaju u osnovne komponente za rad
mBoot robota su:
1. Matična ploča/čip
2. Ultrosonični senzor – senzor za detekciju prepreke
3. Senzor za detekciju crne/bijele linije
4. Senzor nivoa svjetlosti (integrisan na matičnu ploču)
5. Bluetooth/2.4G modul
2.1 Matična ploča/mikroprocesor

Naziv koji je dat za matičnu ploču, korištenu za ovaj robot je mCore. Šta je mCore?

mCore je jednostavna (easy-to-use) za korišćenje glavna kontrolna ploča specijalno dizajnirana za


mBot. Na osnovu Arduino Uno, mCore integriše razne senzore na samoj matičnoj ploči, kao što su
zujalica, senzor za svietlo, RGB LED itd., Što vam omogućava lakši način za početak učenja
programiranja.
Karakteristike:
• Dolazi sa Arduino i Makeblock bibliotekom za jednostavno programiranje.
• Uključuje različite tipove senzora, kao što su zujalica, senzor za svjetlo, RGB LED, itd.
• Dizajn konektora USB tipa B za dugotrajnu upotrebu.
• Ponovni osigurač sprečava izgaranje ploče.
• Četiri RJ25 konektora sa oznakom u boji, za jednostavno instaliranje i proširenje sa više Arduino
senzora.

Slika 4. mCore matična ploča


2.1.1 ATmega328

Mikroprocesor integrisan na matičnu ploču mCore je ATmega328.

ATmega328 je mikroprocesor visokih performansi. Mikročip 8-bit AVR RISC kombinuje 32KB ISP
fleš memoriju sa mogućnostima čitanja i pisanja, 1KB EEPROM (obrisiva stalna radna memorija),
2KB SRAM, 23 opće namjene I / O linije (input/output), 32 radna registra opšte namjene, tri fleksibilna
tajmera / brojači sa režimima upoređivanja, interni i eksterni prekidi, serijski programabilni USART,
orijentirani 2-žični serijski interfejs, SPI serijski port, 6-kanalni ,10-bitni A / D konvertor (8 kanala u
TQFP i QFN / MLF paketi) , programabilni tajmer sa internim oscilatorom i pet režima za uštedu
energije. Uređaj radi između 1,8-5,5 volti.
Izvršavajući moćne instrukcije u jednom ciklusu takta, uređaj postiže protoke koji se približavaju 1
MIPS po MHz,(Milions of instructions per second) uravnotežavajući potrošnju energije i brzinu
obrade.
AVR jezgro kombinuje bogat set instrukcija sa 32 radna registra opšte namene. Sva 32 registra direktno
su povezan sa Aritmetičkom logičkom jedinicom (ALU) i omogućavajući pristupu dva nezavisna
registra u jednu pojedinačnu instrukciju izvršenu u jednom ciklusu takta. Dobijena arhitektura je
efikasnija dok je postignuta propustljivost do deset puta brža od konvencionalnih CISC
mikroprocesora.

Slika 5. ATmega328 procesor


2.2 “Me” Ultrasonični senzor

2.2.1 Uopšteno

Me ultrazvučni senzor je elektronski modul za mjerenje udaljenosti u rasponu od 3cm do 400cm. Može
se koristiti za projekte kako bi se pomoglo ručnim kolicima da izbjegnu prepreke ili druge relevantne
projekte mjerenja udaljenosti i izbjegavanja prepreka. Njegov žuti ID znači da ima jedan digitalni port i
mora biti povezan na port sa žutim ID-om na Makeblock Orion.

Tehničke specifikacije
 Radni napon: 5 [V] DC
 Mjerni opseg: 3-400 [cm] (sa greškom manjom od 1 [cm])
 Frekvencija ultrazvuka: 42 [kHz]
 Kontrolni mod: Jedan digitalni port
 Veličina modula: 56 x 36 x 31 [mm] (D x Š x V)

Funkcionalne karakteristike
 Zaštita od pogrešnog priključenja – priključivanje napajanja inverzno neće oštetiti IC
 Bijela površina modula je referentna površina za kontakt metalnih greda
 Podržava mBlock GUI (grafički korisnički interfejs) programiranje i primjenjivo na korisnike
svih uzrasta
 RJ25 priključak za jednostavno povezivanje
 Obezbjeđen pin-tip porta za podršku većini razvojnih ploča uključujući Arduino seriju
2.2.2 Definisanje pin-ova
Port „Me“ ultrazvučni senzor ima tri pina, a njihove funkcije su sledeće:
No. Pin Funkcija
1 GND Uzemljenje
2 5V Izvor napajanja
3 SIG Izlazni signal udaljenosti

2.2.3 Način ožičenja


 Povezivanje sa RJ25
Pošto port Me Ultrasonic Sensor ima žuti ID, potrebno je povezati port sa žutim ID-om na Makeblock
Orion kada koristite RJ25 port. Uzimajući na primjer Makeblock Orion, možete se povezati na portove
br. 3, 4, 5, 6, 7 i 8 na sljedeći način:

Slika 6. Povezivanje „Me“ ultrazvučnog senzora sa Makeblock Orio


 Povezivanje sa Dupnot žicom
Kada se Dupont žica koristi za povezivanje modula sa Arduino UNO Baseboard-om, njegov SIG pin bi
trebao biti povezan na digitalni port kako slijedi:

Slika 7. Povezivanje „Me“ ultrasoničnog senzora sa Arduino UNO

2.2.4 Vodič za programiranje


 Arduino programiranje
Ako koristite Arduino za pisanje programa, biblioteku Makeblock-Library-master treba pozvati da
kontroliše Me Ultrasonic Sensor. Ovo je rutina za podučavanje modula za mjerenje udaljenosti putem

Arduino programiranja.
Lista funkcija „Me“ ultrazvučnog senzora
Ime funkcije Funkcija

MeUltrasonicSensor(uint8_t port) Odabir porta

distanceCm() Mjerenje udaljenosti (cm)

distanceInch() Mjerenje udaljenosti (inch)

Segment koda služi za očitavanje izmjerene udaljenosti (cm) i ispis rezultata u Arduino IDE serijski
monitor u ciklusu od 100 [ms]. Prenesite kôd na Makeblock Orion, kliknite na Arduino serijski
monitor, videćete prikazani rezultat na sledeći način:
 mBlock programiranje
„Me“ ultrazvučni senzor podržava mBlock programsko okruženje i njegove instrukcije su predstavljene
na sledeći način:
Opis programiranja Uvod

Parametri: Odabir porta


Funkcija:Vraćanje očitane udaljenosti u (cm)

Ovaj primjer će vam pokazati kako koristiti mBlock za kontrolu Me Ultrasonic senzora. Ovaj program
može učiniti da panda progovori udaljenost koju otkrije Me Ultrasonic Sensor. Rezultat trčanja je
sljedeći:

2.2.5 Analiza principa


Me ultrazvučni senzor dolazi sa dva “oka”, od kojih je jedan (označen sa T) ultrazvučni predajnik, a
drugi od njih (označen sa R) je ultrazvučni prijemnik. Ultrazvučni predajnik pokreće ultrazvučni talas u
pravcu i započinje čuvanje vremena na lansiranju. Ultrazvučni talas se širi vazduhom, odmah se vraća
nazad kada susreće prepreke na putu, i zaustavlja održavanje vremena odmah kada ultrazvučni
prijemnik primi reflektovani talas. Brzina prijenosa zvučnog vala u zraku je 340 m / s. Upotrijebite
vrijeme t zabilježeno od strane tajmera za izračunavanje udaljenosti s od točke lansiranja do prepreke,
tj. S = 340 × t / 2.
2.3 Senzor za detekciju linije

2.3.1 Uopšteno
Ovaj modul ima potenciometar koji se može koristiti za podešavanje opsega detekcije. Nivo moda pin-
a može se kontrolirati za odabir načina rada. Kada je u visokom nivou, modul se može više puta
aktivirati za indukciju u realnom vremenu. Kada je u niskom nivou, modul je u ne-ponovljivom načinu
okidanja. Ako se neko kreće u opsegu indukcije, modul se aktivira i održava određeni vremenski
period. U ovom periodu država neće biti ometana da li se neko kreće u rasponu odbitaka.

Tehničke specifikacije
 Radni napon: 5[V] DC
 Domet detekcije: 1-2 [cm]
 Ugao detekcije: 120o
 Način upravljanja: Dvostruka digitalna kontrola porta
 Dimenzija modula: 51 x 24 x 21 (D x Š x V)
Funkcionalne karakteristike
 Bijela površina modula je referentna površina za kontakt metalnih greda
 Dva LED indikatora za povratnu informaciju tokom praćenja linije
 Zaštita od pogrešnog priključivanja- priključivanje napajanja inverzno neće oštetiti IC
 Podržava mBlock GUI programiranje i primjenjivo na korisnike svih uzrasta
 RJ25 priključak za jednostavno povezivanje
 Obezbjeđen priključak tipa pin za podršku većini razvojnih ploča uključujući Arduino seriju
2.3.2 Definisanje pin-ova
Priključak Me Line Follower ima četiri pinova, a njihove funkcije su sljedeće:
No. Pin Funkcija
1 GND Uzemljenje
2 VCC Napajanje
3 S1 Izlaz senzora 1
4 S2 Izlaz senzora 2

2.3.3 Način ožičenja


 Povezivanje sa RJ25

Budući da port Me Line Follower ima plavi ID, potrebno je povezati port sa plavim ID-om na
Makeblock Orion kada koristite RJ25 port. Uzimajući Makeblock Orion na primjer, možete se povezati
na portove br. 3, 4, 5 i 6 na sljedeći način:

 Povezivanje sa Dupont žicom


Kada se Dupont žica koristi za povezivanje modula na Arduino UNO Baseboard, njegove S1 i S2
pinove treba povezati na digitalne portove na sljedeći način:
2.3.4 Vodič za programiranje
 Arduino programiranje
Ako koristite Arduino za pisanje programa, biblioteka Makeblock-Library-master treba biti pozvana da
kontroliše „Me“ trakera linije.

Lista funkcija „Me“ trakera linije


Ime funkcije Funkcija

MeLineFollowe(uint8_t port) Odabir porta

readSensors() Čita stanje senzora

Funkcija segmenta koda je: kontinuirano očitavanje rezultata koje detektira senzor Me Line Pratitelja i
izlaz na rezultate serijskog monitora u Arduino IDE svakih 200 [ms]. Umetnite segment koda u
Makeblock Orion i kliknite na Arduino serijski monitor, i vidjet ćete rezultate rada kao što sledi:
 mBlock programiranje
Me Line Follower podržava okruženje za programiranje mBlock i njegove instrukcije su predstavljene
na sledeći način:
Opis programiranja Uvod
Parametar 1: Odabir porta
Funkcija: Čitanje stanja „Me“ trakera
2.3.5 Analiza principa
Me traker linije je dodatak robota koji je razvijen na principu reflektivnog fotoelektričnog senzora.
Infracrveno svetlo ima različiti intenzitet refleksije kada se osvetljava na različitim bojama površine
objekta. U procesu trčanja, kolica neprestano zrače infracrveno svjetlo na podu. Kada infracrveno
svjetlo dosegne bijeli papirni papir, nastaje difuzna refleksija i reflektovano svjetlo se prima od
prijemnika postavljenog na kolica. Ako infracrveno svjetlo dosegne crnu liniju, ono se apsorbira i ne
može primiti prijemnik kolica. Identifikovanjem da li je primljena reflektovana infracrvena svetlost,
možemo odrediti položaj crne linije i trčanje linije kolica. (Izlaz je 0 kada se ozračuje na crnu liniju, a
izlaz je 1 kada se ozračuje na bijelu liniju).
2.4 Senzor svjetlosti

2.4.1 Uopšteno
Razvijen na osnovu principa fotoelektričnog efekta u poluprovodniku, Me Light Sensor se može
koristiti za detekciju intenziteta ambijentalnog osvetljenja. Korisnici mogu da ga koriste za pravljenje
lakih interaktivnih projekata, kao što su inteligentni dimming lamplet, laserski komunikacioni sistem i
tako dalje. Njegova crna oznaka znači da ima analogni port signala i da mora biti spojen na port sa
crnim ID-om na Makeblock Orion-u.

Tehničke specifikacije
 Radni napon: 5[V] DC
 Način upravljanja: kontrola analognog porta
 Vrijednost analognog izlaza: izloženost sunčevoj svjetlost ( >500), navečer (0-100), stanje
osvjetljenja u zatvorenom (100 – 500)
 Raspon fotosenzitivnih talasnih dužina: 400 [nm] – 1100 [nm]
 Dimenzija modula: 51 x 24 x 22 [mm] (D x Š x V)
Funkcionalne karakteristike
 Osjetljiv samo na vidljivu svjetlost i nije potreban dodatni filter
 Bijela površina modula je referentna površina za kontakt metalnih greda
 Zaštita od pogrešnog priključenja:priključivanje napajanja inverzno neće oštetiti IC
 Podržava mBlock GUI programiranje i primjenjivo za korisnike svih uzrasta
 RJ25 priključak za jednostavno povezivanje
 Obezbjeđen priključak pin-tipa za podršku većini razvojnih ploča uključujući Arduino seriju

2.4.2 Definisanje pin-ova


Port Me Light Sensor ima tri pinova, a njihove funkcije su sljedeće:
No. Pin Funkcija
1 GND Uzemljenje
2 VCC Napajanje
3 AO Analogni izlaz

2.4.3 Način ožičenja


 Povezivanje sa RJ25
Budući da port Me Light Sensor ima crni ID, potrebno je povezati port sa crnim ID-om na Makeblock
Orion kada koristite RJ25 port. Uzimajući na primjer Makeblock Orion, možete se povezati na portove
br. 6, 7 i 8 na sljedeći način:

 Povezivanje sa Dupont žicom


Kada se Dupont žica koristi za povezivanje modula sa Arduino UNO podnom pločom, njegov AO
pinski treba biti povezan na analogni priključak na sljedeći način:
2.4.4 Vodič za programiranje
 Arduino programiranje
Ako koristite Arduino za pisanje programa, biblioteka Makeblock-Library-master treba biti pozvana da
kontroliše Me Light Sensor. Ovaj program nalaže senzoru svjetlosti Me da čita trenutni intenzitet
svjetla kroz Arduino programiranje.
Lista funkcija Me Light Sensor-a
Ime funkcije Funkcija
MeLightSensor(uin8_t port) Odabir porta
read() Čita vrijednost intenziteta svjetlosti

Funkcija segmenta koda je: čitanje otkrivenih rezultata intenziteta svjetla i njihovo izlazenje na serijski
monitor u Arduino IDE-u, i vidjet ćete rezultat rada kako slijedi:

 mBlock programiranje
Me Light Sensor podržava okruženje za programiranje mBlock i njegove instrukcije su predstavljene
na sledeći način:
Opis programiranja Uvod
Parametri:Odabir porta
Funkcija:Vraća vrijednost intenziteta
svjetlosti(opseg 0-980)

Ovo je primjer kako koristiti mBlock za kontrolu Me Light senzora. Panda će progovoriti o vrijednosti
intenziteta svjetlosti koja se čita iz senzora svjetla Me. Što je intenzitet svjetla viši, to je veća
vrijednost. Rezultati rada su:
2.4.5 Analiza principa
Ovaj modul (Me Light Sensor) je svjetlosni senzor razvijen na bazi principa fotoelektričnog efekta
poluvodiča. Njegova glavna komponenta je fotoelektrični tranzistor čija se otpornost smanjuje s
povećanjem intenziteta svjetlosti. Kaskadno ga s drugim resistorom i izlazom vrijednosti otpora
razdjelnika, promjenjivi svjetlosni signal može pretvoriti u mijenjanje električnog signala, a zatim izlaz
iz analognog porta. Ovaj osetljivi modul se može koristiti za izradu lakih interaktivnih projekata, kao
što je inteligentni dimni lamel, kako bi se osiguralo da je intenzitet ambijentalnog osvjetljenja ugodan
za ljudsko tijelo.
3.0 Softver i programiranje

Upravljanje svim MakeBlock robotima je ostvarljivo na više načina. Samim time što je osnovna
namjena učenje programiranja, automatski su kompatibilni sa nekim programskim alatima i
programskim jezicima.
Za konkretan slučaj, mBlock robota postoje ti načina upravljanja robotom
1. Upravljanje daljinskim upravljačem
2. Upravljanje pomoću aplikacije na android/IOS pametnom telefonu
3. Upravljanje uz pomoć računara i programa.
Upravljanje daljinskim upravljačem je najjednostavniji način upravljanja, te uz pomoć njega nije
moguće vršiti bilo kakvo programiranje, već isključivo radnje koje su već zadate po defaultu pri prvom
startanju robota.
Upravljanje se vrši uz pomoć IR senzora integrisanog na matičnoj ploči

Slika 9. Upravljanje uz pomoć daljinskog upravljača


3.1 Upravljanje pomoću pametnih telefona

mBlock aplikacija je softverski program, kompatibilan sa android i IOS platformama za


pametne telefone, koji omogućava lagano savladaanje osnova programiranja, te omogućava zabavno, a
ujedno i korisno iskustvo učenja o robotima.
Rad sa ovom aplikacijom zasnovan je na jednostavnom grafičkom programiranju, koje je zaobišlo
učenje teških sintaksi kao u standardnim programskim jezicima, već je sada to moguće uz pomoć
globalno prihvaćenog grafičim programskim jezikom posebno prilagođenim za mBot. Grafičko
programira podrazumijeva slaganje blokova, gdje svaki blok predstavlja jednu naredbu, a povezivanje
tih blokova pravi jednu zasbnu cjelinu

Takođe, pored mBlock aplikacije, postoji aplikacija Blockly, koja predstavlja jedinjenje daljinskog
upravljanja i grafičkog programiranja.
Razlika između daljinskog upravljanja i upravljanja uz pomoć Blockly aplikacije je u tome što na ovaj
način nismo ograničeni da moramo stalno imati daljinski upravljač pored sebe, nego to jednostavno
možemo uraditi povezivanjem mobilnog telefona sa robotom.
Takođe, android povezivanje se vrši uz pomoć Bluetooth-a, te s toga nismo ograničeni na udaljenost
kao što je slučaj sa daljinskim upravljačem.

Slika 10. Mblock aplikacija


3.2 Upravljanje uz pomoć računara

Softverski paket za povezivanje mBoot robota i računara je mBlock, zasnovan na istom


interfejsu kao i mBlock aplikacija za mobitele, sa tom razlikom, što mBlock za računare omogućava
samo prenos koda sa računara na robot uz pomoć USB povezivanja, bez mogućnosti “live “ upravljanja
robotom.
Međutim, jedna od korisnih prednosti računarskog programiranja je u tome da se u mBlock programu,
može programirati na više različith načina.
Prvi i najjednostavniji je grafičko programiranje kao i na mobilnim telefonima. Drugi način je pomoću
pisanog koda za arduino.
Dobra stvar kod ovog načina programiranja jeste, da se znajući jedan tip programiranja, automatski
savladava i drugi, jer se, na primjer, pravljenjem grafičke strukture, automatski ispisuje kod za arduino
programiranje, i obrnuto. Na taj način, se uče sintakse za jedan novi programski jezik.

Slika 11. Mblock računarski program

You might also like