Innholdsfortegnelse:

Raspberry Pi GPIO -kretser: Bruke en LDR analog sensor uten ADC (analog til digital omformer): 4 trinn
Raspberry Pi GPIO -kretser: Bruke en LDR analog sensor uten ADC (analog til digital omformer): 4 trinn

Video: Raspberry Pi GPIO -kretser: Bruke en LDR analog sensor uten ADC (analog til digital omformer): 4 trinn

Video: Raspberry Pi GPIO -kretser: Bruke en LDR analog sensor uten ADC (analog til digital omformer): 4 trinn
Video: How To Interface LDR To Raspberry Pi | LDR Sensor #raspberry #iot #python #ldr 2024, Juli
Anonim
Raspberry Pi GPIO -kretser: Bruke en LDR analog sensor uten ADC (analog til digital omformer)
Raspberry Pi GPIO -kretser: Bruke en LDR analog sensor uten ADC (analog til digital omformer)

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

Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
Hva du trenger
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 din
Bygg kretsen din
Bygg kretsen din
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

Lag et Python -skript for å lese den lysavhengige motstanden
Lag et Python -skript 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: