[MCP3008] Mehrere Schalter anhand der Spannung abfragen (fertige Platine)

  • Hallo,


    Ich stehe neuerdings wieder vor einem Problem.. Naja eigentlich eher nur die Frage der Umsetzung.

    Ich habe eine Platine welche insgesamt 3 Anschlüsse hat. Der eine pin ist GND der andere + 3.3V.

    Der letzte gibt jetzt auch noch 3.3 V aus. Wenn jetzt aber ein Taster gedrückt wird, verändert sich die Spannung . Mir ist jetzt wichtig, dass der Pi erkennen kann welcher Taster gedrückt wird.

    Dabei ist es nicht wichtig , das die Spannung angezeigt wird.

    Meine Tasten die ich gerne abfragen will ist das Steuerkreuz in der Mitte und die 3 weiteren darunter.


    So wie ich das verstanden habe , ist jeder Channel des AD für einen Taster zuständig.



    Wie löte und wo muss ich überhaupt löten?


    Danke für eure Hilfe.


    dreamshader Work in Progress :bravo2:

  • Wie löte und wo muss ich überhaupt löten?

    das wo weisst du doch schon (das wie kann ich nicht erklären, ich würde sagen optimal richtig)

    suche die Taster die nach GND schalten, notiere +(ungedrückt) und GND die kannst du auf einen Treiber geben 74HC4049, dessen VCC an 3,3V von der Platine, nicht die Taster sondern +Batterie vermutlich 3V CR2032? dessen GND an -Batterie.

    Die Tasterleitungen die nach Druck auf GND gehen an die Eingänge vom 74HC4049, sobald einer der Eingänge GND sieht weil der Taster gedrückt wird gibts ein HIGH an seinem Ausgang denn man feststellen kann mit GPIO Ports, GND verbinden nicht vergessen. Glücklicherweise wegen 3V passend für den PI.


    Der Taster der nicht GND durchschaltet sondern 3,3V der muss an einen noch freien Eingang vom 74HC4049, der passende Ausgang invertiert es auch 0V, das kann ja noch mal invertiert werden, wieder in einen freien Eingang rein und am Ausgang steht dann auch 3,3V an, somit sind alle Taster unbelasstet und entkoppelt.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Hi jar ,


    Danke für deine Erläuterungen. Ich habe bloß ein Problem, solange ich deinen Beitrag nicht falsch verstanden habe..


    Also die Pins sehen ja wie folgt aus :

    GND

    Vcc

    Steuersignal


    Auf den letzteren kommt immer 3.3 V raus. Jedoch beim steuersignal verändert sich der widerstand. Wo sollte ich mit dem Durchgangsprüfer messen ?

    Da die Bauteile in SMD Form sind wird das ganz schön schwierig.. Gibt es Alternativen?


    Der 74HC4049, was macht der genau? Frage ich den genau wie als würde ich einen Schalter abfragen ab?


    Danke :)

  • Nabend raspbastler ,

    das wird dann wohl eine Tastatur-Matrix sein.

    Hast Du da nicht mal eine Schalte zu der Platine ... oder ein Datenblatt?

    Ist imho so eher Spekulatius ... und Weihnachten ist schon ne Weile vorbei ;)


    cu,

    -ds-

  • Abend dreamshader

    Das ist leider alles was ich weiß. Ich habe halt alles gemessen und notiert .

    Somit bin ich ja zu dem Schluss gekommen. Du hast aber dahingehend Recht, dass es eine Tastatur Matrix ist. Glaube von einem alten DVD Player.


    Gehen wir Mal davon aus, dass ich eine Lösung mit Analog / Digital Wandler nehme.

    Müsste ich ja reintheoretisch immer nach dem widerstand anfangen zu löten.


    Bei der Lösung von jar , weiß ich nicht weiter evtl. Kann dieser ja nochmal seine Gedanken äußern.

  • Gehen wir Mal davon aus, dass ich eine Lösung mit Analog / Digital Wandler nehme.

    unnötig kompliziert, Taster sind digital! ja/nein high/low 1/0 was ist an digitaler Abfrage kompliziert?


    Es geht doch nur darum die Platine nicht zu belasten wenn längere Kabel zum PI führen.


    Den 74HC4049 gibts auch als DIL IC aber ich würde eher ein SMD unter die Platine kleben.


    Soll denn die Platine weiter von einer Batterie gespeist werden oder hängt die direkt auf dem GPIO?

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • unnötig kompliziert, Taster sind digital! ja/nein high/low 1/0 was ist an digitaler Abfrage kompliziert?

    Eigentlich nichts, es sei denn, Du hast so eine Verschaltung wie auf der Platine. Das ist keine Matrix. Je nach Tastendruck wird einfach ein (ich wette je Taste unterschiedlicher) Widerstand in den Weg geschaltet. Die drei untersten sowie die äußeren vom Steuerkreuz gehen auf ein rotes Kabel, der Rest auf das andere. Spricht jetzt nichts dagegen, einen A/D Wandler zu nehmen. Die Alternative wäre, jeweils statt der Widerstände ein Kabel anzulöten. Vier Taster - vier Kabel.


    Gruß, STF

  • STF


    Danke, genau so ist es.. Es werden jeweils verschiedene Widerstände geschaltet.

    Kann ich dich bitten in dem Bild aus Beitrag #1 zu malen, wo ich jetzt bei der Benutzung für einen AD Wandler ansetzen muss? Wäre es denn überhaupt möglich an jeden Schalter ein Kabel zu löten?


    jar


    Ich glaube ich habe deine Idee immer noch nicht verstanden. Kannst du Mal in dem Bild markieren welche Kabel wohin führen


    Danke euch beiden!

  • Benutzung für einen AD Wandler ansetzen muss? Wäre es denn überhaupt möglich an jeden Schalter ein Kabel zu löten?

    Ich würd das mit einem Spannungsteiler machen. Malen klappt frühestens heute abend, eher morgen. Heute darf ich mir beim Training den Allerwertesten breit sitzen. Da bin ich hernach zu nix mehr zu gebrauchen.


    Die Platine scheint jetzt nicht allzu klein zu sein, zumindest, wenn ich mir die Relation zum Steckerchen ansehe. Mit einer ruhigen Hand könntest Du die SMD Widerstände herausnehmen und jeweils an den Schalterkontakt ein Kabel anlöten. Dann stellst Du beim Drücken der Taste eine Verbindung zwischen einem der roten und Deinem Kabel her. Geht auch.


    Grüße, STF

  • UPDATE:


    Ichh glaube am besten ist die Lösung von jar .

    Ich habe eben nochmal gemessen und deshalb kommt das hin, das verschiedene Pegel Anliegen.

    Deshalb möchte ich gerne , dass das Steuerkreuz angesprochen werden kann. Also 2 für links und rechts und 2 für hoch und runter.

    Zusätzlich noch 3 weitere Tasten.


    Wichtig dabei das jeder Schalter unabhängig voneinander angefragt werden kann. Also ob ein Schalter gedrückt wird oder eben nicht.

    Dies soll dazu genutzt werden um eine GUI zu steuern.

    Die Spannung liegt stabil und fest an. Es wird keine Batterie Belastet.


    Vielen Dank schonmal.

  • Eigentlich nichts, es sei denn, Du hast so eine Verschaltung wie auf der Platine. Das ist keine Matrix. Je nach Tastendruck wird einfach ein (ich wette je Taste unterschiedlicher) Widerstand in den Weg geschaltet.

    ich stimme zu, das war schwer aus der Originalbeschreibung vom TO zu erkennen, mir war das zu undurchsichtig.

    Jetzt mit deinem Hinweis und eine Nacht drüber schlafen stimme ich zu.


    AD Wandler und der Wert steht für die Taste.


    Es wird ja immer wieder gesagt schaltungsprosa ist Mist, als Bild leichter zu überblicken.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Hi,


    Also ist es jetzt doch besser eine Variante mit ad Wandler zu nehmen?


    Wie sähe diese Lösung aus?

    Ergänzung:


    Am besten wäre es aber definitiv ohne ad Wandler. Wäre es immer noch möglich deine erste Idee uumzusetzen jar?

  • bevor ich weiter rate



    mach ein Schaltbild deiner Platine....


    +Bat und GND hat du ja gefunden, nun male alle Verbindungen von/zu den Tastern zur CPU


    Folge den Leiterbahnen und messe Verbindungen ohne Spannung Ohm


    alles andere wäre weiter raten, meine erste Lösung funktioniert nur wenn die Taster einen gemeinsamen GND haben, möglicherweise auch wenn die Widerstände nach GND bei gedrückten Tasten unter 10k liegen, aber das ist immer noch raten ohne Bild.

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Also ich werde deiner Forderungen nachkommen.

    Ich habe ja bereits GND gefunden. Damit wir keine weiteren Missverständnise haben, würde ich dich bitten, dass du mir sagst an welchen Punkte ich messen soll.

    Ich hab ein Multimeter und Stelle dies auf Durchgangsprüfung.

    Jetzt halt ich die eine Messspitze an GND und die andere an einen Taster oder einfach an die Widerstände?

    Welche Seite von den Widerstanden muss ich messen. Du kannst bitte vielleicht dir das foto anschauen (#1) und dann einfach kurz schreiben wo ich messen muss.

    Dann werde ich das heute Abend machen und einen Plan erstellen!


    Vielen Dank!

  • du hast doch schon Bild

    256B0F10-C709-4837-9134-902AFC4E0204.jpeg


    ich nehme mal an, rot geht zu +Batterie und scharz zu -Batterie, aber das weisst nur du.

    Es gibt auch 2 rote Leitungen und auch das bleibt für mich unsichtbar.


    Nimm dein Platinen Bild, Gimp o.ä. und male erst mal +Bat & -Bat an die Lötstellen ein

    Dann hat eder Tastenknackfrosch einen Aussenring, nach GND also Minus? das kannst du ja messen in Ohm.

    Von vermutlich +Batt geht je eine Leitung zum Taster über R, alle R messen und beschriften mit R Taster x


    Das kann man dannn auch gleich in ein Schaltbild umsetzen.


    Batt +- R Taster

    nanu wo ist der Controller?

    sind die 3 Leitungen etwa +-Bat und AD?

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Ich mache das und melde mich bei dir


    Danke vielmals..

    optimal wäre es wenn du den Plan in eagle 6 (free Version) erstellst dann könnte ich die Erweiterungen gleich in die .sch Datei einpflegen

    ftp://ftp.cadsoft.de/eagle/program/6.6/


    hast du einen win Rechner?

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Ich hab ein ein win Rechner. Ich komme bloß nicht mit Eagle zurecht

    Ich messe jetzt wenn ich Zuhause und aus der Schule bin und dann werde ich das die gut wie möglich dokumentieren.


    Wichtig ist , das die Taster einzeln unabhängig ausgelesen werden können und in einer Geschwindigkeit, welche ausreicht um sich in einer GUI zu bewegen.

    Wenn die Geschwindigkeit nicht ausreichend ist, wird dahingehend optimiert. Dies soll aber nicht Thema dieses Threads sein.


    Für meine Bedürfnisse wurde ein high / low Signal reichen .