Innehållsförteckning:

Raspberry Pi GPIO -kretsar: Användning av en LDR -analog sensor utan ADC (analog till digital omvandlare): 4 steg
Raspberry Pi GPIO -kretsar: Användning av en LDR -analog sensor utan ADC (analog till digital omvandlare): 4 steg

Video: Raspberry Pi GPIO -kretsar: Användning av en LDR -analog sensor utan ADC (analog till digital omvandlare): 4 steg

Video: Raspberry Pi GPIO -kretsar: Användning av en LDR -analog sensor utan ADC (analog till digital omvandlare): 4 steg
Video: Raspberry Pi 3: GPIO (#2) – библиотека RPi.GPIO полный мануал – Часть 5.2 2024, Juli
Anonim
Raspberry Pi GPIO -kretsar: Användning av en LDR -analog sensor utan ADC (analog till digital omvandlare)
Raspberry Pi GPIO -kretsar: Användning av en LDR -analog sensor utan ADC (analog till digital omvandlare)

I våra tidigare instruktioner har vi visat dig hur du kan koppla din Raspberry Pi: s GPIO -stift till lysdioder och switchar och hur GPIO -stiften kan vara höga eller låga. Men vad händer om du vill använda din Raspberry Pi med en analog sensor?

Om vi vill använda analoga sensorer med Raspberry Pi, skulle vi behöva kunna mäta sensorns motstånd. Till skillnad från Arduino kan Raspberry Pi: s GPIO -stift inte mäta motstånd och kan bara känna om spänningen som levereras till dem är över en viss spänning (cirka 2 volt). För att lösa detta problem kan du använda en analog till digital omvandlare (ADC), eller så kan du använda en relativt billig kondensator istället.

Denna instruktionsbok visar dig hur detta kan göras.

Steg 1: Vad du behöver

Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva
Vad du kommer att behöva

- En RaspberryPi med Raspbian redan installerad. Du måste också kunna komma åt Pi med en bildskärm, mus och tangentbord eller via fjärrskrivbord. Du kan använda vilken modell som helst av Raspberry Pi. Om du har en av Pi Zero -modellerna kanske du vill löda några rubrikstift till GPIO -porten.

- En ljusberoende motstånd (även känd som en LDR eller fotoresistor)

- En 1 uF keramisk kondensator

- En lödlös prototypbrödbräda

- Några tröjor från man till kvinna

Steg 2: Bygg din krets

Bygg din krets
Bygg din krets
Bygg din krets
Bygg din krets

Bygg ovanstående krets på din brödbräda och se till att ingen av komponentledningarna rör vid varandra. Den ljusberoende motståndet och den keramiska kondensatorn har ingen polaritet, vilket innebär att en negativ och positiv ström kan anslutas till någon av ledningarna. Därför behöver du inte oroa dig för hur dessa komponenter har anslutits i din krets.

När du har kontrollerat din krets ansluter du bygelkablarna till din Raspberry Pi: s GPIO -stift genom att följa diagrammet ovan.

Steg 3: Skapa ett Python -skript för att läsa det ljusberoende motståndet

Skapa ett Python -skript för att läsa det ljusberoende motståndet
Skapa ett Python -skript för att läsa det ljusberoende motståndet

Vi kommer nu att skriva ett kort skript som kommer att läsa och visa LDR -motståndet med Python.

Öppna IDLE på din Raspberry Pi (Meny> Programmering> Python 2 (IDLE)). Öppna ett nytt projekt, gå till Arkiv> Ny fil. Skriv sedan (eller kopiera och klistra in) följande kod:

importera 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 = tid.tid () sluttid = tid.tid () medan (GPIO.input (mpin) == GPIO. LÅG): sluttid = tid.tid () mätmotstånd = sluttid-starttid res = (mätmotstånd/kap)* adj i = i+1 t = t+res om i == 10: t = t/i skriva ut (t) i = 0 t = 0

Spara ditt projekt som lightsensor.py (Arkiv> Spara som) i mappen Dokument.

Öppna nu Terminal (Meny> Tillbehör> Terminal) och skriv följande kommando:

python lightsensor.py

Raspberry Pi kommer upprepade gånger att visa fotoresistorns motstånd. Om du placerar fingret över fotoresistorn ökar motståndet. Om du lyser ett starkt ljus på fotoresistorn minskar motståndet. Du kan stoppa att programmet körs genom att trycka på CTRL+Z.

Steg 4: Hur det fungerar

När kondensatorn gradvis laddas, stiger spänningen som passerar genom kretsen och till GPIO -stiftet. När kondensatorn laddats till en viss punkt stiger spänningen över 2 volt och Raspberry Pi kommer att känna att GPIO -stift 13 är HÖG.

Om sensorns motstånd ökar laddas kondensatorn långsammare och kretsen tar mer tid att nå 2 volt.

Ovanstående skript gånger i huvudsak hur lång tid det tar för stift 13 att bli hög och använder sedan denna mätning för att beräkna motståndet för fotoresistorn.

Rekommenderad: