You are on page 1of 57

mBlock

eta

Arduino
Scratch 2.0n oinarritua

Joseba Alkorta
joseba.alkorta@berritzegunenagusia.eus
2016/11/22
mBlock
------------------------

1
mBlock
------------------------

Aurkibidea

1.- Hasierako konfigurazioa

1.0.- mBlock portablea erabili

1.1.- Programa jaitsi eta instalatu

1.2.- Arduino plaka erabiltzeko DRIVER-ak instalatu. Bi aukera

1.3.- Arduino eta mBlock programa

1.4.- mBlock programaren erabilerak

2.- Ariketak

3.- ARDUINO PLAKAK eta SHIELD edo OSKOLA batzuk

3.1.- Arduino plaka batzuk

3.2.- SHIELD edo Oskolak

3.3.- Arduino daramaten beste aukerak

3.3.1.- BQ: ZUM kit

3.3.2.- a.- MakeBlock: mBot

b.- MakeBlock: Orion

c.- dBot

Ariketak

4.- Eranskina: Arduino ariketak urratsez-urrats

Urratsez urratseko motorra (PAP motor edo STEP motor)

2
mBlock
------------------------

1.- Hasierako konfigurazioa


1.0.- mBlock portablea erabili

Instalazio bakarra egin behar da programa erabiltzeko. Instalazioan


sortzen den mBlock karpeta kopiatu eta pendrive batera pasa. Beste
ordenagailuetan kopiatu karpeta, aplikazioan sakatu eta martxan dago
programa. Noski Adobe Air instalatua egon behar du.

Karpetaren instalazioa normalki:C:\Archivos de Programa\mBlock

1.1.- Programa jaitsi eta instalatu

http://www.mblock.cc/download/

mBlock programak bi sistema eragilerentzat dago


prestatuta momentuz: Windows eta Mac

Linux ean erabiltzeko irakurri


https://sites.google.com/site/teknologiabn/
mblock

http://www.makeblock.es/foro/topic/25/mb
lock-con-linux

Scratch 2.0-kin behar den bezala, Adobe


Air instalatuta egon behar du mBlock
erabiltzeko.

Hasierako pantaila Scratch 2.0-ren berdina


da; hartza agertzen da katuaren ordez.

Berezitasun gehiago:

. Menuan

. Agindu-blokeetan: “Datuak eta Blokeak”


eta “Robotak”

3
mBlock
------------------------

Scratch 2.0 dokumentuan azaldutako guztia baliagarria da mBlock programarentzat.


Han azaltzen diren ariketa guztiak exekuta daitezke software honetan ere.

Euskara hizkuntza ez dago hizkuntzen zerrendan inplementatuta oraindik, baina


urrats txiki batzuen bitartez lor daiteke. Horretarako, programa
berak dakarren kalkulu-orri erako artxibo bat, locale.xlsx izenekoa,
euskara hizkuntza gehituta daraman beste batengatik ordezkatu.

Nola egin
. Karpetara joan zuzenean:
mBlock programa instalatu den karpeta aurkitu; normalki C diskoan egongo
da. Adibidez: C:\Archivos de programa\mBlock\locale
Locale karpetan dagoen locale.xlsx fitxategia beste honengatik
http://bit.ly/2f3Jy2I ordezkatu
Honekin nahikoa izaten da, baina era honetan ez badabil, ondorengoa egin
. mBlock programa exekutatu eta bertatik egin:
a.- Menuan Extensions sakatu eta ondoren Manage Extensions

b.- Arduino - View Source sakatu

c.- mBlock horretan sakatu, mBlock karpetara iristeko

d.- locale karpeta zabaldu

Hemen dagoen locale.xlsx artxiboa, jaitsi


den locale.xlsx artxiboagatik ordezkatu.
. Itxi programa eta berriro exekutatu mBlock. Menuan Language
aukeratu. Erabilgarri dauden hizkuntza zerrenda dago.

4
mBlock
------------------------

1.2.- Arduino plaka erabiltzeko DRIVERak instalatu. Bi aukera

a.- mBlock programa bertatik egin daiteke

Menuan: Konektatu – Arduinoren driver-ak instalatu


mBlock software berak aurkitzen du plaka, eta driver
instalazioan hasten da.

b.- Arduino IDEtik

Arduino IDEa instalatua izan behar da aldez aurretik. Deskargatu leku honetatik:

https://www.arduino.cc/en/Main/Software

Aukera desberdinak daude. Windows


instaler erabili da hemen.

Arduino softwarea instalatu.


Instalatzerakoan adi egon zein
karpetetan instalatzen den Arduino
softwarea.

Arduino plaka lehenengo aldiz ordenagailura


konektatzerakoan, eta windows bertsioaren arabera, leiho Hardware berria aurkitu da
txiki batean eskuinean behean eta denbora oso txikian, Arduino UNO R3 (COM xx)
alboko hau adierazten du

Ondoren Hardware berria instalatzeko leihoa


zabalduko da.

hemen bigarrena aukeratu “Instalar desde una


lista …” eta ondoren sakatu “Siguiente”,

5
mBlock
------------------------

“Incluir esta ubicación …” aukeratu eta


ondoren “Examinar” sakatu.
Arduino instalatu den karpetara jo eta
han Drivers karpeta aurkitu arte jarraitu
bidea. Ondoren “Siguiente” Sakatu.

Ondoko leihoa zabalduko da. Nahiz


eta windows-ek egiten duen froga ez
duela gainditu jarri, sakatu
“Continuar”

Agertzen den leiho berrian adierazten du bukatu dela


driver instalazioa, “Finalizar”.

1.3.- Arduino eta mBlock programa

Programa bat egiten hasi baino lehen, mBlock softwarearen


menuan aukeratu behar dira:

Ingelesezko hitzak jartzen dira

. Boards: zein plaka mota erabliko den adierazi. Kasu


honetan Arduino Uno aukeratu da.

6
mBlock
------------------------

. Extensions: konektatuko den plakaren


arabera, Robots agindu-blokeetan zein
plakarentzat ikusi nahi diren aginduak .

. Connect: plakan driver-ak instalatuta badaude


menu honetan azalduko da COM zerrenda; aukeratu
plakari dagokion COM. Kasu honetan COM18
aukeratu da.

Plakarekin konektatuta dagoenean,


botoi gorriaren ordez, berdea
jartzen da.

Oharra: mBlock eta Arduino artean


nahiz eta botoi berdea egon, ez du
esan nahi Firmwarea
deskargatuta dagoenik plakara.

7
mBlock
------------------------

1.4.- mBlock programaren erabilerak

mBlock programak bi erabilera desberdin dauzka Arduino plakarekin:

a.- Denbora guztia ordenagailura konektatuta USB atakara


. mBlock-en eszenatokian, Scratch-
aren aginduak erabiliz sortu diren
objektuak mugitzeko

. USB atakan konektatutako Arduino plakari


jarritako sarrerak irakurtzeko (aldagaiak erabiliz
ikus daitezke balioak) eta irteera fisikoak
aktibatzeko.

b.- Agindu-blokeak Arduinoren lengoaiara itzuli eta plakara deskargatu

Bloke honen gainean


sakatuz leiho berri bat
zabaltzen da; kodea dago
bertan: Processing lengoaia.

Baina kontuz!!! mBlock


erabiltzen jarraitu nahi bada
egindako programa plakara
deskargatu ondoren, edo
Arduinoren IDEarekin erabili
bada, berriro Firmwarea
bidali behar zaio Arduino
plakari.

8
mBlock
------------------------

ARIKETAK

GOGORATU:

Bi eratara landu daitezke ariketak:

1.-

. Beti ordenagailuaren USBra konektatuta egon behar da.


. Scratchekin bezala, eszenatokian agertzeko objektuak
marraztatuz simula daiteke ordegailuan.
2.-

. Arduinorentzako kodea sortu eta Arduino plakara irauli


programa.

. mBot plakarentzako ere berdina

Ondoren plakak aparte elikatu eta USBtik deskonektatuta erabil daitezke

Hasierako 1 eta 2 ariketak bi eratara egin dira, bi bloke hauen


arteko desberdintasuna hobeto ulertzeko

ONDORENGO ARIKETAK jaitsi daitezke: Karpeta konprimatu honetatik

9
mBlock
------------------------

1.- Hiru LED era honetan piztu nahi dira, lehenengo bat, segundo batera
bigarrena eta azkenean hirugarrena beste segundo batera; ondoren
hirurak itzali segundo bat pasa ondoren.
Zikloa 10 aldiz errepikatuko da
Sortu den objektua edo Spritea eta dagozkion mozorroak

Sprite edo Objektu bakoitzari egindako programa

10
mBlock
------------------------

Arduino plakara irauli edo deskargatu nahi denean, Scratch berak


eszenatokian erakusteko erabiltzen dituen aginduak kendu behar dira. Kasu
honetan soberan dauden blokeak:

Sarrerak: ez dago Irteerak: 13, 12, 11

Fritzing programa erabiliz eginda


dago ondoko irudia
Hemendik jaitsi daiteke:
http://fritzing.org/download/

Konexioak:

Irteerak:
. LED Berdea: 13
. LED Horia: 12
. LED Gorria: 11

220 ohm-eko erresistentzia bakoitzaren hanka bat negatibora


konektatu da eta ondoren beste hanka LED bakoitzaren katodora
(negatiboa da katodoa) eta LEDen anodoak Arduino plakaren
irteeretara eraman dira. Kasu honetan 13, 12 eta 11 pin-etara.

11
mBlock
------------------------

2.- Lau LED era honetan piztuko dira: lehenengoa piztu, ondoren
bigarrena eta bere aurrekoa itzali, gero hirugarrena piztu eta
aurrekoa itzali. Hau da, denbora guztian LED bakarra egongo da
piztuta eta argia mugitzen ikusiko da.

Sortu den objektua edo Spritea eta dagozkion mozorroak

Sprite edo Objektu bakoitzari egindako programa

12
mBlock
------------------------

Arduino plakara irauli edo deskargatu nahi denean Scratch berak


eszenatokian erakusteko erabiltzen dituen aginduak kendu behar dira. Kasu
honetan soberan dauden blokeak:

Konexioak:

Irteerak:
. LED Urdina: 10
. LED Gorria: 11
. LED Horia: 12
. LED Berdea: 13

Fritzing programa erabiliz eginda


dago ondoko irudia

220 ohm-eko erresistentzia bakoitzaren hanka bat negatibora


konektatu da eta beste hanka LED bakoitzaren katodora (negatiboa
da katodoa) eta LEDen anodoak Arduino plakaren irteeretara
eraman dira. Kasu honetan 10, 11, 12 eta 13 pin-etara.

13
mBlock
------------------------

3.- Semaforo baten funtzionamendua.

a.- Beti funtzionamendu normala egiten

b.- Etengailu bat jarri aukera egiteko


funtzionamendu normala edo horia
keinuka egoteko

a.- Funtzionamendu normala

Konexioak:

Irteerak:
. LED Gorria: 13
. LED Horia: 12
. LED Berdea: 11

b.- Etengailu bat jarri da aukera egiteko: funtzionamendu normala edo bestela LED
horia keinuka egoteko

Konexioak:

Sarrera:
. Etengailua: 3

Irteerak:
. LED Gorria: 13
. LED Horia: 12
. LED Berdea: 11

OHARRA:

Semaforoa normal funtzionatzen duen


bitartean etengailua konektatzen bada ez
du berehala egingo keinuka, lehenengo
egiten ari den sekuentzia bukatuko du .

14
mBlock
------------------------

Sentsore analogikoak frogatzeko era azkar bat

Sentsore analogiko gehienak 3 kable daramate:


gorria, beltza eta zuria (edo laranja …)

Konexioak horrela egiten dira:

Gorria: + 5 volt
Beltza: 0 volt (edo GND)
Zuria: plakaren sarrera analogikora
(kasu honetan A5)

Edozein sentsore frogatzeko ondorengo programa


erabil daiteke:

Zer egin da, zergatik eta zertarako?

. Aldagai bat sortu da, kasu honetan “distantzia” izena eman zaio

. Sentsorearen balioa pantailan ikusteko modu bakarra aldagai bat


sortuz da.

. Horrela jakin daiteke zein balio tartean dabilen sentsorea. Programa


egiterakoan kontuan izango dira ematen dituen balioak.

Aldagaian ikus daitekeen balioa Sentsorea ematen ari den balioa da

15
mBlock
------------------------

4.- Etengailu bat, pultsadorea, mugimendua detektatzeko sentsorea …


erabiltzen da orain. Sentsore digitalak dira. Sakatzean edo
mugimendua detektatzean kontaktu bat itxi egiten da eta tentsio
heltzen da plakaren sarrerara. Detektagailu digitalak Arduinoren
sarrera digitalean edo analogikoan konekta daitezke.

a. Detektagailua digital sarreran konektatuz

Konexioak:

Sarrera:

etengailua: 3

Irteera:

LED: 13

b. Sarrera analogikoan konektatuta. Sentsoreak mugimendua


detektatzerakoan 500 baino balio handiagoa emango du,
detektagailua digitala bait da.

Konexioak:
Sarrera: A0
Irteera: 13

16
mBlock
------------------------

5.- Distantziaren arabera balio bat ematen duen


infragorri bidezko sentsorea erabiliko da. (Sharp
GP2Y0A21YK0F 10-80cm)

Sortu den aldagaia: Distantzia


Sentsorearen balioa 255ra mugatzeko erabili da

Konexioak:

Sarrera: IR distantzia: Analog0

Irteerak: . LED Berdea: 10


. Serbomotorea: 9

Sarrera: Sharp etxeko infragorri sentsorea erabili da. Funtzionamendua


horrela da, emango dituen balioak aurrean daukan objektura
dagoen distantziaren araberakoak izango dira; doitu edo kalibratu
zein balio ematen dituen:
. oso gertu = balio handia ematen du
. oso urruti = balio txikia ematen du

Irteerak: (sermotorearen konexioak irakurri 6. Ariketan)

. 10 irteera PWM erakoa denez LEDak emango duen argitasuna


aldatuko da

. 9 irteeran serbomotorera bira jarraia egiteko prestatuta, 100 balio


inguruan geldituko da eta 100 baino handiago edo txikiago izan alde
batera edo bestera egingo du bira. Frogatutako serbomotorearekin 93
sartuz gelditzen da.

17
mBlock
------------------------

Serbomotoreak bi modutan erabiltzen dira:

. 0º eta 180º tarteko angelua emateko


. Mugimendu jarraia egiteko (honetarako, serboa prestatu
beharra dago)

Serbomotorearen konexioak

Markaren arabera izango dira koloreak


baina beti dira tartean kable Gorria
(positibora) eta Beltza (negatibora) eta
hirugarrena Laranja, Zuria edo Horia
izaten da, eta hau Arduinoren PWM
irteera batean konektatzen da: 3, 5, 6
9, 10 edo 11 pin-etako batean.

Normaliki 0º eta 180º tako angeluan mugitzeko dira, baina askotan ere bira
osoa egiteko erabiltzen dira kotxeetako gurpiletan. Honetarako norberak
prestatu dezake edo bestela erosterakoan mugimendu jarrai egiteko
prestatutakoa erosi.

Frogatu bi motatako serbomotoreak ondorengo programarekin

Konexioak:

serboa : pin 9

18
mBlock
------------------------

6.- Bi sentsore analogiko. bata LDRa, leku bateko argitasuna


kontrolatzeko, eta bestea NTCa berotasuna kontrolatzeko.
LDRaren balioa 500 baino txikiagoa bada LED diodoa keinuka piztu
eta itzali egongo da eta 500 baino handiagoa bada, itzaliko da eta
doinu bat jotzen egongo da.
NTCaren balioa 800 baino handiagoa bada haizagailua jarriko da
martxan serbomotorea aktibatuz, baina 800 baino txikiagoa bada
haizagailua geldirik egongo da.

Egin beharreko konexioak irudian ikus


daitezke

LDR Analog0-an konektatu da

NTC Analog2-an konektatu da

Frogatzerakoan jasotako balioak:

Konexioak horrela egiten dira:

. LDR-ren hanka bat positibora konektatu da

. Beste hanka 10Kohm-eko erresistentziara

. Erresistentziaren beste hanka Negatibora

. LDR eta Erresistentzia elkartu diren lekutik


joango da Arduino plakaren Analog0 pinera.

19
mBlock
------------------------

Konexioak

Sarrerak:

Bi aldagai definitu dira: LDR eta NTC

LDR A0-n konektatu da


NTC A2-n konektatu da

Irteerak: 9-an mugimendu jarraituko serbomotorea

OHARRA: Serbomotoreari jarritako balioak: 45 alde batera mugitzeko


93 gelditzeko

Bi modutan egin da

20
mBlock
------------------------

7.- Argitasun sentsorea, LDR, eta etengailu bat erabiliko dira 3 LED eta
serbomotore bat kontrolatzeko.
Etengailua eraginda dagoen bitartean funtzionatuko du bakarrik.
LDRaren balioa 400 baino txikiagoa bada 2 LED eta serbomotorea
jarriko dira martxan, baina LDRaren balioa 400 baino txikiagoa bada
beste LED bat piztu eta itzali ibiliko da eta serbomotorea itzalita
egongo da.

Konexioak

Sarrerak:

. Etengailua: 3
. LDR: A0

Irteerak:

. LED1: 13
. LED2: 12
. LED3: 11
. Serbomotore jarraia: 9

(Kasu honetan 93
jartzerakoan serbomotorea
gelditzen da)

Bi aldagai definitu dira:


. Etengailua
. LDR

21
mBlock
------------------------

8.- Argitasun sentsorea, LDR, eta distantzia sentsorea erabiliko dira.


Ariketa honetan bi aldagaien baldintzen arabera LED1 edo LED2
aktibatuko dira.

Konexioak:

Sarrerak:

Biak analogikoak:

. A3, distantzia
neurtzeko:

. MaxSonar erabili
da eta 0m eta 6m
arteko distantzia
neurtzen du

. A1, argitasuna
neurtzeko

. LDR erabili da

Irteerak:

Biak digitalak

. 12, LED1
. 13, LED2

22
mBlock
------------------------

9.- Korronte zuzeneko bi motor erabiliko dira era honetan: Behin eta
berriro bi motorrak alde batera mugituko dira segundo batean eta
ondoren bestaldera bira egin beste segundo batean eta geldirik egon
segundo batean.

Korronte zuzeneko motorrak erabiltzeko L293D edo L298 txipak erabiliko


dira.

Konexioak:

Irteerak:

. Motor1: 11 eta 10

. Motor2: 5 eta 6

Arduino plaka ez dago prestatua korronte zuzeneko motorrentzako. Ezin


zaie konektatu plakako irteerei.

Robotikan korronte zuzeneko motorrak erabiltzen direnean, transistorez


osatutako zirkuituaren bidez konektatzen dira, normalki H erako zirkuitua.

H erako zirkuitua txip batzuk integratua daukate. Horietakoak dira L293 eta
L298. Hemen erabili izan den txipa azken hau izan da.

OHARRA:

Motorrak nola konektatzen diren ulertzeko ikusi 10. ariketaren


irudia

23
mBlock
------------------------

10.- Bi motor konektatu dira. Jarduera honetan programa aztertu eta


esplika ezazu zer egiten duen. Elementuen konexioak ere ulertu.

Konexioak:

Zeintzuk dira:

Sarrerak:

Irteerak:

24
mBlock
------------------------

11.- Irteera bat kontrolatuko da PWM erabiliz. Konektatu LED bat eta
frogatu.

Arduino UNO plakak PWM irteera batzuk dauzka

Ikur hau ~ daramaten pin


horiek dira PWM (pulse with
modulation) pultsu-
zabaleraren bidezko
modulazioa daukatenak.

Erabil daitezkeenak:

3, 5, 6, 9, 10 eta 11

25
mBlock
------------------------

12.- Igogailu baten simulazioa egin daiteke pantailan “Datuak eta


Blokeak” agindu-blokeen barneko “Blokea sortu” erabiliz

Kasu honetan ez dira Arduino plakako sarrerako pinak erabiltzen.


mBlock-eko eszenatokian hartzaren mugimendua kontrolatzeko
teklatuko geziak gora eta behera eta “b” gora heldu dela, eta “n” behera
heldu dela esateko.

OHARRA: 50. orrialdean egina dago Arduinorentzat bakarrik, 17.


ariketa, igogailua

26
mBlock
------------------------

3.- ARDUINO PLAKAK eta SHIELD edo OSKOLA batzuk

KONTUZ!!! : Bi Arduino marka eta software daude

. https://www.arduino.cc/

. http://www.arduino.org/

3.1.- Arduino plaka batzuk

a.- Arduino UNO

. Mikrokontroladorea: ATmega328

. Sarrera/Irteera digital: 14
(horietatik 6 PWM irteera)

. Sarrera analogikoak: 6

b.- Arduino DUE

. Mikrokontroladorea : AT91SAM3X8E

. Sarrera/Irteera digital: 54
(12 PWM)

. Sarrera analogikoak: 12

. Irteera analogikoak: 2 (DAC)

c.- Arduino MEGA

. Mikrokontroladorea:
ATmega2560
. I/O digitalak: 54
(horietatik 15 PWM)
. Sarrera analogikoak: 16

Zerrenda luzea da: LEONARDO, YÚN, ESPLORA, ETHERNET …

27
mBlock
------------------------

3.2.- SHIEL edo Oskolak

Aurreko plaka hauei SHIELD izenez ezagutzen diren beste plakak gehituz, funtzio edo
eginkizun gehiagorako aukera ematen dute

a.- Simulazioak egiteko sentsoreak integratuta plakan:

1.- Arduino Basic Oskola (Shield) MSE Bilbo

KONTUZ

Momentuz, mBlock programarekin oskola honen sarrera/irteerak


funtzionatzen hasteko, “Starter Bluetooth” berrezarri ondoren lortzen da.
mBlock 3.4.2 bertsioan Orion plaka aukeratuz ateratzen da Starter Bluetooth.

Dena dela jakin, nahiz eta ez funtzionatu simulazioan mBlock programarekin,


plakara programa deskargatu ondoren funtzionatzen duela.

28
mBlock
------------------------

2.- Imagina plaka, Picaxe.es

b.- Sentsoreak eta aktuadoreak konektatzeko


prestatutakoak

. Motor Shield:

. Shield Arduino UNO, makeblock.es

Arduino plakaren
gainean kokatzeko

Azpian jarrita daude


Port bakoitzeko
konexio guztiak.
Konektorearen kable
bakoitzari zer dagokion. Adibidez Port3 = SCL, SDA,
GND, 5V, D13, D8

29
mBlock
------------------------

3.3.- Arduino daramaten beste aukerak

3.3.1.- BQ: ZUM kit

3.3.2.- MakeBlock: mBot

a.- bi aukera kit-etan:

2.4G Bluetooth

b.- Plaka bakarrik, Orion base board

30
mBlock
------------------------

c.- MegaPi, https://www.makeblock.es/productos/megapi/

Raspberry Pi plakaren gainean konektatzeko aukera.

Arduino ATmega2560 plakan oinarritzen da.

8 serbomotore konekta daitezke

Urratsez urratseko motorrak,

motor-enkoder

31
mBlock
------------------------

ARIKETAK
mBot kotxea : Arduino UNOn oinarrituta

32
mBlock
------------------------

Ariketa hauek egiten hasi aurretik, Irakurri berriro 8. orrialdeko “GOGORATU”

1.- Plaka gaineko 2 RGB LEDak aktibatzeko ariketa

2.- Plaka gaineko 2 RGB LEDak aktibatzeko ariketa baina oraingoan


argitasun, ultrasoinu eta ausazko balioen arabera piztuko dira

33
mBlock
------------------------

3.- Urrutiko IR agintearekin kotxea kontrolatu

Pintza ere erabil daiteke

34
mBlock
------------------------

. Shield Arduino UNO, makeblock.es


Tenperatura sentsorea, 4 LED RGB eta 7 segmentuko erakuslea
Hiru elementu hauek erabiliz: LED RGB, Display eta Tenperatura sentsorea froga egin da.

Sarrera: Ataka 7: tenperatura sentsorea

Irteerak: Ataka 8 : display

Ataka 3: LED RGB

35
mBlock
------------------------

ORION Arduino UNO plakan oinarrituta

Esplika ezazu zer gertatzen den ariketa honetan:

Konexioak: Ataka 3 : Tenperatura sentsorea


Ataka 4 : 7 segmentuko erakuslea
Ataka 6 : 4 LED RGB

36
mBlock
------------------------

Esplika ezazu zer gertatzen den ariketa honetan:

Konexioak: Ataka 3 : Infragorri-hartzailea


Ataka 6 : 7 segmentuko erakuslea
Ataka 8 : Joystick: Slot1 = X,
Slot2 = Y

37
mBlock
------------------------

Arduino 3dBot Picaxe.es web orrialdekoak egindakoarentzako adibideak


Plaka Imaginaren konexioak ikus 26. orrialdean

. Plakan dauden hiru LEDak banaka piztu eta itzali

Konexioak:

LED1 : pin 3

LED2 : pin 5

LED3 : pin 6

. Kotxea mugitu abiadura kontuan hartzeke

Konexioak:

M1 : pin 7

pin 8

M2 : pin 12

pin 13

38
mBlock
------------------------

ERANSKINA: Arduino ariketak urratsez-urrats

HELBIDE HONETATIK konprimatuta jaitsi daitezke http://bit.ly/2fmxnfc

- Irteerak bakarrik erabiliz

1.- Arduino plakako 13 pinean LED bat konektatu da.


Keinuka segunduro piztu eta itzaliz jarri nahi da.

Konexioak: LED -- Pin 13

2.- Bi LED, L1 eta L2 piztu eta 2s-tara L1 itzali eta ondoren beste 3 s-tara L2 itzali.
(Egin daiteke behin bakarrik egitea edo betirako horrela).

Konexioak:
L1 -- pin 13
L2 -- pin 12

3.- Hiru lanpara L1, L2 eta L3 era honetan: L1 piztu eta 2s-tara L2 eta 3s-tara L3 eta
5s-tara denak itzali. (Denbora norberak ulertzen duen eran egin)

Konexioak:

L1 – pin 13
L2 – pin 12
L3 – pin 11

39
mBlock
------------------------

4.- Semaforo bat nahi da kontrolatu. Semaforoak 3 LED dauzka: Hasieran Berdea
piztu, 8 s-tara Laranja eta 2 s-ra Berdea eta 6 s-tara berriro Gorria

Konexioak:

pin 13 : Berdea
pin 12 : Laranja
pin 11 : Gorria

5.- Lau (4) irteera erabiliz LEDak banaka pizten joan eta aurrekoa itzaltzen. Ariketa
honetan argia mugitzen ikustea lortu nahi da.

Konexioak:

pin 13 : L1
pin 12 : L2
pin 11 : L3
pin 10 : L4

40
mBlock
------------------------

Norbera saiatzeko egiten

A.- Hasieran L1 piztu, segundo bat pasa ondoren L2 piztu, segundo batera L1 itzali eta
beste segundo batera L2 itzali.

B.- L1 eta L2 piztu batera eta 2 segundora L1 itzali eta L3 piztu; beste 2 segundo pasa
ondoren L2 itzali eta beste 2 segundo ondoren L3 itzali.

C.- Hirurak batera piztu eta ondoren 2 segundoero banaka itzaltzen joan.

D.- Semaforo bat nahi da kontrolatu. Semaforoak 3 LED dauzka kotxeentzat, GORRIA,
LARANJA eta BERDEA eta 2 LED oinezkoentzat, GORRIA eta BERDEA. Hasieran
Kotxeak Gorria izango du eta oinezkoak Berdea.

E.- Bost (5) irteera erabiliz 5. ariketa bezala baina oraingoan bi egongo dira piztuta beti.
Bi argi ikusiko dira mugitzen.

ARDUINO plakara konexio fisikoak nola egin adierazteko Fritzing softwarea erabili
daiteke. Kasu honetan 4 LED erabili dira loturak nola egin diren ikusteko:

Konexioak: Plaka zulatua eta Arduino

Kable beltza: GND


Lerro honetara konektatu
dira erresistentzia guztiak

pin 13 : LED Berdea


pin 12 : LED Horia
pin 11 : LED Gorria
pin 10 : LED Urdina

41
mBlock
------------------------

6.- Serbomotorea kontrolatzen

a.- Angelua: 0º eta 180º tartean

PWM irteera erabiltzen da

Konexioak:

Serbomotorea : pin 9

Serbomotorea nola konektatzen den


esplikatuta dago 17. orrialdean

b.-Serbomotore jarraiaren funtzionamendua frogatu eta ulertu.

Bi eratara

. PWM agindua erabiliz

Konexioak:

Serbomotorea: pin 6

42
mBlock
------------------------

. Serbo agindua erabiliz

Zer egiten du kasu honetan?

Zergatik eta zertarako jarri da 94?

Froga ezazu angeluaren zenbakiak aldatzen: 0 , 89 , 97 , 190

7.- Korronte zuzeneko motorra kontrolatzen

Gogoratu Arduino plakatik zuzenean


motorra mugitzeko indarrik ez daukala.
Horregatik erabiltzen dira beste Shield
edo oskola batzuk.

Kasu honetan:

L298 txipa daraman plaka erabili da


L293D ere erabil daiteke

Plakaren konexioak 24. orrialdeko 10.


ariketan azalduta dago

43
mBlock
------------------------

Ondorengo ariketan motor baten abiadura kontrola egiten da.

Lehenengo ulertu ezazu zer egiten duten PWM


daramaten agindu mota hauek:

GOGORATU 25. Orriladean


azaldutakoa:

Arduino plakan IRTEERA batzuk


bakarrik erabil daitezkeela
PWM eran, konkretuki
ikurra daramatenak dira:

3, 5, 6, 9, 10 eta 11

Ariketa honetan horrela


konektatu dira:

. motor: 8 eta 11

. LED: 13

Ulertu eta esplika ezazu


funtzionamendua

44
mBlock
------------------------

- Sarrera digitalak detektatzen

8.- Pultsadore bat eragiten den bakoitzean, L1 piztu eta 3s-tara itzali egingo da.

Kontuan izan nola konektatzen den


Pultsadore edo Etengailu bat fisikoki
Arduino plakara

Konexioak:

pin 3 : Pultsadorea
pin 13 : LED

Konexioa nola egin

Fritzing erabiliz pultsadorea

9.- Etengailu bat eraginda dagoenean L1 eta L2 biak batera piztu bestela biak aldizka.

Konexioak:

pin 3 : Etengailua
pin 13 : LED1
pin 12 : LED2

45
mBlock
------------------------

10.- Semaforo bat nahi da kontrolatu. Semaforoak 3 LED dauzka kotxeentzat,


GORRIA, LARANJA eta BERDEA eta 2 lanpara oinezkoentzat, GORRIA eta
BERDEA. Hasieran Kotxeak Gorria izango du eta oinezkoak Berdea.
Etengailu bat eraginda badago, orduan LARANJA BAKARRIK egongo da KEINUKA.

Konexioak:

Sarrera:
pin 3 : Etengailua

Irteerak
pin 13 : Berdea
pin 12 : Laranja
pin 11 : Gorria

Norbera saiatzeko

F.- Etengailua eragiten den bakoitzean, L1 eta L2 piztu eta 2 s-ra L2 itzali eta beste 2 s-
ra L1 itzali.

G.- P1 Pultsadorea sakatzerakoan L1 piztu eta itzaltzen egongo da aldizka eta P2


sakatzen bada itzali egingo da.

H.- Pultsadore bat eragiten den bakoitzean, 5 aldiz errepikatu LED argia piztu eta itzali
aldizka (intermitenteki) bestela LEDa piztuta mantendu.

46
mBlock
------------------------

- Aldagaiak erabiltzen

Aldagaiaren beharra dago zerbait gertatu dela gogoratzeko, kontatzeko, sentsore


analogiko baten balioak aldez aurretik ezagutzeko edo gordetzeko …

11.- Pultsadorea lehenengo aldiz sakatzerakoan argia piztuko da, eta berriro sakatzen
denean itzaliko da. Hau da, pultsadore berdinarekin argia piztu eta itzali egiten da.

Konexioak:

Sarrera:

P1 : pin 3

Irteera:

LED : pin 9

12.- Aparkaleku batean kontatu nahi dira zenbat kotxe sartzen diren

Konexioak:

Sarrera: Frogatu, aztertu eta esplikatu bi programa hauek:

P1 : pin 3 Zer egiten dute eta zergatik egin da horrela?

47
mBlock
------------------------

Norbera saiatzeko

I.- Aparkaleku batean zenbat kotxe dauden kontatu. Sarreran detektore bat dago eta
irteeran beste bat.

J.- Bi pultsadore, P1 eta P2. Bietako edozein sakatzerakoan LED bat itzalita badago
piztuko da, edota piztuta badago itzaliko da.

K.- Hiru etengailu arruntez baliatuz, lanpara bat hiru puntutatik piztu eta itzali,
konmutadoreen eta gurutzatze-konmutadorearen moduan.

L.- P1 Pultsadorea sakatzerakoan LEDa aldizka piztu eta itzaltzen egongo da. Berriro
P1 sakatzerakoan LEDa itzaliko da.

- Sarrera analogikoak detektatzen

Sarrera analogikoak erabiltzerakoan kontuan hartu Eragiketak aukeratu beharko dela.


Sentsore analogikoak 0 – 1024 arteko balioa eman dezake, horregatik konparaketa
bidez erabakiak hartuko dira.

Aldagaiak sortzean, sentsore analogikoak froga daitezke eta balioak ezagutu


daitezke. mBlock berak pantailan azalduko ditu.

Adibide bezala LM35, tenperatura neurtzeko sentsorea eta LDR, argitasuna neurtzeko
sentsorea erabili dira

Konexioak:

Sarrerak:

LM35 : pin A0

LDR : pin A1

48
mBlock
------------------------

13.- Gela batean argiak automatikoki piztea nahi da. Horretarako LDR bat erabili da.

Konexioak:

Sarrera:

LDR : pin A0

Irteera:

LED : pin 9

Argiak 220V bonbillak erabilita egin nahi bada, kontuan hartu Arduino
plakak ez duela ematen nahiko intentsitaterik errele bat aktibatzeko.
Horretarako elektronika analogikoan azaldutakoa izan kontuan.

Errelearen harilkatuak
(bobinak) behar duen
tentsioa

49
mBlock
------------------------

- Azpiprogramak erabiliz

14.- LEDak konektatuta dauzkagu. Egin nahi dena zera da, gabonetako argien
moduan simulazio desberdinak egin. Horretarako etengailu bat erabiliko da
argi joku bat edo bestea egiteko.

Blokeak sortzeko aukera erabiliz azpiprogramak egin dira hemen

50
mBlock
------------------------

Norbera saiatzeko

M.- Bi etengailu erabiliz hiru argi joku ( edo 4) desberdin egiteko aukera ematen duen
programa egin.

- Betiko proiektuak

15.- Garaje bateko atea kontrolatu nahi da. Pultsadore bat, P1, dago atea irekitzeko
eta bi ibilbide amaitze daude, bata behekaldean IB1 eta bestea goikaldean IB2, M1
korronte zuzenako motorra agintzeko.

Konexioak:

Sarrera:

P1 : pin 3
IB1 : pin 5
IB2 : pin 4

Irteera:

M1 : pin 10
pin 11

16.- Aparkaleku bateko barrera altxatzeko serbomotorea erabili da

Sarrera:

P1 : pin 3

Irteera:

Serbo : pin 9

51
mBlock
------------------------

17.- IGOGAILUA kontrolatu nahi da. Bi solairukoa izango da. Sarrerak, bi pultsagailu,
P1 beheko solairura joateko eta P2 goikora, eta bi ibilbide amaitze, IB1 beheko
solairuan kokatuta eta IB2 goikoan.

Konexioak:
Sarrerak:
P_igo : pin 2
P_jaitsi : pin 3
IB_goiko : pin4
IB_behe : pin 5

Irteerak:
M1 : pin 8
pin 9

Norbera saiatzeko

N .– GARAJEAren ariketari oraingoan seinalizazioa sartu; argi GORRIA eta BERDEA


erabili.

O.- Berdina, baina orain atea zabaltzen denean ez da egongo denbora bat itxoiten
baizik eta kotxea pasa den edo ez kontrolatzen, kotxea pasa ondoren 5 segundotara
ixten hasiko da.

P.- Hiru solairuko IGOGAILUA.

52
mBlock
------------------------

Urratsez urratseko motorra

Urratsez urratseko motorrak (PAP motor edo Stepper motor)


posizionamendu zehatzak egiteko oso egokia da. Horregatik 3D
inprimagailuetan oso erabilera handia dauka .

Plakak: mBot ezik Makeblock etxeak dauzkan plaka


guztietan konekta daiteke :

. Orion, Me UNO Shield

. Ranger (Auriga)

. Ultimate2.0 (Mega Pi)

Urratsez urratseko motorra


kontrolatzeko plaka

Motorraren ezaugarria: Urrats bakoitzeko 1,8º ko angelua mugitzen da.

mBlock softwarean erabiltzen den aginduak hiru datu erabiltzen ditu:

. motorra: plakaren zein Atakan konektatzen den

Plaka bakoitzak bere ataka zerrenda dauka

. abiadura: 5 aukera ematen ditu moteletik azkarrera

Tarteko beste abiadura ere jar daiteke

. distantzia: nahi den balioa jar daiteke baina hobeto


ulertzeko zein balio jarri, ondoren esplikazioa ematen da.

53
mBlock
------------------------

Urratsez urratseko motorra agintzeko plakak hiru etengailu dauzka:

MS1, MS2, MS3

Etengailuak L (Low) edo H (High) egoeran kokatuz, motorrak bira osoa


emateko era desberdina dauka.

Kalkulu erraz bat: motorra 1,8º mugitzen da urrats bakoitzean eta bira
osoa 360º dira, horregatik, bira osoa egiteko 360º/1,8º = 200 urrats izango
lirateke.

Datu hau ezagutu ondoren, taulan agertzen den lerro bakoitzaren esanahiak
esango du mBlock-eko aginduko “distantzia” balioa zein izango den bira
osoa emateko :

. Full step (L L L): 360º ko bira emateko 200

. Half step (H L L): bira osoa emateko 200 x 2 = 400

. 1/4 step (L H L): bira osoa emateko 200 x 4 = 800

. 1/8 step (H H L): bira osoa emateko 200 x 8 = 1600

. 1/16 step (H H H): bira osoa emateko 200 x 16 = 3200

Norabidea aldatu: motorraren norabidea aldatzeko zenbaki negatiboak


erabili, adibidez: -1000

Zer falta da orain: Desplazamenduak egiteko erabiliko diren tresnak


identifikatzea eta hauen ezaugarriak jakitea: engranajea, torloju
amaigabea, uhala, katea …

Zertarako: hortz kopuruak, uhalaren pitch edo hortz-neurria … jakin


ondoren kalkuluak egin beharko dira desplazamenduak ondo egiteko, hau
da, nahi den lekuan kokatzeko mugitzen dena.

54
mBlock
------------------------

NIRE MUNTAIA

Urratsez urratseko (UzU) motorra, MegaPi plaka, 2.4G eta

Nire mahaiaren mugimenduak:

. zenbaki positiboak motorraren aldera mugitzeko

. zenbaki negatiboak motorretik urruntzeko

DATUAK

. Mahaiaren luzera: 20cm

. Uhalaren pitch: 2,032mm

. Engranajea: 18 hortz

. Motorraren driver-a 1/16step, beraz, bira osoa emateko 3200 urrats

KALKULUAK:

. Motorrak bira osoan zenbateko distantzia mugituko du uhala:

18 hortz x 2,032 mm = 36,576 mm bira bakoitzeko

. 20cm mugitzeko zenbat bira eman behar ditu motorrak:

200mm / 36,576 mm = 5,468 bira eman behar ditu 20cm


mugitzeko

. Zenbat urrats eman behar ditu motorrak 20cm mugitzeko

5,468 bira x 3200 urrats bira bat = 17497 urrats

ADIBIDEA

. Mahaiak 10mm-ko desplazamendua egitea nahi badugu:

10mm / 36,576 mm = 0,273 bira eman behar ditu 1cm mugitzeko

0,273 bira x 3200 urrats (UzU-k bira bat emateko) = 874 urrats

55
mBlock
------------------------

56

You might also like