AlpaBot Demo Quelltext: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(24 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 25: Zeile 25:
| 7 || E07_Ultrasonic_Obstacle_Avoidance2 || nicht getestet || Ebmeyer
| 7 || E07_Ultrasonic_Obstacle_Avoidance2 || nicht getestet || Ebmeyer
|-
|-
| 8 || E08_Infrared_Line_Tracking || lauft nicht || Schneider || [https://www.youtube.com/watch?v=8ZPffd-RMfk Video]
| 8 || E08_Infrared_Line_Tracking || lauft || Posner, Steffen || [https://www.youtube.com/watch?v=8ZPffd-RMfk Video] Kalibrierung beachten! Zuerst auf einen hellen und dann einem dunklen Untergrund stellen. Anschließend folgt der Roboter dem dunklen Wert
|-
|-
| 9 || E09_Bluetooth_Control || IO || Schneider || Läuft nur, wenn Jumper E1 (A4->AL) entfernt wurde; Jumper 2 auf RXD TX; WS BLE herunterladen; Scan; Remote Control; Befehle ändern z.B. {"Car":"Forward"} {"Car":"Brake"} für den Direction key [https://www.youtube.com/watch?v=D8Hvqi6qrGM Beispielvideo]
| 9 || E09_Bluetooth_Control || IO || Schneider || Läuft nur, wenn Jumper E1 (A4<big>&#8594;</big>AL) entfernt wurde; Jumper 2 auf RXD TX; WS BLE herunterladen; Scan; Remote Control; Befehle ändern z.B. {"Car":"Forward"} {"Car":"Brake"} für den Direction key [https://www.youtube.com/watch?v=D8Hvqi6qrGM Beispielvideo] [https://www.waveshare.com/wiki/Dual-mode_Bluetooth Manual]
|-
|-
| 10 || E10_Zigbee_Control || nicht verbaut ||
| 10 || E10_Zigbee_Control || nicht verbaut ||
Zeile 43: Zeile 43:
| 16 || E16_ADC || IO || Schneider
| 16 || E16_ADC || IO || Schneider
|-
|-
| 17 || E17_ADXL345_Accelerometer || IO || Schneider || Läuft nur, wenn Jumper E1 (A4->AL) entfernt wurde.
| 17 || E17_ADXL345_Accelerometer || IO || Schneider || Läuft nur, wenn Jumper E1 (A4<big>&#8594;</big>AL) entfernt wurde.
|-
|-
| 18 || E18_Beep || IO || Schneider
| 18 || E18_Beep || IO || Schneider
|-
|-
| 19 || E19_DS3231_RealTimeClock || nicht getestet || Ebmeyer
| 19 || E19_DS3231_RealTimeClock || IO || Schneider
|-
|-
| 20 || E20_Joystick || IO || Schneider
| 20 || E20_Joystick || IO || Schneider
|-
|-
| 21 || E21_LM75_DigitalTemperatureSensor || IO || Schneider || Läuft nur, wenn Jumper E1 (A4->AL) entfernt wurde.
| 21 || E21_LM75_DigitalTemperatureSensor || IO || Schneider || Läuft nur, wenn Jumper E1 (A4<big>&#8594;</big>AL) entfernt wurde.
|-
|-
| 22 || E22_OLED_Display || IO || Schneider || Läuft nur, wenn Jumper E1 (A4->AL) entfernt wurde.
| 22 || E22_OLED_Display || IO || Schneider || Läuft nur, wenn Jumper E1 (A4<big>&#8594;</big>AL) entfernt wurde.
|-
|-
| 23 || E23_RGB_LED || IO || Schneider
| 23 || E23_RGB_LED || IO || Schneider
Zeile 65: Zeile 65:
| 27 || E27_ADC_Servo_Ausgabe || IO || Schneider, Ebmeyer
| 27 || E27_ADC_Servo_Ausgabe || IO || Schneider, Ebmeyer
|-
|-
| 28 || E28_IR_Line_Tracking_Sensor || Hier schein die Kalibrierung wichtig zu sein || Schneider || [https://www.waveshare.com/wiki/Tracker_Sensor Tracker Sensor Manual]
| 28 || E28_IR_Line_Tracking_Sensor || IO || Schneider || [https://www.waveshare.com/wiki/Tracker_Sensor Tracker Sensor Manual]
|-
|-
| 29 || E29_Run_Test_Simulink || nicht getestet || Ebmeyer
| 29 || E29_Run_Test_Simulink || nicht getestet || Ebmeyer
|-
|-
| 30 || E30_Temperature_OLED_Display || IO || Läuft nur, wenn Jumper E1 (A4->AL) entfernt wurde.
| 30 || E30_Temperature_OLED_Display || IO || Läuft nur, wenn Jumper E1 (A4<big>&#8594;</big>AL) entfernt wurde.
|-
|-
|}
|}
Zeile 76: Zeile 76:
== BT mit dem PC ==
== BT mit dem PC ==
* Win 10: Verbindung herstellen zu Waveshare_BLE
* Win 10: Verbindung herstellen zu Waveshare_BLE
*
 


===Einstellungen für die Sensoren===
===Einstellungen für die Sensoren===
{| class="wikitable"
{| class="wikitable"
|-
|-
! #                                          !! Name                    !! Adressen !! Zu beachten
! #                                          !! Name                    !! Adressen !! Zu beachten eventuelle Doppelbelegung
|-
|-
| 1 || Motor||A0 (In_1); A1( In_2); D5 (Enable A); D6 (Enable B); A2 (In_3); A3 (In_4) ||  
| 1 || Motor||A0 (In_1); A1( In_2); D5 (Enable A); D6 (Enable B); A2 (In_3); A3 (In_4) || Poti (A0)
|-
|-
| 2 || Motor-Drehzahlsensor || D2 (links); D3 (rechts) ||  
| 2 || Motor-Drehzahlsensor || D2 (links); D3 (rechts) ||  
|-
|-
| 3 || Infrarot Näherungssensor || A4 (analog links); A5 (analog rechts); D7 (digital links); D8 (digital rechts)||  
| 3 || Infrarot Näherungssensor || A4 (analog links); A5 (analog rechts); D7 (digital links); D8 (digital rechts)|| I²C-Bus (A4, A5, SCL, SDA)
|-
|-
| 4 || Ultraschall ||D11 (Triger); D12 (Echo)||  
| 4 || Ultraschall ||D11 (Triger); D12 (Echo)|| Linetracker (D12, D11)
|-
|-
| 5 || Servo|| D9 (Servo_1); D10 (Servo_2) ||  
| 5 || Servo|| D9 (Servo_1); D10 (Servo_2) || Linetracker (D10 <big>&#8594;</big> Servo_2)
|-
|-
| 6 || Linenfolge Sensor|| D10 (CS); D11 (Dout); D12 (ADDR); D13 (CLK) ||
| 6 || Linenfolge Sensor|| D10 (CS); D11 (Dout); D12 (ADDR); D13 (CLK) ||Ultraschall(D12, D11), Servo_2(D10)
|-
|-
| 7 || Infrarot Fernbedienung || D4 ||
| 7 || Infrarot Fernbedienung || D4 ||
|-
|-
| 8 || OLED|| SCL & SDA (I²C-Bus(0x)); D7; D8 ||  
| 8 || OLED|| SCL & SDA (I²C-Bus(0x)); D7; D8 || Infrarot Näherungssensor analog (A4, A5)
|-
|-
| 9 || Poti || A0 ||  
| 9 || Poti || A0 ||  
|-
|-
| 10 || Joystick || A1; A2; A3; A4; A5 || doppelt belegt mit Motor, Infrarot Näherungssensor  
| 10 || Joystick || A1; A2; A3; A4; A5 || doppelt belegt mit Motor, Infrarot Näherungssensor analog (A4, A5)
|-
|-
| 11 || Temperatur Sensor|| SCL & SDA (I²C-Bus(0x)) ||
| 11 || Temperatur Sensor|| SCL & SDA (I²C-Bus(0x)) || Infrarot Näherungssensor analog (A4, A5)
|-
|-
| 12 || Beschleunigungs Sensor 345B|| SCL & SDA (I²C-Bus(0x53)); D4 ||
| 12 || Beschleunigungs Sensor 345B|| SCL & SDA (I²C-Bus(0x53)); D4 || Infrarot Näherungssensor analog (A4, A5)
|-
|-
| 13 || Echtzeituhr|| SCL & SDA (I²C-Bus(0x)) ||
| 13 || Echtzeituhr DS3231 mit <div style="color:darkgreen"> eingebautem EEPROM </div>|| SCL & SDA (I²C-Bus(0x0x68)) <div style="color:darkgreen"> (I²C-Bus(0x0x57) einstellbar von 0x50-0x56) </div> || Infrarot Näherungssensor analog (A4, A5)
|-
|-
| 14 || RGB LED|| D12 ( Helligkeit, Ein-Aus); D5 & D7 (RGB) ||
| 14 || RGB LED|| D12 ( Helligkeit, Ein-Aus); D5 & D7 (RGB) ||
Zeile 113: Zeile 113:
| 15 || Piezosummer|| D11 ||
| 15 || Piezosummer|| D11 ||
|-
|-
| 16 || Bluetooth Modul || D2 (Reset); D3 (CTS); D9 (On); D10 (RTS) ||
| 16 || Bluetooth Modul || D2 (Reset); D3 (CTS); D9 (On); D10 (RTS) ||
|-
|-
| 17 || Beschleunigungs Sensor 345B|| SCL & SDA (I²C-Bus(0x53)) ||
| 17 || Beschleunigungs Sensor 345B|| SCL & SDA (I²C-Bus(0x53)) || Infrarot Näherungssensor analog (A4, A5); Addressenkonflikt mit dem gleichen Sensor auf dem Roboter <big>&#8594;</big> auslöten oder Pin 12 auf Vcc <big>&#8594;</big> andere Adresse 0x1D oder ausschalten Pin Vss auf GND legen.
|-
|-
| 18 || Drehwinkel Sensor ITG3205|| SCL & SDA (I²C-Bus(0x68)) ||
| 18 || Drehwinkel Sensor ITG3205|| SCL & SDA (I²C-Bus(0x68)Pin9 low) (I²C-Bus(0x69) Pin9 high)|| Infrarot Näherungssensor analog (A4, A5); Addressenkonflikt mit Realtimeclock deswegen Pin 9 auf high legen (Pin 9 und Pin 8 verbinden anschluss zum Gnd trennen) oder realtimeclock auslöten oder verbindung trennen SCL SDA.
|-
|-
| 19 || Magnetfeld Sensor L883|| SCL & SDA (I²C-Bus(0x1E)) ||9E D3 E8?
| 19 || Magnetfeld Sensor (HML883L alt) neu IST8310|| SCL & SDA (I²C-Bus(0x1E)alt )  (I²C-Bus(0x  )neu S.6 Datenblatt )||Infrarot Näherungssensor analog (A4, A5)
|-
|-
|}
|}


 
== Offene Fragestellungen ==
 
# Einbindung des AlphaBot in MATLAB, so dass man mit MATLAB programmieren und flashen kann.
# Einbindung des AlphaBot in Simulink, so dass man mit Simulink programmieren und flashen kann.
# Programmierung und Debugging kabellos via Bluetooth.
# E04_Infrared_Remote_Control - Steuerung des AlphaBot mit der IR-Fernbedienung.
# Programmierung mit [[Erste_Schritte_mit_Visual_Studio |Visual Studio]] - Bislang brauchte man eine kostenpflichtige Bibliothek <code>Visual Micro</code> (Stand 9/21), die wir nicht haben. Geht das aktuelle auch ohne?




----
----
→ zurück zum Hauptartikel: [[Turtle_Bot_WS_20/21|Turtle Bot WS 20/21]]
→ zurück zum Hauptartikel: [[AlphaBot|AlphaBot]]

Aktuelle Version vom 22. Mai 2022, 08:17 Uhr

Abb. 1: AlphaBot von Waveshare

Autoren: Prof. Dr.-Ing. Schneider, Marc Ebmeyer

Checkout URL: https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/AlphaBot/AlphaBot_Demo/arduino/AlphaBot/examples/

Ziel: c:\Users\<Benutzer>\Documents\Arduino\libraries\AlphaBot\examples\

# Name Status Prüfer Hinweis
1 E01_Run_Test IO Schneider, Ebmeyer
2 E02_Infrared_Obstacle_Avoidance IO Schneider
3 E03_Infrared_Tracking_Objects IO Schneider
4 E04_Infrared_Remote_Control IR Sendet, Demo läuft nicht Schneider
5 E05_Ultrasonic_Ranging IO Schneider
6 E06_Ultrasonic_Obstacle_Avoidance1 nicht getestet Ebmeyer
7 E07_Ultrasonic_Obstacle_Avoidance2 nicht getestet Ebmeyer
8 E08_Infrared_Line_Tracking lauft Posner, Steffen Video Kalibrierung beachten! Zuerst auf einen hellen und dann einem dunklen Untergrund stellen. Anschließend folgt der Roboter dem dunklen Wert
9 E09_Bluetooth_Control IO Schneider Läuft nur, wenn Jumper E1 (A4AL) entfernt wurde; Jumper 2 auf RXD TX; WS BLE herunterladen; Scan; Remote Control; Befehle ändern z.B. {"Car":"Forward"} {"Car":"Brake"} für den Direction key Beispielvideo Manual
10 E10_Zigbee_Control nicht verbaut
11 E11_mjpg-AlphaBot Funktion unklar Ebmeyer
12 E12_mjpg-AlphaBot-PID Funktion unklar Ebmeyer
13 E13_Photo_Interrupter_Sensor IO Schneider
14 E14_Wheel_Encoders IO Schneider
15 E15_Wheel_Encoders_Drive IO Schneider
16 E16_ADC IO Schneider
17 E17_ADXL345_Accelerometer IO Schneider Läuft nur, wenn Jumper E1 (A4AL) entfernt wurde.
18 E18_Beep IO Schneider
19 E19_DS3231_RealTimeClock IO Schneider
20 E20_Joystick IO Schneider
21 E21_LM75_DigitalTemperatureSensor IO Schneider Läuft nur, wenn Jumper E1 (A4AL) entfernt wurde.
22 E22_OLED_Display IO Schneider Läuft nur, wenn Jumper E1 (A4AL) entfernt wurde.
23 E23_RGB_LED IO Schneider
24 E24_Servo_Knop IO Schneider
25 E25_Servo_Sweep IO Schneider
26 E26_GY85_Magnet_Gyro_Beschleunigung nicht vorhanden
27 E27_ADC_Servo_Ausgabe IO Schneider, Ebmeyer
28 E28_IR_Line_Tracking_Sensor IO Schneider Tracker Sensor Manual
29 E29_Run_Test_Simulink nicht getestet Ebmeyer
30 E30_Temperature_OLED_Display IO Läuft nur, wenn Jumper E1 (A4AL) entfernt wurde.


BT mit dem PC

  • Win 10: Verbindung herstellen zu Waveshare_BLE


Einstellungen für die Sensoren

# Name Adressen Zu beachten eventuelle Doppelbelegung
1 Motor A0 (In_1); A1( In_2); D5 (Enable A); D6 (Enable B); A2 (In_3); A3 (In_4) Poti (A0)
2 Motor-Drehzahlsensor D2 (links); D3 (rechts)
3 Infrarot Näherungssensor A4 (analog links); A5 (analog rechts); D7 (digital links); D8 (digital rechts) I²C-Bus (A4, A5, SCL, SDA)
4 Ultraschall D11 (Triger); D12 (Echo) Linetracker (D12, D11)
5 Servo D9 (Servo_1); D10 (Servo_2) Linetracker (D10 Servo_2)
6 Linenfolge Sensor D10 (CS); D11 (Dout); D12 (ADDR); D13 (CLK) Ultraschall(D12, D11), Servo_2(D10)
7 Infrarot Fernbedienung D4
8 OLED SCL & SDA (I²C-Bus(0x)); D7; D8 Infrarot Näherungssensor analog (A4, A5)
9 Poti A0
10 Joystick A1; A2; A3; A4; A5 doppelt belegt mit Motor, Infrarot Näherungssensor analog (A4, A5)
11 Temperatur Sensor SCL & SDA (I²C-Bus(0x)) Infrarot Näherungssensor analog (A4, A5)
12 Beschleunigungs Sensor 345B SCL & SDA (I²C-Bus(0x53)); D4 Infrarot Näherungssensor analog (A4, A5)
13 Echtzeituhr DS3231 mit
eingebautem EEPROM
SCL & SDA (I²C-Bus(0x0x68))
(I²C-Bus(0x0x57) einstellbar von 0x50-0x56)
Infrarot Näherungssensor analog (A4, A5)
14 RGB LED D12 ( Helligkeit, Ein-Aus); D5 & D7 (RGB)
15 Piezosummer D11
16 Bluetooth Modul D2 (Reset); D3 (CTS); D9 (On); D10 (RTS)
17 Beschleunigungs Sensor 345B SCL & SDA (I²C-Bus(0x53)) Infrarot Näherungssensor analog (A4, A5); Addressenkonflikt mit dem gleichen Sensor auf dem Roboter auslöten oder Pin 12 auf Vcc andere Adresse 0x1D oder ausschalten Pin Vss auf GND legen.
18 Drehwinkel Sensor ITG3205 SCL & SDA (I²C-Bus(0x68)Pin9 low) (I²C-Bus(0x69) Pin9 high) Infrarot Näherungssensor analog (A4, A5); Addressenkonflikt mit Realtimeclock deswegen Pin 9 auf high legen (Pin 9 und Pin 8 verbinden anschluss zum Gnd trennen) oder realtimeclock auslöten oder verbindung trennen SCL SDA.
19 Magnetfeld Sensor (HML883L alt) neu IST8310 SCL & SDA (I²C-Bus(0x1E)alt ) (I²C-Bus(0x )neu S.6 Datenblatt ) Infrarot Näherungssensor analog (A4, A5)

Offene Fragestellungen

  1. Einbindung des AlphaBot in MATLAB, so dass man mit MATLAB programmieren und flashen kann.
  2. Einbindung des AlphaBot in Simulink, so dass man mit Simulink programmieren und flashen kann.
  3. Programmierung und Debugging kabellos via Bluetooth.
  4. E04_Infrared_Remote_Control - Steuerung des AlphaBot mit der IR-Fernbedienung.
  5. Programmierung mit Visual Studio - Bislang brauchte man eine kostenpflichtige Bibliothek Visual Micro (Stand 9/21), die wir nicht haben. Geht das aktuelle auch ohne?



→ zurück zum Hauptartikel: AlphaBot