GPIO IN 3.3 Volt

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen

    Ich habe gelesen, dass bei einem Taster der als INput an einem GPIO fungiert nebst dem Kabel das an 3.3.V + noch ein Widerstand nach - (Masse) sein muss damit klare Zustände herrschen ? Wenn das so ist, verstehe ich das richtig, dass der Widerstand der ans Minus geht parallel zum Kabel das an 3.3V+ geht angeschlossen wird ?

    anbei eine layenhafte zeichnung


    Danke
    nadsas

  • Der Widerstand kommt an die andere Seite vom Schalter direkt an P25.
    Wenn der Schalter offen ist bekommt der Pin Masse über den Widerstand, wenn der Schalter geschlossen ist bekommt er direkt 3,3Volt.

    Üblicherweise macht man das andersrum. Der Widerstand kommt an 3,3Volt und GND wird geschaltet.
    Der Pi hat beide Varianten eingebaut. Wenn Du die internen Widerstände aktivierst kannst Du den 10k weglassen.

    Einmal editiert, zuletzt von orb (19. August 2013 um 13:14)

  • Bis gerade war ich eigentlich der Meinung das man zum schalten der GPIO Pins keine extra Stromversorgung, also 3V, benötigen würde..

    Habe das aber auch noch nicht ausprobiert, nur gelesen das man Mikroschalter nur an den gewünschten GPIO Pin und GND anschliesen bräuchte..

    Probier das vielleicht einfach mal aus: GPIO25 und GND verbinden - ändert sich dann die value vom GPIO25 IN pin?


    Der Pi hat beide Varianten eingebaut. Wenn Du die internen Widerstände aktivierst kannst Du den 10k weglassen.

    Wie aktiviert man denn "die internen Wiederstände" ?

  • ja klar, sorry designfehler :) sonst hat der GPIO25 keinen Status wenn Taster nicht gedrückt.
    Stimmts nun laut Zeichnung ?


    wie mache ich das mit internen widerständen ?

    Danke

    Einmal editiert, zuletzt von nadsas (19. August 2013 um 13:28)


  • Bis gerade war ich eigentlich der Meinung das man zum schalten der GPIO Pins keine extra Stromversorgung, also 3V, benötigen würde..
    ...
    Wie aktiviert man denn "die internen Wiederstände" ?

    Hi meigrafd,
    das ist ja auch keine "Stromversorgung" ... high ist bei den GPIOs des RPi eben 3V3 ... und irgendwo müssen die ja herkommen ;)



    wie mache ich das mit internen widerständen ?

    Danke


    @beide:
    Was nutzt ihr für eine Schnittstelle?
    Also C-API pigpio, wiringPi oder per python/php/bash das Progrämmchen gpio ... oder ...

    cu,
    -ds-

  • das ist ja auch keine "Stromversorgung" ... high ist bei den GPIOs des RPi eben 3V3 ... und irgendwo müssen die ja herkommen ;)

    Hm, habe das aber auf 2 verschiedenen Seiten bereits gelesen das man zumindest im Bezug auf Joysticks nichts weiter machen muss als beim P1 einmal an GND und einmal an einen GPIO PIN gehen zu müssen

    Das steht auch hier im Source: https://github.com/adafruit/Adafr…ter/retrogame.c

    Zitat

    Connect one side of button(s) to GND pin (there are several on the GPIO
    header, but see later notes) and the other side to GPIO pin of interest.
    Internal pullups are used; no resistors required.

    Da steht nix von wegen 3V oder Wiederstand

    *verwirrtbin*

  • vielleicht gehts ja gerade darum die "internal pullups" zu aktivieren.

    hab da was gefunden:


    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

    geht das so ?

    danke

    Einmal editiert, zuletzt von nadsas (19. August 2013 um 14:28)

  • Nein, 'per standard' sind die nicht aktiviert, da sind die IOs alle auf Eingang ohne Pullup.

    Wie der Aufruf lautet hängt von der Library ab, die Ihr benutzt, einfach mal in die Anleitung sehen.

    pullUpDnControl( <pin>, PUD_UP ) klingt nach PullUp, Du hast aber einen PullDown in Deiner Schaltung, also genau andersrum.

  • Entschdulige wenn ich hier dazwischen funke - bin jetzt etwas vewirrt bezüglich 3V: Brauch man für egal ob pull-up oder nicht definitiv 3V die man auf einen GPIO Pin drauf gibt?
    Versteh nämlich nicht wieso die Arcade Seiten die ich die letzten 3 Tage gelesen habe davon nichts erwähnt haben :(

  • Wenn Du einen PullUp benutzt, bekommt der Pi die 3,3Volt darüber und Du schaltest GND auf den Pi, Du 'überschreibst' die 3,3Volt. Der logische Status wechselt von 1 auf 0 wenn geschaltet wird.
    Wenn Du, wie in Deiner Zeichnung, einen PullDown benutzt, bekommt er darüber GND und Du schaltest die 3,3Volt auf den Pin. Der logiusche Wechsel ist dann 0 auf 1.

    Welche Variante Du benutzt hängt vom Rest der Schaltung, Deinen Vorlieben und von äußeren Störeinflüssen ab. Die Variante mit PullUp ist unempfindlicher. Nur irgendeinen Pegel muß der Pin immer haben.


  • ich merks mir so : taster runterdrücken =pull down, dann bekommt er Strom und wird high

    wenn du das verstehst ist es ja OK, ich nicht und andere die etwas von verstehen auch nicht

    was möchtest du aussagen ?

    pulldown, jemand zieht runter, also ein Widerstand eine Spannung nach GND
    Die Spannung muss erst mal da sein oder besser kommen,

    wenn der Widerstand ein pulldown ist (also runterzieht) dann ändert sich der Zustand nur noch wenn ein Stärkerer nach + zieht also nach Vcc 3,3V denn unten war der Eingang ja schon. Wird nun der Taster nach + 3,3V geschaltet zieht man hoch und dann wird der Eingang high, wo korrespondiert dein gedrückter Taster also mit pulldown wenn er doch hoch zieht -> auf high ? Der Widerstand ist für den pulldown verantwortlich, der Taster macht pullup

    Wenn du dich mal mit anderen austauschst wäre es gut eine gemeinsame anerkannte Sprachregelung zu haben und damit fällt ein Taster der +V schaltet auch wenn er runter gedrückt wird nicht in die Kategorie pulldown.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (19. August 2013 um 17:48)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!