Mindstormsnxtpracticum2

Universiteit Twente
Industrieel
Ontwerpen
Mindstorms NXT
practicum
2013/2014
Dagdeel 2
SmartProducts
30 april 2014
Mindstorms NXT practicum 2013/2014
Universiteit Twente
Industrieel
Ontwerpen
Inhoud
•
•
•
•
Lego sensoren gevorderd
Extra elektronica & sensoren
Mindstorms programmeren gevorderd
Opdracht & Test
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 2 van 41
Universiteit Twente
Industrieel
Ontwerpen
Lego Mindstorms NXT practicum
• Doel
– “Vertrouwd raken met de mogelijkheden van
Lego Mindstorms NXT”
• Verplicht onderdeel van project
SmartProducts
• Data
– (A) Groepen 1-13: 25/4 en 2/5 do middag
– (B) Groepen 16-27: 24/4 en 1/5 wo middag
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 3 van 41
Universiteit Twente
Industrieel
Ontwerpen
Motoren ‘oneindig’
door laten draaien…
Toch lus gebruiken!
Tabblad voor meer blokken
Downloaden en direct
uitvoeren (play)
Stop programma
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 4 van 41
Universiteit Twente
Industrieel
Ontwerpen
Sensoren gevorderd
Licht sensor
Ultrasoon sensor
Geluid sensor
Touch sensor
Leest lichtintensiteit
van omgeving
en reflectie van
infrarood zender
Bepaalt afstand
tot objecten
dmv
geluidsgolven
Neemt
geluidsniveau op
(dus geen
microfoon!)
Reageert op
indrukken,
los laten,
aanraken
Meer info: http://mindstorms.lego.com/eng/Overview/
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 5 van 41
Universiteit Twente
Industrieel
Ontwerpen
Licht sensor
• Analoog
• Schaal 0-1023
• 1024 waarden = 10 bits
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 6 van 41
Universiteit Twente
Industrieel
Ontwerpen
Ultrasoon sensor
Handig: NXT aangesloten:
dan hier sensorwaarde
zichtbaar
30 april 2014
Let op: werkt niet (altijd) op
poort 4!!!
Mindstorms NXT practicum 2013/2014
Slide 7 van 41
Universiteit Twente
Industrieel
Ontwerpen
Extra elektronica & sensoren
• Mindsensors
• HiTechnic
• Adapters voor oude RCX sensoren en
motoren
• SuperPro board Elektronica, extra display
• Programmeren:
– Voorbeelden
– Applicatiebouw college 4, 5 & 6
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 8 van 41
Universiteit Twente
Industrieel
Ontwerpen
Sensoren van Mindsensors
Short distance
sensor DIST-Nx
Realtime clock
RTC-Nx
Acceleration
Sensor
ACCL-Nx
Compass
CMPS-Nx
Bepaalt afstand
tot objecten
dmv reflectie van
infrarood zender
Nauwkeurig tijd
bepalen
Meet
versnellingen in 3
richtingen (xyz)
Positie tov.
noorden
bepalen
Meer info: http://www.mindsensors.com/
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 9 van 41
Universiteit Twente
Industrieel
Ontwerpen
Adapters
RCX sensor
multiplexer
RCX Sensor adapter
NXT poortsplitter
4 oude RCX
sensoren
aansluiten
op de NXT
1 oude RCX
sensor aansluiten
op de NXT
Alleen voor
digitale (I2C)
sensoren
of motoren
(zie site voor
details)
Meer info: http://www.mindsensors.com/
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 10 van 41
Universiteit Twente
Industrieel
Ontwerpen
Adapters (2)
sensor poort
Motor Multiplexer
MTRMX-Nx
4 RCX motoren
aansluiten
Let op: heeft 9v
voeding nodig
Aansluiten op
sensor poort (1-4)
30 april 2014
9v voeding
Meer info: http://www.mindsensors.com/
Mindstorms NXT practicum 2013/2014
Slide 11 van 41
Universiteit Twente
Industrieel
Ontwerpen
• Block voor Lego
Mindstorms
Software
• Handleiding
• Voorbeelden
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 12 van 41
Universiteit Twente
Industrieel
Ontwerpen
Sensoren van HiTechnic
Color Sensor
IRSeeker
Bepaalt kleur
(RGB waarde)
van een object
Bepaalt richting
van infrarood bron
Meer info: http://www.hitechnic.com/
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 13 van 41
Universiteit Twente
Industrieel
Ontwerpen
SuperPro board Elektronica
• 8 digitale in/uitgangen (B0-B7)
• 4 analoge ingangen (A0-A4)
• Aansluiting voor USB en NXT
Handleiding etc. in map info\HiTechnic
zip-file Applicatiebouw
NXT-G Block voor gebruik in Lego software:
info\HiTechnic\SuperProExperimetersKit\SuperPro Sensor
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 14 van 41
Universiteit Twente
Industrieel
Ontwerpen
Extra LED display
• 2 regels tekst
• Niet in Lego software te
gebruiken
• Programmeren in Java
(opdracht 6 Applicatiebouw)
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 15 van 41
Universiteit Twente
Industrieel
Ontwerpen
Sensoren Mindsensors & HiTechnic in
Lego Software
2
1
1. Block Import and
Export Wizard
2. Browse naar map NXTG-blocks (uit ZIP file)
3. Selecteer alle blokken
4. Druk op Import
3
4
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 16 van 41
Universiteit Twente
Industrieel
Ontwerpen
Waar vindt je nieuwe ‘blocks’?
• In de ZIP file van
Applicatiebouw:


