Tartalomjegyzék:

Raspberry Pi GPIO áramkörök: LDR analóg érzékelő használata ADC nélkül (analóg -digitális átalakító): 4 lépés
Raspberry Pi GPIO áramkörök: LDR analóg érzékelő használata ADC nélkül (analóg -digitális átalakító): 4 lépés

Videó: Raspberry Pi GPIO áramkörök: LDR analóg érzékelő használata ADC nélkül (analóg -digitális átalakító): 4 lépés

Videó: Raspberry Pi GPIO áramkörök: LDR analóg érzékelő használata ADC nélkül (analóg -digitális átalakító): 4 lépés
Videó: Raspberry Pi:GPIO & Python (8 ⁄9 )Light dependent resistor (LDR)TUTORIAL 2024, December
Anonim
Raspberry Pi GPIO áramkörök: LDR analóg érzékelő használata ADC nélkül (analóg -digitális átalakító)
Raspberry Pi GPIO áramkörök: LDR analóg érzékelő használata ADC nélkül (analóg -digitális átalakító)

Korábbi utasításunkban megmutattuk, hogyan kapcsolhatja össze Raspberry Pi GPIO csapjait LED -ekkel és kapcsolókkal, és hogyan lehet a GPIO csapok magasak vagy alacsonyak. De mi van akkor, ha a Raspberry Pi -t analóg érzékelővel szeretné használni?

Ha analóg érzékelőket akarunk használni a Raspberry Pi -vel, akkor meg kell tudnunk mérni az érzékelő ellenállását. Az Arduino -val ellentétben a Raspberry Pi GPIO csapjai nem képesek ellenállást mérni, és csak akkor érzékelik, ha a hozzájuk tartozó feszültség meghalad egy bizonyos feszültséget (körülbelül 2 volt). A probléma megoldásához használhat analóg -digitális átalakítót (ADC), vagy használhat egy viszonylag olcsó kondenzátort.

Ez az utasítás megmutatja, hogyan lehet ezt megtenni.

1. lépés: Amire szüksége lesz

Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz
Amire szüksége lesz

- Egy RaspberryPi, amelyen már telepítve van a Raspbian. A Pi -hez monitor, egér és billentyűzet vagy távoli asztal segítségével is hozzá kell férnie. A Raspberry Pi bármelyik modelljét használhatja. Ha rendelkezik a Pi Zero modellek valamelyikével, érdemes forrasztania néhány fejlécet a GPIO porthoz.

- Fényfüggő ellenállás (más néven LDR vagy fotorezisztor)

- 1 uF kerámia kondenzátor

- Forrasztás nélküli prototípus -kenyérlap

- Néhány férfi -női áthidaló vezeték

2. lépés: Építse fel az áramkört

Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört
Építsd meg az áramkört

Építse fel a fenti áramkört a kenyértáblájára, ügyelve arra, hogy az alkatrészek egyik vezetéke ne érjen hozzá. A fényfüggő ellenállásnak és a kerámia kondenzátornak nincs polaritása, ami azt jelenti, hogy negatív és pozitív áram csatlakoztatható bármelyik vezetékhez. Ezért nem kell aggódnia amiatt, hogy ezeket az alkatrészeket hogyan kötötték össze az áramkörben.

Miután ellenőrizte az áramkört, csatlakoztassa a jumper kábeleket a Raspberry Pi GPIO csapjaihoz a fenti ábra szerint.

3. lépés: Hozzon létre egy Python -szkriptet a fényfüggő ellenállás olvasásához

Hozzon létre egy Python -szkriptet a fényfüggő ellenállás olvasásához
Hozzon létre egy Python -szkriptet a fényfüggő ellenállás olvasásához

Most egy rövid szkriptet írunk, amely a Python használatával olvassa és megjeleníti az LDR ellenállását.

A Raspberry Pi készüléken nyissa meg az IDLE -t (Menü> Programozás> Python 2 (IDLE)). Nyisson meg egy új projektet, és válassza a Fájl> Új fájl lehetőséget. Ezután írja be (vagy másolja és illessze be) a következő kódot:

RPi. GPIO importálása GPIO -kéntimport timempin = 17 tpin = 27 GPIO.setmode (GPIO. BCM) cap = 0.000001 adj = 2.130620985i = 0 t = 0, míg 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) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () intézkedésresistance = endtime-starttime res = (intézkedésresistance/cap)* adj i = i+1 t = t+res, ha i == 10: t = t/i nyomtatás (t) i = 0 t = 0

Mentse el projektjét lightsensor.py (Fájl> Mentés másként) néven a Dokumentumok mappába.

Most nyissa meg a Terminált (Menü> Kellékek> Terminál), és írja be a következő parancsot:

python lightsensor.py

A Raspberry Pi többször megjeleníti a fényellenállás ellenállását. Ha az ujját a fényellenállás fölé helyezi, az ellenállás megnő. Ha erős fényt sugároz a fotorezisztorra, az ellenállás csökken. A program futását a CTRL+Z billentyűkombinációval állíthatja le.

4. lépés: Hogyan működik?

Ahogy a kondenzátor fokozatosan töltődik, az áramkörön áthaladó feszültség és a GPIO -tű emelkedik. Amint a kondenzátor fel van töltve egy bizonyos pontra, annak feszültsége 2 volt fölé emelkedik, és a Raspberry Pi érzékeli, hogy a GPIO 13 -as tű HIGH.

Ha az érzékelő ellenállása növekszik, a kondenzátor lassabban töltődik, és az áramkörnek több időre van szüksége, hogy elérje a 2 voltot.

A fenti szkript lényegében megsokszorozza, hogy mennyi időbe telik, amíg a 13 csap magasra fordul, majd ezt a mérést használja a fotorezisztor ellenállásának kiszámításához.

Ajánlott: