NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. DOEL: SIMULATOR:

Vergelijkbare documenten
Extra oefening Probeer de voorbeeldprogramma s uit de LeJOS tutorial en de samples die bij de LeJOS software geïnstalleerd zijn.

PIR DC-SWITCH. DC Passive infra-red Detector. Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL

Workshop FLL. Leer robots programmeren. Marieke Peelen Lennart de Graaf Daryo Verouden -

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Find Neighbor Polygons in a Layer

Modelleren en Programmeren

Mindstorms NXT practicum

APPLICATIEBOUW 6E COLLEGE: HET ONTWERPEN VAN EEN KLASSE, LEJOS DEEL 3. Onderdeel van SmartProducts

ALGORITMIEK: answers exercise class 7

Tentamen Objectgeorienteerd Programmeren

Firewall van de Speedtouch 789wl volledig uitschakelen?

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Four-card problem. Input

Alistair LED stairwell luminaire Handleiding Alistair (UC03 sensor)

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

EM7680 Firmware Update by Micro SD card

Scripting 2 TUTORIAL EEN APP ONTWIKKELEN VOOR ANDROID MET PROCESSING. ellipse(screenwidth/2, screenheight/2, 140,140); DOOR THIERRY BRANDERHORST

Programmeren in Java 3

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

In BlueJ. Doe onderstaande met muis/menu s:

Vakgroep CW KAHO Sint-Lieven

Intermax backup exclusion files

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Alistair LED stairwell luminaire Handleiding Alistair (Emergency UC03 sensor)

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FAAC DRIVER. Driver install procedure for FAAC boards. Installatieprocedure voor driver voor FAAC-kaarten.

Mindstorms NXT practicum

Quick start guide. Powerbank MI Mah. Follow Fast All rights reserved. Page 1

UtlGefOpen Documentation

Missie #1 : Maak een halve draai. 3. Kijk of de status op 'Aantal rotaties Aan' staat 4. Verander de waarde van 'Aantal rotaties' naar 5

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen.

Jeroen uit. Extra informatie. Voor de lunch. Arduino zo aangesloten om mijn code te laten werken. (versie voor lunch) (code voor de lunch)

Ingebouwde klassen & methodes

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

Shipment Centre EU Quick Print Client handleiding [NL]

Alistair LED stairwell luminaire Handleiding Alistair (UC03 sensor)

Procedure Reset tv-toestellen:

Concept of Feedback. P.S. Gandhi Mechanical Engineering IIT Bombay

Preschool Kindergarten

Modelleren en Programmeren

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013

Modelleren en Programmeren

[BP-ebMS-H-000] Welke versie van Hermes moet er gebruikt worden?

Introductiekaart Niveau B Installatie software

Modelleren en Programmeren

Function checklist for the ML-350 or XL-350 with a print set. Missing loop.

RECEPTEERKUNDE: PRODUCTZORG EN BEREIDING VAN GENEESMIDDELEN (DUTCH EDITION) FROM BOHN STAFLEU VAN LOGHUM

Opdracht 7a. Applicatiebouw 2014/2015


L.Net s88sd16-n aansluitingen en programmering.