info\Lego\NXT-G-blocks
info\HiTechnic\SuperProExperimetersKit\Super
Pro Sensor
• Of: via website fabrikant
– Mindsensors.com
– Hitechnic.com
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 17 van 41
Universiteit Twente
Industrieel
Ontwerpen
Sensoren Mindsensors & HiTechnic in
Lego Software
Nieuwe blokken gebruiken:
• Kies menu tabblad Complete Palette
• Blokken beschikbaar onder menu
Advanced
2
1
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 18 van 41
Universiteit Twente
Industrieel
Ontwerpen
Meerdere kleuren sensoren
RGB
Lego Color Sensor
HiTechnic Color Sensor
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 19 van 41
Universiteit Twente
Industrieel
Ontwerpen
Meerdere afstands-sensoren
• Ultrasoon
• Short distance
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 20 van 41
Universiteit Twente
Industrieel
Ontwerpen
Mindstorms programmeren:
Data Wire’s
• Tekst: oranje
• Getal: geel
• Logisch: groen
• Los: grijs
• Uitklappen:
Klik
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 21 van 41
Universiteit Twente
Industrieel
Ontwerpen
Meer informatie
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 22 van 41
Universiteit Twente
Industrieel
Ontwerpen
Voorbeeld: sensorwaarde weergeven op scherm
• (Licht)sensor blok
• Number-to-Text blok
• Display blok
• Verbinding maken met Data
Wire’s
• Als laatste: in loop plaatsen
(= herhaal-lus)
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 23 van 41
Universiteit Twente
Industrieel
Ontwerpen
Voorbeeld: sensorwaarde weergeven op scherm
Herhalingslus
Complete palette
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 24 van 41
Universiteit Twente
Industrieel
Ontwerpen
Recht langs een muur…
Probeer eerst:
Blijft de robot netjes
rechtuit rijden?
Stuur-parameter krijgt
uitkomst berekening
Tip: Rustig rijden, tijd nodig voor verwerken
sensormeting
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 25 van 41
Universiteit Twente
Industrieel
Ontwerpen
Knoppen NXT gebruiken
waar
• Switch blok
Beslissing:
is waar, of
niet-waar
30 april 2014
Mindstorms NXT practicum 2013/2014
niet waar
Slide 26 van 41
Universiteit Twente
Industrieel
Ontwerpen
Knoppen NXT gebruiken
• Wachten tot op Enter toets is gedrukt
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 27 van 41
Universiteit Twente
Industrieel
Ontwerpen
Variabelen gebruiken
• Menu: Edit > Manage variables
• Variabele waarde geven
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 28 van 41
Universiteit Twente
Industrieel
Ontwerpen
Variabelen gebruiken
• Geavanceerd voorbeeld
Beslissing: is TurnOn
waar (true)?
TurnOn=false
MotorRunning=true
Waarde variabele gaat in
beslissing dmv data wire
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 29 van 41
Universiteit Twente
Industrieel
Ontwerpen
Meerdere taken
• Taken achter elkaar uitvoeren
• Nadeel: als er tijdens de ene taak iets gebeurd,
kan het zijn dat de andere dat mist…
Herhalings
lus
Taak1
30 april 2014
Mindstorms NXT practicum 2013/2014
Taak2
Slide 30 van 41
Universiteit Twente
Industrieel
Ontwerpen
Meerdere taken
• Taken tegelijk uitvoeren
• Nadeel: programmeren
ingewikkelder…
• Bijv. zelfde sensor in
meerdere taken gebruiken
kan niet zo maar
• Oplossing: variabelen
Taak1
Taak2
Trek aan uiteinden
om verbindingen te
maken
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 31 van 41
Universiteit Twente
Industrieel
Ontwerpen
Timer gebruiken
• Er zijn 3 timers, beginnen vanzelf (bij 0) te
tellen bij start programma Reset de timer
Timer 1
Is er 5 sec. verstreken?
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 32 van 41
Universiteit Twente
Industrieel
Ontwerpen
Timer gebruiken
• Is iemand langer als 30 sec weg?
Reset timer als dichtbij.
Resultaat: timer loopt
zolang ver weg.
Taak1
Blijf herhalen
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 33 van 41
Universiteit Twente
Industrieel
Ontwerpen
Timer gebruiken
• Is iemand langer als 30 sec weg?
Taak1
Gebruik uitkomst (logische)
vergelijking om te kijken of de timer al is
‘afgegaan’ (of er al 30 sec. voorbij is)
Timer voorbij: speel geluid
en reset timer
Taak2
Lus: blijf herhalen
Reset timer
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 34 van 41
Universiteit Twente
Industrieel
Ontwerpen
HiTechnic Color Sensor
• Test op kleur-bereik (range)
• Bijv.: is de kleur rood?
• Los test programma om
kleuren te testen: plaats in
loop
Nee, de kleur is
Ja, de kleur is rood
niet rood
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 35 van 41
Universiteit Twente
Industrieel
Ontwerpen
Realtime clock (RTC-Nx):
tijd instellen
• In Lego Mindstorms software
Plaats RTC-NX blok
Kies poort
Druk op knop ‘Set
RTC to system time’
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 36 van 41
Universiteit Twente
Industrieel
Ontwerpen
Sensor testen: bijv. RTC
• Plaats RTC blok, stel
tijd in
• Plaats display blokken
• Verbind datawires
• 1e display: regel 1, 2e
regel 2
• Optie ‘clear’ 2e display
uitzetten
• Voeg als laatste de
loop toe
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 37 van 41
Universiteit Twente
Industrieel
Ontwerpen
Ondersteuning
• Hoe nu verder?
– Applicatiebouw college 4, 5 & 6
• Gebruik materialen en boeken (zie
college1!)
• Vraagbaak: docent(en)
• Materiaal nodig: via docent
• Iets vastpakken?
– Google: “nxt gripper”
http://mindstorms.lego.com/nxtlog/
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 38 van 41
Universiteit Twente
Industrieel
Ontwerpen
Doen: bouw de
Combination Lock Box
Stap-voor-stap:
• Bouw de box
• Probeer bijgeleverde programma
nxtprograms.com
• Voeg afstandssensor toe (automatisch starten,
welkom heten)
• Als persoon weg gaat, sluit dan na 30 sec.
automatisch de box af (Timer)
• Denk na over wat voor het project nuttig kan zijn!
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 39 van 41
Universiteit Twente
Industrieel
Ontwerpen
Opdracht (1a)
Bouw de Combination Lock Box
• Instructies:
nxtprograms.com/lock_box
• Monteer afstandssensor
• Sluit alles aan op de NXT
• Test mbv. meegeleverd
programma op site
nxtprograms.
Tip: verdeel taken, bijv. helft
groep doet 1a, andere 1b
LockBox niet afbreken, nodig
bij Applicatiebouw opdracht 4
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 40 van 41
Universiteit Twente
Industrieel
Opdracht (1b)
Programmeer extra’s
• Advies: test met losse stukjes
programma
• Welke (afstands)sensor gebruiken?
• Programma start: box begint met
rest programma als er iemand voor
staat, of als ENTER knop wordt
gedrukt
Ontwerpen
Dit is programmeer werk,
kan gedaan worden met
alleen losse sensor aan
NXT, terwijl rest groep
aan t bouwen is
start
• Sluit box als gebruiker wegloopt na
stop
30 sec.
LockBox niet afbreken, nodig
bij Applicatiebouw opdracht 4
30 april 2014
Mindstorms NXT practicum 2013/2014
Slide 41 van 41