marvin:lab1
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
marvin:lab1 [2008/09/22 14:37] – deva | marvin:lab1 [2008/10/09 15:29] – rieper | ||
---|---|---|---|
Line 4: | Line 4: | ||
**Participants: | **Participants: | ||
+ | **Formål: | ||
+ | |||
+ | Herunder ses nogle billeder fra øvelsen.\\ | ||
{{: | {{: | ||
{{: | {{: | ||
{{: | {{: | ||
- | Problemer med installation af software. kan ikke kommunikere med USB til NXT modulet.\\ | + | ====Softwareinstallation/ |
+ | Problemer med installation af software. | ||
+ | |||
+ | Vi fik herefter hjælp til at flashe fra en anden gruppe, hvorefter det var muligt at uploade programer til modulet.\\ | ||
+ | I mellemtiden blev der iøvrigt indsamlet legostumper til kasserne.\\ | ||
+ | |||
+ | ====Upload af program | ||
+ | Uploadede programet linefollower, | ||
+ | Herefter Hentes nu endnu engang java koden (linefollower) fra hjemmesiden for at være helt sikker. Sletter alt det gamle kode, linker, uploader. Der teste forfra og det må konkluderes, | ||
+ | |||
+ | ====Koden==== | ||
+ | Koden kan findes via linket http:// | ||
+ | <code java> | ||
+ | import lejos.nxt.*; | ||
+ | /** | ||
+ | * A simple line follower for the LEGO 9797 car with | ||
+ | * a single light sensor. | ||
+ | * | ||
+ | * The light sensor should be connected to port 3. The | ||
+ | * left motor should be connected to port C and the right | ||
+ | * motor to port B. | ||
+ | * | ||
+ | * Variables initialized with a constant string are used | ||
+ | * in the LCD.drawString calls of the control loop to | ||
+ | * avoid garbage collection. | ||
+ | * | ||
+ | * @author | ||
+ | * @version 22.08.08 | ||
+ | */ | ||
+ | public class LineFollower { | ||
+ | |||
+ | public static void main (String[] aArg) | ||
+ | throws Exception | ||
+ | { | ||
+ | String left = "Left "; | ||
+ | String right= " | ||
+ | |||
+ | LightSensor light = new LightSensor(SensorPort.S3); | ||
+ | final int blackWhiteThreshold = 45; | ||
+ | |||
+ | final int forward = 1; | ||
+ | final int stop = 3; | ||
+ | final int flt = 4; | ||
+ | final int power = 80; | ||
+ | |||
+ | // Use the light sensor as a reflection sensor | ||
+ | light.setFloodlight(true); | ||
+ | LCD.drawString(" | ||
+ | |||
+ | // Show light percent until LEFT is pressed | ||
+ | while (! Button.LEFT.isPressed()){ | ||
+ | LCD.drawInt(light.readValue(), | ||
+ | LCD.refresh(); | ||
+ | } | ||
+ | |||
+ | // Follow line until ESCAPE is pressed | ||
+ | while (! Button.ESCAPE.isPressed()){ | ||
+ | |||
+ | if (light.readValue() > blackWhiteThreshold){ | ||
+ | // On white, turn right | ||
+ | LCD.drawString(right, | ||
+ | MotorPort.B.controlMotor(0, | ||
+ | MotorPort.C.controlMotor(power, | ||
+ | } | ||
+ | else{ | ||
+ | // On black, turn left | ||
+ | LCD.drawString(left, | ||
+ | MotorPort.B.controlMotor(power, | ||
+ | MotorPort.C.controlMotor(0, | ||
+ | } | ||
+ | LCD.drawInt(light.readValue(), | ||
+ | LCD.refresh(); | ||
+ | Thread.sleep(100); | ||
+ | |||
+ | } | ||
+ | |||
+ | // Stop car gently with free wheel drive | ||
+ | MotorPort.B.controlMotor(0, | ||
+ | MotorPort.C.controlMotor(0, | ||
+ | LCD.clear(); | ||
+ | LCD.drawString(" | ||
+ | LCD.refresh(); | ||
+ | Thread.sleep(1000); | ||
+ | } | ||
+ | } | ||
+ | </ | ||
- | Kan desuden ikke resette NXT modulet, der formodes at være i stykker. | + | ==== Test af Sensor |
- | NXT modulet kunne ikke kommunikere, | + | |
- | Fik hjælp til at flashe fra en anden gruppe.\\ | + | |
- | Indsamlede lego stumper.\\ | + | |
- | Uploadede program og testede på banen, test OK.\\ | + | |
- | Foretog ændringer i programmet og testede på banen, test ikke OK.\\ | + | |
- | - Hastigheden svarede ikke til forventninger, | + | |
- | // | + | |
- | Henter nu endnu engang java kode (linefollower) fra hjemmesiden for at være helt sikker. Sletter alt gammel kode, linker, uploader. Upload succesful :-)\\ | + | |
- | Det lader til at vi har kørt med forkert kode - øv, men nu virker det!\\ | + | |
Vi når at måle følgende intensiteter fra lysdioderne: | Vi når at måle følgende intensiteter fra lysdioderne: | ||
^ Overflade ^ Intensitet ^ | ^ Overflade ^ Intensitet ^ | ||
Line 28: | Line 107: | ||
| brun tape | 46-49 | | | brun tape | 46-49 | | ||
| blåmønstret gulv | 41 | | | blåmønstret gulv | 41 | | ||
- | Desuden | + | Desuden |
marvin/lab1.txt · Last modified: 2008/10/09 20:32 by rieper