Folgende Warnungen sind aufgetreten:
Warning [2] Undefined variable $unreadreports - Line: 34 - File: global.php(961) : eval()'d code PHP 8.2.2 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/global.php(961) : eval()'d code 34 errorHandler->error_callback
/global.php 961 eval
/showthread.php 28 require_once
Warning [2] Undefined property: MyLanguage::$thread_modes - Line: 43 - File: showthread.php(1621) : eval()'d code PHP 8.2.2 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php(1621) : eval()'d code 43 errorHandler->error_callback
/showthread.php 1621 eval




Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
GPIO Controller reagiert nicht
#1
Guten Abend zusammen,
ich versuche aktuell einen Taster über den CarPc Controller mit einer Funktion zu belegen, allerdings zeigt Kodi keine Reaktion.
Angeschlossen ist mein Taster an GPIO Pin 17, so wie in dieser Anleitung beschrieben:
http://engineering-diy.blogspot.de/2013/...gpios.html
Er wird auch im GPIO Diagnostic Tool erkannt, ist er offen liefert er eine 1, geschlossen eine 0.
Meine io_config sieht folgendermaßen aus:

Code:
# Raspberry PI GPIO XBMC Controller configuration file
# Ip address of the XBMC machine
ip:localhost

# Radio volume and XBMC volume are unified
unified_volume:1

# Debouncing settings
click_skip:1
click_hold:500000
encoder_hold:200000

# Taster

button:17:KB:down
 Kann mir jemand sagen was ich falsch mache?
Viele Dank
Zitieren
#2
Falsche Syntax! KB_Down wäre richtig. Wink
Zitieren
#3
Geht leider immer noch nicht.
Habe meinen Taster an GPIO 17 nach dieser Grafik angeschlossen:
[Bild: RP2_Pinout.png]
Im GPIO Diagnostic Tool wird GPIO 17 angezeigt
Reicht das wenn ich den Pi nach der Änderung reboote?
Zitieren
#4
Nur zur Sicherheit nachgefragt: Einen Pull Up- bzw. Pull Down-Widerstand hast du schon eingebaut?
Zitieren
#5
(02.12.2016, 15:38)Jack schrieb: Nur zur Sicherheit nachgefragt: Einen Pull Up- bzw. Pull Down-Widerstand hast du schon eingebaut?

Schaltung ist Aufgebaut wie im linken Bild:

[Bild: download.png]

//Edit: Habe das ganze grade mal als PullDown Widerstand gesteckt. Jetzt bekomme ich bei Tastendruck zwar eine 1 statt einer 0, Reaktionen zeigt das aber immernoch nicht
Zitieren
#6
hold 0.5 sekunden, oder?
Zitieren
#7
Versuch es mit den xbmc built in functions mit action Up.


button:17:xbmcbuiltin_Action(Up)


Als Hardware PullUp verwende mal 10kOhm

Gesendet von meinem SM-T530 mit Tapatalk
Zitieren
#8
So, kam heute mal dazu etwas zu testen.
Zum einen werden meine Taster nun richtig erkannt, vorher war anscheinend mein GPIO Extender kaputt.
Meine Taster sind nun an folgende Pins angeschlossen:
[Bild: gpio1.jpg]
Wenn ich den Taster nun drücke und erneut auslese bekomme ich auch eine 1, also alles wie gewollt.
Meine io_config sieht folgendermaßen aus:

Code:
Raspberry PI GPIO XBMC Controller configuration file
# Ip address of the XBMC machine
[ip]:localhost

# Radio volume and XBMC volume are unified
unified_volume:1

# Debouncing settings
click_skip:1
click_hold:500000
encoder_hold:200000

# Left Control
button:17:xbmcbuiltin_Action(Up)
Habe also soweit alles vorgeschlagene befolgt, bis auf den 10k Ohm Widerstand, da ich aktuell nur 1k Ohm zuhause habe.
Was mir noch aufgefallen ist, ist das beim auslesen mit dem GPIO Diagnostic Tool in Kodi beim drücken der Taster die 1 etwas "flackert". Außerdem kann es passieren das andere Pins auch für einige Millisekunden eine 1 ausgeben.
Hab das ganze mal gefilmt. 

Vermute allerdings das dies auch am Widerstand liegt, da GPIO 26 das Verhalten im Video zeigt sobald ich den Taster nur berühre.


Trotz allem sollte ich ja eigentlich in Kodi eine Reaktion auf meinen Taster sehen, oder verstehe ich da was falsch?

Vielen Dank für Eure Hilfe!
Zitieren
#9
Ja, KODI sollte daraufhin eine Reaktion zeigen sprich im Menü den Cursor (Balken) nach oben bewegen.
Alternativ ersetze das Up gegen VolumeUp. Dann sollte der GPIO die Lautstärke erhöhen.
Deine weiteren GPIOs flattern da sie keinen fest definierten Zustand haben (high oder low). Interne oder HW Widerstände setzen dann  hat sich das erledigt.
Zitieren
#10
Mal wieder ne kurze Zwischenfrage: Welchen Skin verwendest du? Der Skin muss das nämlich auch unterstützen. Der Carbon-Skin von Idorel z.B. hat das keineswegs durchgängig implementiert. Und natürlich muss auch irgendein Element auf dem Bildschirm schon den Focus haben, um selbigen dann weiterbewegen zu können.

Noch ein Nachtrag: Der Einwand von gxdigga zum Widerstand ist auch nicht von der Hand zu weisen: 1kOhm kann durchaus zu wenig sein. Mit 10kOhm bist du auf jeden Fall auf der sicheren Seite.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
RasPiCarProjekt