Kwis (3) class X { public void a() { System.out.println("x"); public static void main(string[] args) { X x = new X();

Lessen Java: Reeks pag. 1

Handleiding Installatie ADS

RCL Arduino Workshop 1

IMP Uitwerking week 13

General info on using shopping carts with Ingenico epayments

Objectgericht programmeren 1.

9 daagse Mindful-leSs 3 stappen plan training

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof ( )

L.Net s88sd16-n aansluitingen en programmering.

voegtoe: eerst methode bevat gebruiken, alleen toevoegen als bevat() false is

Over Betuwe College. Lego Mindstorm project

Elementary Data Structures 3

How to install and use dictionaries on the ICARUS Illumina HD (E652BK)

Specialisatie RTES - Project FunnyScreens. Installatie en gebruik van JUnit

Een Rugzak Vol Condooms: Stories Van Een Bimbo In De Bush (Dutch Edition) By Meike Schulte

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

EM7680 Firmware Update by Micro SD card or USB

LDA Topic Modeling. Informa5ekunde als hulpwetenschap. 9 maart 2015

Workshop Engino. 1 Aanvang workshop. 2 Bouwen. 1.1 Wat kan ik voor de workshop doen?

i(i + 1) = xy + y = x + 1, y(1) = 2.

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

Screen Design. Deliverable 3 - Visual Design. Pepijn Gieles Docent: Jasper Schelling

Robocode. Inleiding tot programmeren

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials:

2010 Integrated reporting

Introductiekaart Niveau B Installatie software

Uitwerkingen Tweede deeltentamen Imperatief programmeren Vrijdag 15 oktober 2010, uur

2000 Volkswagen Passat GLS

Workshop Arduino voor beginners deel 2

Plotten. technisch tekenwerk AUTOCAD 2000

Ae Table 1: Aircraft data. In horizontal steady flight, the equations of motion are L = W and T = D.

Alle opgaven tellen even zwaar, 10 punten per opgave.

SMS-200/300/400 tapes & ribbons

TOEGANG VOOR NL / ENTRANCE FOR DUTCH : lator=c&camp=24759

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Installatie van Windows 10 op laptops. Windows 10 installation on laptops

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

Lists of words from the books, and feedback from the sessions, are on

LDAP Server on Yeastar MyPBX & tiptel 31xx/32xx series

Modelleren en Programmeren

Transcriptie:

NSPYRE LEGO MINDSTORMS UITDAGING (JAVA) INLEIDING. Door mee te doen aan deze uitdaging kan je Nspyre laten zien wat je kan. Schrijf jij de beste oplossing dan is deze lego mindstorms nxt 2.0 set voor jou. In deze uitdaging ga je een java programma schrijven wat pannenkoeken bestrooit met beleg. Dit gaan we simuleren met gekleurde balletjes. (Er is ook een c versie van deze opdracht beschikbaar). DOEL: Pannenkoeken bakker smaakt t maakt een drukke tijd door en om de keuken bottleneck te verhelpen wilt men de keuken gaan automatiseren. Er is al een prototype van beleg aanvoer aanwezig, deze is nog niet 100%, want het beleg komt niet in de juiste volgorde aan, en er zijn soms extra beleg ingrediënten of soms even geen beleg. Deze moet samenwerken met de belegger prototype. Ons doel is om deze samen werking te programmeren. Maak een programma dat 4 pannenkoeken maakt, drie volgens een bestelling en eentje met overbodig beleg die door het personeel gegeten kan worden. De beleg toevoer band is nog niet honderd procent in orde en geeft behalve het gewenste beleg (in willekeurige volgorde) ook nog wat rest beleg. Ook kan het voorkomen dat er een keer geen beleg geleverd wordt. Als de bestelde pannenkoeken belegt zijn en er dan 3 keer geen beleg van de toevoer band komt, dan komt er geen beleg meer en zijn alle pannenkoeken belegt en kan de machine gestopt worden. Bestelling: 1. Pannenkoek met appel, spek en noten 2. Pannenkoek met kaas en spek 3. Pannenkoek met oude kaas, kaas en spek SIMULATOR: We hebben natuurlijk geen echte machine, maar simuleren het met een lego mindstorm kleuren sorteerder, zie het volgende youtube filmpje wat het kan: http://www.youtube.com/watch?v=3-rfg6_thho beleg Kleur Appel Kaas Spek Noten Groen Geel Rood Blauw 1

PANNENKOEKEN BELEGGER Deze pannenkoeken belegger heeft 2 motoren, 2 druk sensoren en 1 kleuren sensor: Motor A: Deze wordt gebruikt om het platform te bewegen en ballen door te laten. (beleg toevoegband). Motor B: Deze wordt gebruikt om de sorteerbakken te draaien. (pannenkoeken) Touch sensor A: Deze is ingedrukt als er (bijna) een balletje ligt onder de kleuren sensor. Het kan ook zijn dat er geen balletje onder de kleuren sensor ligt, deze touch sensor wordt dan toch ingedrukt. Touch sensor B: Deze is ingedrukt als bakje 1 onder de bal-uitgang ligt. Kleur sensor, hiermee kunnen we de kleur van de bal meten. Poort indeling: Motor A Port A Motor B Port B Touch sensor A Port 1 Touch sensor B Port 2 Kleuren sensor Port 3 Extra informatie: Door de mechanische constructie moet de toevoerband 55 graden doorgedraaid worden nadat touchsensor A is ingedrukt om ervoor te zorgen dat het balletje onder de kleuren sensor ligt. Door de mechanische constructie moet de pannenkoekenhouder 45 graden doorgedraaid worden zodat een pannenkoek correct onder de beleg toevoer band ligt. LEJOS DOWNLOADS Voor het programma gaan we gebruik maken van de lejos java classes. Zie volgende link voor meer informatie, http://lejos.sourceforge.net/nxj.php. Om te kunnen bouwen hoef je alleen de classes.jar uit de file lejos_nxj_0.9.1beta-3_win32.zip aan je java build path toe te voegen, deze file is te downloaden vanaf: http://sourceforge.net/projects/lejos/files/lejos- NXJ/0.9.1beta/. De classes met functies die minimaal nodig zijn staan ook beschreven in de volgende hoofdstukken. 2

API MOTOREN Imports: import lejos.nxt.motorport; import lejos.nxt.nxtregulatedmotor; class NXTRegulatedMotor * Use this constructor to assign a variable of type motor connected * to a particular port. * @param port to which this motor is connected * (MotorPort.A, MotorPort.B or MotorPort.c) public NXTRegulatedMotor(TachoMotorPort port) * Sets desired motor speed, in degrees per second; * The maximum reliably sustainable velocity is 100 x battery * voltage under * moderate load, such as a direct drive robot on the level. * @param speed value in degrees/sec public void setspeed(int speed) * Causes motor to rotate forward. public void forward() * Causes motor to rotate backwards. public void backward() * Causes motor to stop, pretty much * instantaneously. In other words, the * motor doesn't just stop; it will resist * any further motion. * Cancels any rotate() orders in progress public void stop() 3

* Rotate by the requested number of degrees. * Wait for the move to complete. * @param angle public void rotate(int angle) * Rotate to the target angle. Do not return until the move is * complete. * @param limitangle Angle to rotate to. public void rotateto(int limitangle) 4

TOUCH SENSOR: Imports: import lejos.nxt.sensorport; import lejos.nxt.touchsensor; Class TouchSensor * Create a touch sensor object attached to the specified port. * @param port an Analog/Digital port, e.g. SensorPort.S1 public TouchSensor(SensorPort port) * Check if the sensor is pressed. * @return true if sensor is pressed, false otherwise. public boolean ispressed() 5

KLEUREN SENSOR: Imports: import lejos.nxt.colorsensor; import lejos.nxt.sensorport; Class ColorSensor * Create a new Color Sensor instance and bind it to a port. * @param port Port to use for the sensor. (eg. SensorPort.S1) public ColorSensor(SensorPort port) * Return a Color Object that contains the calibrated color readings. * @return Color data public ColorSensor.Color getcolor() Class ColorSensor.Color public static final int RED = 0 public static final int GREEN = 1; public static final int BLUE = 2; public static final int YELLOW = 3; * Return a basic color, for values see above defines. * If no color found, then another value is returned, we can use that * for no ball detected. public int getcolor() 6

WAIT Imports: Class Delay: import lejos.util.delay; * Wait for the specified number of milliseconds. * Delays the current thread for the specified period of time. Can not * be interrupted (but it does preserve the interrupted state). * @param period time to wait in ms public static void msdelay(long period) 7

OUTPUT TO SCREEN LeJOS NXJ supports the standard java System.out.println method and scroll the output on the NXT LCD screen. 8

INLEVEREN: Het programma dient geschreven te worden met gebruik maken van de lejos classes. Stuur een zip file op met al je classes, en we zullen het bestuderen en testen op onze opstelling. Tijdens je gesprek kan je feedback krijgen op je input. Programma Eventuele aannames.* 9