Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
I våre tidligere instrukser har vi vist deg hvordan du kan koble Raspberry Pi's GPIO -pinner til lysdioder og brytere, og hvordan GPIO -pinnene kan være høye eller lave. Men hva om du vil bruke din Raspberry Pi med en analog sensor?
Hvis vi ønsker å bruke analoge sensorer med Raspberry Pi, må vi måle sensorens motstand. I motsetning til Arduino kan ikke Raspberry Pi GPIO -pinnene måle motstand og kan bare kjenne om spenningen som leveres til dem er over en viss spenning (ca. 2 volt). For å løse dette problemet kan du bruke en analog til digital omformer (ADC), eller du kan bruke en relativt billig kondensator i stedet.
Denne instruksen viser deg hvordan dette kan gjøres.
Trinn 1: Hva du trenger
- En RaspberryPi med Raspbian allerede installert. Du må også ha tilgang til Pi ved hjelp av en skjerm, mus og tastatur eller via eksternt skrivebord. Du kan bruke hvilken som helst modell av Raspberry Pi. Hvis du har en av Pi Zero -modellene, kan det være lurt å lodde noen toppnål til GPIO -porten.
- En lysavhengig motstand (også kjent som en LDR eller fotoresistor)
- En 1 uF keramisk kondensator
- Et loddfritt prototypebrødbrett
- Noen mannlige til kvinnelige hoppetråder
Trinn 2: Bygg kretsen din
Bygg kretsen ovenfor på brødbrettet og sørg for at ingen av komponentledningene berører. Den lysavhengige motstanden og den keramiske kondensatoren har ingen polaritet, noe som betyr at en negativ og positiv strøm kan kobles til begge ledninger. Derfor trenger du ikke bekymre deg for hvilken måte disse komponentene er koblet til i kretsen din.
Når du har sjekket kretsen din, kobler du jumperkablene til Raspberry Pi's GPIO -pinner ved å følge diagrammet ovenfor.
Trinn 3: Lag et Python -script for å lese den lysavhengige motstanden
Vi skal nå skrive et kort skript som vil lese og vise motstanden til LDR ved hjelp av Python.
Åpne IDLE på Raspberry Pi (Meny> Programmering> Python 2 (IDLE)). Åpne et nytt prosjekt, gå til Fil> Ny fil. Skriv deretter inn (eller kopier og lim inn) følgende kode:
importer RPi. GPIO som GPIOimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0 while True: GPIO.setup (mpin, GPIO. OUT) GPIO.setup (tpin, GPIO. OUT) GPIO.output (mpin, False) GPIO.output (tpin, False) time.sleep (0.2) GPIO.setup (mpin, GPIO. IN) time.sleep (0.2) GPIO.output (tpin, True) starttid = time.time () sluttid = time.time () mens (GPIO.input (mpin) == GPIO. LOW): sluttid = time.time () måleresistens = sluttid-starttid res = (måleresistans/cap)* adj i = i+1 t = t+res hvis i == 10: t = t/i print (t) i = 0 t = 0
Lagre prosjektet som lightsensor.py (Fil> Lagre som) i Dokumenter -mappen.
Åpne nå Terminal (Meny> Tilbehør> Terminal) og skriv inn følgende kommando:
python lightsensor.py
Raspberry Pi vil gjentatte ganger vise motstanden til fotoresistoren. Hvis du legger fingeren over fotoresistoren, vil motstanden øke. Hvis du lyser sterkt på fotoresistoren, vil motstanden avta. Du kan stoppe dette programmet fra å kjøre ved å trykke CTRL+Z.
Trinn 4: Slik fungerer det
Når kondensatoren gradvis lades, stiger spenningen som passerer gjennom kretsen og til GPIO -pinnen. Når kondensatoren er ladet til et bestemt punkt, stiger spenningen over 2 volt, og Raspberry Pi vil føle at GPIO -pinne 13 er HØY.
Hvis motstanden til sensoren øker, vil kondensatoren lades saktere og kretsen vil ta mer tid å nå 2 volt.
Skriptet ovenfor ganger i hovedsak hvor lang tid det tar før pinne 13 blir høy, og bruker deretter denne målingen til å beregne motstanden til fotoresistoren.
Anbefalt:
Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15: 9 trinn
Raspberry PI 3 - Aktiver seriell kommunikasjon til TtyAMA0 til BCM GPIO 14 og GPIO 15: Jeg hadde nylig interesse for å aktivere UART0 på min Raspberry Pi (3b) slik at jeg kunne koble den direkte til en RS -232 signalnivåenhet ved hjelp av en standard 9 -nål d-sub-kontakt uten å måtte gå gjennom en USB til RS-232 adapter. En del av min interesse
Hvordan bruke en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: 9 trinn
Slik bruker du en Raspberry Pi's GPIO Pins og Avrdude til Bit-bang-program DIMP 2 eller DA PIMP 2: Dette er trinnvise instruksjoner om hvordan du bruker en Raspberry Pi og den gratis åpen kildekode-kommandoen avrdude til bit-bang -programmer en DIMP 2 eller DA PIMP 2. Jeg antar at du er kjent med din Raspberry Pi og kommandolinjen LINUX. Du trenger ikke å
Legge til en nåværende grense -funksjon til en Buck/Boost -omformer: 4 trinn (med bilder)
Legge til en nåværende grense -funksjon til en Buck/Boost -omformer: I dette prosjektet vil vi se nærmere på en vanlig buck/boost -omformer og lage en liten, ekstra krets som legger til en nåværende grense -funksjon. Med den kan buck/boost -omformeren brukes akkurat som en variabel strømforsyning for laboratoriebenker. Le
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: 10 trinn
Hvordan bruke en tenåring til å skrive ut bilder på Splatoon 2 Bruke SplatPost -skriveren: I denne instruksen vil jeg vise hvordan du bruker SplatPost -skriveren av ShinyQuagsire. Uten klare instruksjoner ville noen som ikke har erfaring med kommandolinjen ha litt problemer. Målet mitt er å forenkle trinnene ned til poi
Enkel og billig analog til digital omformer: 5 trinn
Enkel og billig analog til digital omformer: Fra den tiden ADC var dyre og sjeldne, kommer en maskinvare-programvareløsning for datainnsamling for PC-er. Basert på den gamle joystick-porten fra IBM-kompatibel, en teknikk for å utløse en monostabil multivibrator til en resistiv transduser (den