Innehållsförteckning:
- Steg 1: Vad du behöver
- Steg 2: Bygg din krets
- Steg 3: Skapa ett Python -skript för att läsa det ljusberoende motståndet
- Steg 4: Hur det fungerar
Video: Raspberry Pi GPIO -kretsar: Användning av en LDR -analog sensor utan ADC (analog till digital omvandlare): 4 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
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
- 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 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
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:
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: 9 steg
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: Jag hade nyligen intresse av att aktivera UART0 på min Raspberry Pi (3b) så att jag kunde ansluta den direkt till en RS -232 signalnivåenhet med en standard 9 -nål d-sub-kontakt utan att behöva gå via en USB till RS-232-adapter. En del av mitt intresse
Lägga till en strömgränsfunktion till en Buck/Boost -omvandlare: 4 steg (med bilder)
Lägga till en strömgränsfunktion till en Buck/Boost -omvandlare: I det här projektet kommer vi att titta närmare på en gemensam buck/boost -omvandlare och skapa en liten, extra krets som lägger till en strömgränsfunktion till den. Med den kan buck/boost -omvandlaren användas precis som en variabel strömförsörjning för laboratoriebänkar. Le
Så här konfigurerar du Raspbian för användning utan huvud: 10 steg
Så här konfigurerar du Raspbian för användning utan huvud: Dessa instruktioner handlar om hur du konfigurerar Linux -distributionen Raspbian designad för en enda dator som kallas Raspberry Pi för att köras som ett huvudlöst system
1A till 40A ström BOOST -omvandlare för upp till 1000W likströmsmotor: 3 steg
1A till 40A Current BOOST-omvandlare för upp till 1000W DC-motor: Hej! I den här videon lär du dig hur du skapar en strömförstärkarkrets för dina hög ampere DC-motorer upp till 1000W och 40 ampere med transistorer och en mittkranstransformator. strömmen vid utgången är mycket hög men spänningen kommer att vara
Enkel och billig analog till digital omvandlare: 5 steg
Enkel och billig analog till digital omvandlare: Från de tider då ADC var dyra och sällsynta, kommer en hårdvara-mjukvarulösning för datainsamling för datorer. Baserat på den gamla joystickporten från IBM-kompatibla, en teknik för att utlösa en monostabil multivibrator till en resistiv givare (den