Ein kleiner Zwischenstopp während der Einarbeitung in ROS: Ich hatte mir vor ein paar Monaten das Gestenerkennungsmodul PAJ7620U2 bei der BerryBase mit in den Warenkorb gelegt, da ich sonst nicht auf den Mindestumsatz für die kostenfreie Versendung gekommen wäre.
Um die Gestenerkennung mit diesem Sensor einsetzen zu können, waren wieder einmal ein paar Hürden zu nehmen:
Erste Hürde:
I2C – 1 war bereits von einem anderen Sensor belegt. Daher musste eine zweite I2C Schnittstelle aktiviert werden.
Dazu muss die Datei: /boot/firmware/usercfg.txt (Ubuntu) / /boot/config.txt (Buster) geöffnet werden und der Eintrag:
dtoverlay=i2c-gpio,bus=4,i2c_gpio_delay_us=1,i2c_gpio_sda=23,i2c_gpio_scl=24
ergänzt werden. Raspberry PI herunterfahren. Die SDA / SCL Pins des PAJ7620U2 mit GPIO23/24, sowie den 3,3V VIN Pin und GND Pin mit Erde verbinden.
Nach einem Neustart steht nun mit i2cdetect -l ein weiterer Eintrag zur Verfügung:
i2c-1 i2c bcm2835 (i2c@7e804000) I2C adapter
i2c-4 i2c 400000002.i2c I2C adapter
Zweite Hürde:
Geeignete Bibliothek für diesen Sensor finden:
https://github.com/DFRobot/DFRobot_PAJ7620U2/tree/master/python/raspberrypi
Unter examples befinden sich ein paar Beispiele.
Dort:
paj = DFRobot_PAJ7620U2(bus=4) # 1 mit 4 tauschen
und das Beispiel Programm starten.
gesture code = 2
gesture description = Left
--------------Gesture Recognition System---------------------------
gesture code = 8
gesture description = Down
--------------Gesture Recognition System---------------------------
gesture code = 8
gesture description = Down
--------------Gesture Recognition System---------------------------
gesture code = 16
gesture description = Backward
--------------Gesture Recognition System---------------------------
gesture code = 1
gesture description = Right
--------------Gesture Recognition System---------------------------
Ich hoffe ich konnte mit diesem Beitrag dem Einen oder Anderen eine lange Suche nach einer geeigneten Bibliothek ersparen.
Mein persönliches Fazit bei diesem Sensor ist hier allerdings, dass man sich den Sparen kann. Man muss schon sehr dran stehen, damit das Modul hier etwas erkennt (so ca. 30 cm Entfernung). Eine Gestenerkennung mit der Kamera zu erreichen bleibt dann weiterhin die endgültige Lösung.