Folgende Warnungen sind aufgetreten: | |||||||||||||||
Warning [2] Undefined variable $unreadreports - Line: 34 - File: global.php(961) : eval()'d code PHP 8.2.24 (Linux)
|
GPIO Orginal auto navigations panel benutzen -GPIO - Druckversion +- RasPiCar Projekt Forum (https://RasPiCarProjekt.de) +-- Forum: Hardware (https://RasPiCarProjekt.de/forumdisplay.php?fid=5) +--- Forum: USB / Andere Schnitstellen (https://RasPiCarProjekt.de/forumdisplay.php?fid=11) +--- Thema: GPIO Orginal auto navigations panel benutzen -GPIO (/showthread.php?tid=1050) |
Orginal auto navigations panel benutzen -GPIO - eRRoXxX - 29.04.2017 Hallo nochmals an alle, Erst mal wieder lob an die ganzen Entwickler hier und die die mithelfen. Da ich es mit dem Radio Modul Problem aufgeben habe, dachte ich mir endlich die notwendige stoeurung zum laufen zu bringen und das ganze endlich ins Auto zu schmeißen. Also ich brauche: Play/pause, next song, previous und volume control. Ich dachte das ganze mit dem orginal bedienteil der navigation zu machen da ich nicht wirklich platz habe funktionel die buttons einzubauen. Das problem liegt jetzt erst mal irgeneine aktion mit den buttons anzusteuerun und danach den rotary encoder zum laufen zu bringen wenn das uberhaupt geht da es so einer ist: Und mithilfe dieser plastik werden die impulse/phasen erstelletn: Hier noch die shematic: Mit der python skript teste ich ob die knopf drucke erkant werden - die knopfe funktioniern. Jetzt wurde ich gern noch den encoder testen, weil ich an den Pins die im shematicn gekennzeichnet sind als encoder ( 6 und 7 wenn ich richtig liege) ich kein funktion kriege ( der wiederstand ist da zu gross, 1M ohm, da es noch durch einen stromkreis geht mit transistoren und kondenzatoren) habe aber schnitstellen gefunden wo ich das signal direkt ubernehemn konnte wenn es bedarf gibt. Also jetz noch mall im kurzem meine bitte: Wo und was muss ich ( nur in der gpio_descritpion? ) machen damit ich mit denn buttons Play/Pause, Next und Previous bedinnen kann und wenn mir jemand mit dem rotary helfen konnte ( oder gibt es so kleine rotary encoders zum kaufen dann kann ich Ihn vielleicht ersetzen). Python Skript: GPIO_description: Code: # Raspberry PI GPIO XBMC Controller configuration file Vielen Dank im voraus. Mfg RE: Orginal auto navigations panel benutzen -GPIO - eRRoXxX - 05.05.2017 Anybody? RE: Orginal auto navigations panel benutzen -GPIO - Jack - 05.05.2017 Also ich sehe auf diesem Bild keinen Roter Encoder. Wo soll der sein und bist du sicher, dass das Teil welches du meinst auch wirklich ein Encoder ist? Was mir sonst noch auffällt: schmeiß' das "button:0:KB_Enter" raus oder kommentiere es wenigstens aus. Das gehört da nicht hin. Abgesehen davon sollte die gpio_description für das was du tun möchtest passen. Falls es halt einen Encoder gibt, der auch richtig angeschlossen ist. RE: Orginal auto navigations panel benutzen -GPIO - eRRoXxX - 05.05.2017 Danke Jack fur deine antwort. Also wenn ich mich nicht irre, sind die zwei blech teile, im ersten bild zu sehen ein stuck unter dem mittel knopf, als kontakte vom rotary encoder. Die konakte stehen wie auf dem bild zu sehen auseinander, werden von dem plastik teil auf bild zwei zusammen gefuhrt. Und das sollte doch das prinzip von einem rotary encoder sein, wenn ich falsch liege bitte korriegert mich. Ich sehe aber nirgendwo in der gpio_descprition zeilen die die knopfe konfiguriren und weiss ich selber nicht, habe es versucht. Also an ich auf die Pins 33,35,37 (GPIO 13,19,26) die jeweilgen knopfe anstecke, was mus ich noch in die gpio schreiben damit die als play/pause,next,previous funktionieren? Danke Edit: Hier das bild vom ganzen kontroll-panel... Nur meins ist eins mit 2 knopfen und ein rotary mit knopf. RE: Orginal auto navigations panel benutzen -GPIO - Jack - 05.05.2017 Ich glaube ich verstehe was du meinst. Ich zweifle aber, ob das wirklich dem Prinzip eines Rotary Encoders entspricht. Wie wird dabei zwischen einem Links- und einem Rechtsdreh unterschieden? Es ist ebenfalls völlig offen, ob da auch die nötigen Pull-up Widerstände verbaut sind. Zur Erklärung der gpio_description: Code: # Right Control Die Anschlüsse musst du beachten und entsprechend ändern oder deinen Encoder entsprechend verkabeln: clk: GPIO Pin, auf dem der CLK Pin des Encoders angeschlossen ist dt: GPIO Pin, auf dem der DT Pin des Encoders angeschlossen ist button: GPIO Pin, auf dem der Button des Encoders angeschlossen ist Natürlich hast du jetzt wohl das Problem, dass die Anschlüsse deines "Encoders" wahrscheinlich nicht entsprechend benannt sind. Und an der Stelle kann ich dich nur warnen, dass der Pi schnell mal gegrillt ist, wenn falsche Ströme in die GPIO-Pins geleitet werden. Ich kann selber ein Lied davon singen … Was die Befehle in der gpio_description angeht: Code: radio_seek_down+xbmcbuiltin_PlayerControl(previous):radio_seek_up+xbmcbuiltin_PlayerControl(next) 1. Die Befehle für Links-/Rechtsdreh sind durch einen Doppelpunkt ":" getrennt. Was vor dem Doppelpunkt steht wird bei Linksdreh ausgeführt, was rechts davon steht entsprechend bei Rechtsdreh. 2. Sowohl Links- als auch Rechtsdreh haben jeweils eine Doppelbelegung (getrennt durch das "+"). Je nachdem, welcher Modus aktiv ist (Radio oder eben nicht Radio) wird der entsprechende Befehl ausgeführt: Links - radio_seek_down = Radio Suchlauf Frequenz absteigend Links - xbmcbuiltin_PlayerControl(previous) = gehe zum vorigen Track Rechts - radio_seek_up = Radio Suchlauf Frequenz aufsteigend Rechts - xbmcbuiltin_PlayerControl(next) = gehe zum nächsten Track Button - KB_Enter = Enter RE: Orginal auto navigations panel benutzen -GPIO - eRRoXxX - 06.05.2017 Jack, vielen dank fur die ganze eklareung. Was den rotary encoder angehet, meiner meinung sollte es funktionieren, weil das plastik teil wenn man den knopf dreht zuerst ein paar von den blechen zusamenfuhrt und dan denn anderen. Wie in den bild zu sehen, wenn man links dreht, kommt zuerst "pin2" hoch, dann pin1,bei einem rechtsdreh andersrum. Was die pull up wiederstande angehet, ist nur an einem knopf ein wiederstand und zwar nur 450ohm. Habe aber gelesen das mann die internen wiederstande nutzen kann mit pull_up_down=GPIO.PUD_UP (wenn es bedarf gibt kann ich auch noch ein dazwischen loten). Also nochmal zur zusammenfassung; Mit diesen zeilen im gpio_descritpion: button:16:PlayPause button:20:xbmcbuiltin_PlayerControl(next) button:21:[i]xbmcbuiltin_PlayerControl(previous)[/i] Wenn ich die drei knopfe an die letzen drei rechten pins ( 36,38,40) oder GPIO 16,20 und 21 sollten ich reaktion am CarPi bekommen ( play/pause, next und previous)? RE: Orginal auto navigations panel benutzen -GPIO - Jack - 06.05.2017 Mit dieser Funktionsweise darf man aber nicht von einem "Rotary Encoder" reden. Dann sind das einfach zwei Schalter, die über einen relativ vorsintflutlichen Mechanismus betätigt werden. Ob das damit funktioniert, darüber wage ich keine Aussage. |