Citat:
Ursprungligen postat av
Emerain
Vilket faktiskt hade varit ganska smart, att ha dem direkt bredvid varandra. Så de sitter bättre. Så skaffar jag en meter kabel, så har jag, när jag ändå nog kommer repetera det här projektet på nästa pi också. För din hylsa, den var väll bara att trä över gpio-stiften? Så den går att ta bort enkelt?
Du skrev också högre upp "Motstånd behövs inte, aktivera den inbyggda "pull up resistorn" i GPIO porten. Den är väldigt klen men räcker för ändamålet. "
Hur fungerar den? Och aktivera?
Om stift 11 /gpio17 kopplas in. Då ska jag helt enkelt få pin att tänka att i vanlgia fall så är kretsen inte sluten, utan den ska agera när stift 11 kopplas ihop med en jord. Är det vad du säger också? (jag är nybörjare på sånt här, men jag tänker att det blir roligare om jag kastar mig ut i det!)
tack för kartan över stiften! och skönt att höra att min start-knapps-plan håller i teorin!
Ja, hylsan är bara att trycka ner över två stift. Sen är det bara att dra ut den om du vill byta ut Raspberryn. Inga lödningar behövs då.
Du har förstått helt rätt.
Läser du en 0:a på porten är knappen intryckt och pinnen jordad.
GPIO porten på Raspberryn innehåller två inbyggda motstånd. Den ena är kopplad från matningsspänningen till I/O pinnen och den andra från jord till I/O pinnen.
Dessa motstånd går att koppla in och ur med ett program/script (fast bara en i taget). De inbyggda motstånden kan ersätta ett extern motstånd när man ska koppla in något så enkelt som en tryckknapp. Motståndet är ganska stort (50-100k ohm) så det går inte att få så mycket ström ut genom motståndet. Men det behövs inte i detta fall.
Motstånd behövs för att hålla en garanterad spänning på porten när knappen inte är nedtryckt, annars blir den väldigt känslig för störningar och fel värde kan läsas in. Det vore synd om Raspberryn stängdes av när någon tänder ett lysrör i rummet.
Normalt sett är båda motstånden urkopplade, därför behöver man "manuellt" aktivera dem via ett script.
Så här, ungefär. (Helt otestat Phyton script, jag har ingen Raspberry igång för tillfället och är inte särskilt bra på Phyton. Reservation mot klumpiga syntaxfel).
Kod:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN, pull_up_down = GPIO.PUD_UP)
if GPIO.input(17) == 0:
print(“Knapp tryckt”)
GPIO.cleanup()
När knappen inte är nedtryckt kopplas matningsspänningen via det inbyggda motståndet (pull up motstånd) till I/O pinnen, då läser en 1:a in till scriptet.