Diese Seite bei https://calliope-net.github.io/fernsteuerung/ öffnen
Calliope Bluetooth Erweiterung zur Fernsteuerung und Fernprogrammierung von Robotern mit Motoren und Servo
- fügt der Erweiterung radio neue Blöcke zum Bluetooth senden und empfangen hinzu
- macht Funktion radio.sendBuffer und Ereignis radio.onReceivedBuffer verfügbar
- damit kann ein Buffer bis 19 Byte Länge über Bluetooth zwischen 2 Calliope übertragen werden
- 6 verschiedene ‘Fahrstrecken’ je 3 Byte können gleichzeitig übertragen werden
- in den 3 Byte stehen jeweils Daten für 1. Motor; 2. Servo; 3. Entfernung
- als Betriebsarten werden unterschieden: Fernsteuerung und Programm
- bei Fernsteuerung müssen kontinuierlich Bluetooth Daten gesendet werden (vom Joystick)
- bei Programm werden die 5 ‘Fahrstrecken’ abgefahren, ohne dass Timeout eintritt
- entweder werden die 5 ‘Fahrstrecken’ nacheinander abgefahren, dann Stop
- oder die 5 ‘Fahrstrecken’ werden Ereignissen zugeordnet (Ultraschall und Spursensor)
Als Erweiterung verwenden
Dieses Repository kann als Erweiterung in MakeCode hinzugefügt werden.
- öffne Makecode in der App oder die Webseite https://makecode.calliope.cc/
- klicke auf Neues Projekt und gib deinem Projekt einen Namen
- wähle die zu deinem Calliope mini passende Hardware v1, v2 oder v3
- klicke auf Erweiterungen
- schreibe die folgende Projekt-URL:
- calliope-net/fernsteuerung
- mit der Tastatur oben in das weiße Feld und klicke auf ENTER
- klicke auf das Rechteck fernsteuerung (kann von der Tastatur verdeckt sein)
- jetzt hat die Liste den neuen Eintrag Funk bekommen
- das ist die Original Bluetooth Erweiterung mit den 2 zusätzlichen Kategorien:
- Bluetooth (Buffer übertragen) und Fernsteuerung (Buffer vorbereiten und auslesen)
Beschreibung der Erweiterung ‘Fernsteuerung’
Kategorie Bluetooth
a
Kategorie Datenpaket
a
Daten Struktur
Steuer Byte 0 ..xx....
(2 Bit) Betriebsart
hex |
bit |
Funktion |
bei Ereignis von einem Sensor |
0x00 |
..00.... |
Fernsteuerung 6 Motoren |
Stop bei Hindernis |
0x10 |
..01.... |
Fernsteuerung ein Motor M0 |
wechselt zum Programm Sensoren |
0x20 |
..10.... |
Programm 5 Strecken |
Stop bei Hindernis |
0x30 |
..11.... |
Programm Sensoren |
wechselt zum Ereignis-Block |
Steuer Byte 0 xx..xxxx
(6 Bit) Schalter
hex |
bit |
Funktion |
Beschreibung |
0x80 |
1....... |
Soft-Reset |
Calliope zurücksetzen |
0x40 |
.1...... |
Status senden |
Empfänger sendet Status über Bluetooth |
0x08 |
....1... |
Schalter |
|
0x04 |
.....1.. |
Schalter |
|
0x02 |
......1. |
Schalter |
|
0x01 |
.......1 |
Hupe |
Buzzer; bei v3 Ton aus Lautsprecher |
Betriebsart: Fernsteuerung 6 Motoren (mit Joystick)
- kontinuierliche Bluetooth Übertragung der Daten vom Joystick
- nur 1 Servo (für Fahr-Motor M0)
- Sensoren: Stop bei Hindernis wenn in Servo Byte 2 aktiviert
- Encoder wird nicht ausgewertet
- zusätzliche Motoren z.B. Gabelstapler oder Kran
Buffer-Struktur (19 Byte) Betriebsart: Fernsteuerung 6 Motoren
Motor |
offset |
Funktion |
offset |
Funktion |
offset |
Funktion |
_ |
0 |
Steuer-Byte 0 |
|
|
|
|
M0 |
1 |
Motor M0 |
2 |
Servo |
3 |
Steuer-Byte 3 |
M1 |
4 |
Motor M1 |
5 |
|
6 |
|
MA |
7 |
Motor MA |
8 |
|
9 |
|
MB |
10 |
Motor MB |
11 |
|
12 |
|
MC |
13 |
Motor MC |
14 |
|
15 |
|
MD |
16 |
Motor MD |
17 |
|
18 |
|
Steuer Byte 3 ..xxxxxx
(6 Bit) Betriebsart: Fernsteuerung 6 Motoren
hex |
bit |
offset |
Motor |
Beschreibung |
0x01 |
.......1 |
1-2 |
M0 |
Motor Power |
0x02 |
......1. |
4 |
M1 |
Motor Power |
0x04 |
.....1.. |
7 |
MA |
Motor Power |
0x08 |
....1... |
10 |
MB |
Motor Power |
0x10 |
...1.... |
13 |
MC |
Motor Power |
0x20 |
..1..... |
16 |
MD |
Motor Power |
Betriebsart: Programm 5 Strecken
- einmalige Bluetooth Übertragung, kein Timeout
- ein Motor und Servo fährt nacheinander die Strecken
- jede Strecke muss in Steuer Byte 3 aktiviert sein
- Stop nach der letzten Strecke
Buffer-Struktur (19 Byte) Betriebsart: Programm 5 Strecken
Strecke |
offset |
Funktion |
offset |
Funktion |
offset |
Funktion |
_ |
0 |
Steuer-Byte 0 |
|
|
|
|
(Joystick) |
1 |
Motor |
2 |
Servo |
3 |
Steuer-Byte 3 |
1. Strecke |
4 |
Motor |
5 |
Servo |
6 |
Entfernung |
2. Strecke |
7 |
Motor |
8 |
Servo |
9 |
Entfernung |
3. Strecke |
10 |
Motor |
11 |
Servo |
12 |
Entfernung |
4. Strecke |
13 |
Motor |
14 |
Servo |
15 |
Entfernung |
5. Strecke |
16 |
Motor |
17 |
Servo |
18 |
Entfernung |
Steuer Byte 3 ..xxxxxx
(6 Bit) Betriebsart: Programm 5 Strecken
hex |
bit |
offset |
Strecke |
Beschreibung |
0x01 |
.......1 |
1 |
(Joystick) |
|
0x02 |
......1. |
4-5-6 |
1. Strecke |
aktiviert |
0x04 |
.....1.. |
7-8-9 |
2. Strecke |
aktiviert |
0x08 |
....1... |
10-11-12 |
3. Strecke |
aktiviert |
0x10 |
...1.... |
13-14-15 |
4. Strecke |
aktiviert |
0x20 |
..1..... |
16-17-18 |
5. Strecke |
aktiviert |
Betriebsart: Programm Sensoren
- einmalige Bluetooth Übertragung, kein Timeout
- ein Motor und Servo fährt ereignisgesteuert die Strecken
- jedes Ereignis muss in Steuer Byte 3 aktiviert sein
- Strecke endet, wenn aktiviertes Ereignis von Sensor eintritt
- Stop Ereignisse: Ultraschallsensor, Spursensor, Encoder
- Fortsetzung mit dem zum Ereignis passenden Block 1 bis 5
Buffer-Struktur (19 Byte) Betriebsart: Programm Sensoren
Sensor |
offset |
Funktion |
offset |
Funktion |
offset |
Funktion |
_ |
0 |
Steuer-Byte 0 |
|
|
|
|
(Joystick) |
1 |
Motor |
2 |
Servo |
3 |
Steuer-Byte 3 |
Ultraschall |
4 |
Motor |
5 |
Servo |
6 |
Entfernung |
Spursensor 00 |
7 |
Motor |
8 |
Servo |
9 |
Entfernung |
Spursensor 01 |
10 |
Motor |
11 |
Servo |
12 |
Entfernung |
Spursensor 10 |
13 |
Motor |
14 |
Servo |
15 |
Entfernung |
Spursensor 11 |
16 |
Motor |
17 |
Servo |
18 |
Entfernung |
Steuer Byte 3 ..xxxxxx
(6 Bit) Betriebsart: Programm Sensoren
hex |
bit |
offset |
Ereignis |
Beschreibung |
0x01 |
.......1 |
1 |
(Joystick) |
|
0x02 |
......1. |
4 |
Ultraschall |
Hindernis erkannt |
0x04 |
.....1.. |
7 |
Spursensor |
00 dunkel dunkel |
0x08 |
....1... |
10 |
Spursensor |
01 dunkel hell |
0x10 |
...1.... |
13 |
Spursensor |
10 hell dunkel |
0x20 |
..1..... |
16 |
Spursensor |
11 hell hell |
Konfiguration für alle Betriebsarten
Motor Byte 1 4 7 10 13 16 (8 Bit) Motor Drehzahl
- 0..128..255 (128 ist Stop)
- 0..127 rückwärts; 129..255 vorwärts
Servo Byte 2 5 8 11 14 17 ...xxxxx
(5 Bit) Servo Winkel
Zur Übertragung wird der Wert (vom Joystick oder vom MakeCode protractorPicker) in 5 Bit (0..31) umgerechnet.
Der Empfänger macht daraus nach der Formel (x + 14) * 3 Winkel von 45° bis 135° in 3° Schritten.
Servo wird mit einem Winkel von 45° bis 135° angesteuert. 90° ist geradeaus.
- 1..16..31 (16 und 0 ist geradeaus 90°)
- Formel: (x + 14) * 3
- 1=45° 2=48° 3=51° .. 15=87° 16=90° 17=93° .. 30=132° 31=135°
Servo Byte 2 5 8 11 14 17 xxx.....
(3 Bit) Sensor Ereignis aktiviert
hex |
bit |
Funktion |
0x20 |
..1..... |
Stop dieser Fahrstrecke bei Ereignis Spursensor |
0x40 |
.1...... |
Stop dieser Fahrstrecke bei Ereignis Ultraschallsensor |
0x00 |
0....... |
Encoder Auflösung (Entfernung in cm oder Zehntelsekunden) |
0x80 |
1....... |
Encoder Auflösung (Entfernung in Impulsen) 1U Motor=63,9 |
Entfernung Byte 6 9 12 15 18 (8 Bit) Entfernung messen aktiviert
- 0: Ereignis (Encoder oder Zeit) ist deaktiviert
- 1..255 0,01 .. 2,55 Meter oder 0,1 .. 25,5 Sekunden
- mit Encodermotor werden Impulse ausgewertet
- ohne Encodermotor wird die Fahrzeit (Zehntelsekunden) ausgewertet
Steuer Byte 3 xx......
(2 Bit) Wert für Ultraschall Entfernung
- 2 Bit codieren die Entfernung für das Ultraschall Ereignis
hex |
bit |
Funktion |
Beschreibung |
0x00 |
00...... |
Ultraschall Entferung |
Stop bei 5 cm |
0x40 |
01...... |
Ultraschall Entferung |
Stop bei 10 cm |
0x80 |
10...... |
Ultraschall Entferung |
Stop bei 15 cm |
0xC0 |
11...... |
Ultraschall Entferung |
Stop bei 20 cm |
Erweiterungen
Upates für Erweiterungen; Erweiterungen aus einem Projekt löschen.
Alle I²C-Erweiterungen von calliope-net (MakeCode-Blöcke).
Calliope-Apps, .hex-Dateien, Bildschirmfotos mit Blöcken
Alle MakeCode-Projekte von calliope-net (Programmierbeispiele).
GitHub-Profil calliope-net: https://github.com/calliope-net
Bezugsquellen
Alle I²C-Module und Bezugsquellen (Hardware).
Blocks preview 
This image shows the blocks code from the last commit in master.
This image may take a few minutes to refresh.

- Calliope mini
- Bluetooth (Buffer)