View on GitHub

fernsteuerung

Calliope Bluetooth Erweiterung zur Fernsteuerung und Fernprogrammierung von Robotern mit mehreren Motoren und Servo (z. B. CalliBot, Maker Kit Car, CaR4, Kran)

Diese Seite bei https://calliope-net.github.io/fernsteuerung/ öffnen

Calliope Bluetooth Erweiterung zur Fernsteuerung und Fernprogrammierung von Robotern mit Motoren und Servo

Als Erweiterung verwenden

Dieses Repository kann als Erweiterung in MakeCode hinzugefügt werden.

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)

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

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

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

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.

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

Steuer Byte 3 xx...... (2 Bit) Wert für Ultraschall Entfernung

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 Build status badge

This image shows the blocks code from the last commit in master. This image may take a few minutes to refresh.

A rendered view of the blocks

Metadaten (verwendet für Suche, Rendering)