Wij hebben mBot2 robots aangeschaft en gaan daarmee aan de slag. Ondanks het fraai ogende instructieboek vonden we het nog lastig om onze robot zijn eerste beweging te laten maken. Daarom schrijf ik deze aanvulling op het lesboek.
Belangrijke ondersteuning (veel beter dan boek!!!) waarmee je alle functies kunt leren kennen: mBot Neo/mBot2 – Makeblock Help Center
Een WORD bestand met hulpmiddelen (download)
Je hebt je mBot correct in elkaar gezet.
- je Cyberpi is via de meegeleverde USB-A naar USB-C verbonden met je PC
- de switch op je mBot2 staat op 'ON'
- stel de taal in op je mBot
- druk op 'HOME'
- scoll 2 posities omlaag en druk dan op driehoekige button. Ik noem deze button vanaf nu 'GO
- scoll naar 'English'
- druk op 'GO'
- druk nu weer op 'HOME'
Je gebruikt om te programmeren:
- de online programmeeromgeving mBlock Block-Based IDE- Coding for Beginners.
- Maak daar een account aan of log in op je account
- Stel de taal in op Engels. (Linksboven in het scherm bij het wereldbolletje.) Engels heeft als voordeel dat de programmeertaal in je boek gelijk is aan die in dit programma.
- Klik links op toevoegen en voeg mBot2 toe
- Klik nu in je apparaten op Cyberpi en
- Klik op 'verbinden'
- Kies op de COM-poort die al voor je is gekozen
- stel je eerste programma samen zoals dit voorbeeld
- klik op 'CODE uploaden'
- beweeg de joystick naar voren: als het goed is gaat je mBot nu 1 seconde rijden
Booleaanse Algebra: https://nl.wikipedia.org/wiki/Booleaanse_algebra
Onder de neus van de mBot2 zitten vier lichtsensoren: L2, L1, R1 en R2. Ze vormen de ogen van je robot. De lichtsensoren reageren op het al dan niet weerkaatsen van eigen licht. Het licht weerkaatst wel op wit, maar niet op de zwarte lijn. Op die manier kunnen de sensoren de lijn detecteren. Ook vervuiling van het oppervlak kan invloed hebben op het resultaat. De 'waarheidstabel' geeft alle mogelijke uitkomsten weer. Door het opstellen van een waarheidstabel wordt duidelijk voor welke combinatie van signalen je bepaalde commando's moet maken.
Waarheidstabel
L2 |
L1 |
R1 |
R2 |
totaal |
Actie: |
8 | 4 | 2 | 1 | ||
0 |
0 |
0 |
0 |
0 |
Help ik ben verdwaald! |
0 |
0 |
0 |
1 |
1 |
Scherp Rechtsaf |
0 |
0 |
1 |
0 |
2 |
Scherp Rechtsaf: |
0 |
0 |
1 |
1 |
3 |
Normaal Rechtsaf |
0 |
1 |
0 |
0 |
4 |
Normaal Linksaf |
0 |
1 |
0 |
1 |
5 |
Detectiefout “Maak de weg eens schoon!!!” |
0 |
1 |
1 |
0 |
6 |
Rechtdoor blijven rijden |
0 |
1 |
1 |
1 |
7 |
Normaal Rechtsaf |
1 |
0 |
0 |
0 |
8 |
Linksaf: scherp naar links draaien |
1 |
0 |
0 |
1 |
9 |
Detectiefout “Maak de weg eens schoon!!!” |
1 |
0 |
1 |
0 |
10 |
Detectiefout “Maak de weg eens schoon!!!” |
1 |
0 |
1 |
1 |
11 |
Rechtsaf |
1 |
1 |
0 |
0 |
12 |
Linksaf: scherp naar links draaien |
1 |
1 |
0 |
1 |
13 |
Linksaf: scherp naar links draaien |
1 |
1 |
1 |
0 |
14 |
Linksaf: normaal |
1 |
1 |
1 |
1 |
15 |
Help ik ben verdwaald! Alle sensoren detecteren tegelijk zwart. Waarschijnlijk staat je robot haaks op een lijn. |
De logische functies EN en OF en NOT
EN: Als aan meerdere voorwaarden tegelijk moet worden voldaan, gebruik je de EN-functie. Bijbehorend symbool '∧'.
NOT: NOT geeft het omgekeerde. Als L2 = 0, dan geldt NOT L2 = 1 NOT L2 noteer je als ¬L2
Bijvoorbeeld: het karretje moet vooruit als:
L2 GEEN lijn detecteert | L2 = 0 | ¬L2 = 1 | ||
L1 WEL een lijn detecteert EN als | L1 = 1 | L1 = 1 | ||
R1 WEL een lijn detecteert EN als | R1 = 1 | R1 = 1 | ||
R2 GEEN lijn detecteert | R2 = 0 | ¬R2 = 1 | ||
¬L2 ∧ L1 ∧ R1 ∧ ¬R2 = 1 ∧ 1 ∧ 1 ∧ 1 = 1 |
Rechtdoor = ¬L2 ∧ L1 ∧ R1 ∧ ¬R2
L2 | L1 | R1 | R2 | ||
0 |
1 |
1 |
0 |
6 |
Rechtdoor blijven rijden |
Linksaf =
L2 ∧ ¬L1 ∧ ¬R1 ∧ ¬R2 ∨
L2 ∧ L1 ∧ ¬R1 ∧ ¬R2 ∨
L2 ∧ L1 ∧ R1 ∧ ¬R2 ∨
L2 ∧ L1 ∧ ¬R1 ∧ R2 ∨
¬L2 ∧ L1 ∧ ¬R1 ∧ ¬R2
L2 | L1 | R1 | R2 | ||
1 |
0 |
0 |
0 |
8 |
Heel scherp naar links draaien |
1 |
1 |
0 |
0 |
12 |
Naar links draaien |
1 |
1 |
1 |
0 |
14 |
Rustig naar linksaf draaaien |
1 |
1 |
0 |
1 |
13 |
Heel scherp naar links draaien |
0 |
1 |
0 |
0 |
4 |
Naar links draaien |
Rechtsaf =
¬L2 ∧ ¬L1 ∧ ¬R1 ∧ R2 ∨
L2 ∧ ¬L1 ∧ R1 ∧ R2 ∨
¬L2 ∧ ¬L1 ∧ R1 ∧ ¬R2 ∨
¬L2 ∧ ¬L1 ∧ R1 ∧ R2 ∨
¬L2 ∧ L1 ∧ R1 ∧ R2
L2 | L1 | R1 | R2 | ||
0 |
0 |
0 |
1 |
1 |
Rechtsaf |
1 |
0 |
1 |
1 |
11 |
Rechtsaf |
0 |
0 |
1 |
0 |
2 |
Rechtsaf |
0 |
0 |
1 |
1 |
3 |
Rechtsaf |
0 |
1 |
1 |
1 |
7 |
Rechtsaf |
Help ik ben verdwaald =
¬L2 ∧ ¬L1 ∧ ¬R1 ∧ ¬R2 ∨ L2 ∧ L1 ∧ R1 ∧ R2
0 |
0 |
0 |
0 |
Help ik ben de weg kwijt! |
1 |
1 |
1 |
1 |
Help ik ben de weg kwijt! |
Detectiefout =
¬L2 ∧ L1 ∧ ¬R1 ∧ R2 ∨
L2 ∧ ¬L1 ∧ ¬R1 ∧ R2 ∨
L2 ∧ ¬L1 ∧ R1 ∧ ¬R2
0
1
0
1
Detectiefout “Maak de weg eens schoon!!!”
L2 | L1 | R1 | R2 | |
1 |
0 |
0 |
1 |
Detectiefout “Maak de weg eens schoon!!!” |
1 |
0 |
1 |
0 |
Detectiefout “Maak de weg eens schoon!!!” |
Case 4 - Detect the Light Intensity
Case 6 - Detect the Rotation Angles of the Gyroscope
Spelen met de LED's
- Case 10 - Change the Color of LEDs
- Case 11 - Marquee
- Case 12 - Flowing Water
- Case 13 - Breathing LEDs
Spelen met het display
Case 14 - Voice-Activated Music Light
Case 21 - Control Panda's Moves
Case 23 - Control the Rotational Speed
Case 24 - Use the Ultrasonic Sensor to Detect the Distance
Case 25 - Distance Detection Alarm
Case 26 - "Chameleon" Kleurendetectie
Case 26 Chameleon werkt (m.i.) slecht!
Dit werkt al veel beter (al zegt mijn gevoel dat het nog beter moet kunnen):
Allerlei 'moves'
Case 27 - mBot Neo Moves X cm Forward
Case 29 - mBot Neo Accelerates the Move Forward
Case 30 - mBot Neo Avoids Obstacles
Case 31 - mBot Neo Follows Objects
Case 32 - mBot Neo Follows Lines
KLEUREN HERKENNEN
Met de lichtsensoren kunnen kleuren worden herkend. MAAR: de sensoren kunnen zich vergissen! Cyaan lijkt op Blauw, en Magenta lijkt op Rood. En in gebieden waar kleuren in elkaar overgaan, ligt de vergissing al helemaal op de loer! In de overgang van Groen naar Blauw ziet de sensor altijd even Cyaan (de mengkleur) zien.
Bovendien: de lijnen die je mBot2 moet volgen, zijn nooit perfect in de juiste kleur, want elke printer en elke verf heeft een afwijking. Als je een stukje rode lijn print, kan het best dat hij er in één van deze 3 kleurvarianten uit komt.