Obsah:

Obvody GPI Raspberry Pi: Použitie analógového snímača LDR bez ADC (analógovo -digitálny prevodník): 4 kroky
Obvody GPI Raspberry Pi: Použitie analógového snímača LDR bez ADC (analógovo -digitálny prevodník): 4 kroky

Video: Obvody GPI Raspberry Pi: Použitie analógového snímača LDR bez ADC (analógovo -digitálny prevodník): 4 kroky

Video: Obvody GPI Raspberry Pi: Použitie analógového snímača LDR bez ADC (analógovo -digitálny prevodník): 4 kroky
Video: SUT - Raspberry Pi 23.4.2013 2024, Júl
Anonim
Obvody GPIO Raspberry Pi: Použitie analógového snímača LDR bez ADC (analógovo -digitálny prevodník)
Obvody GPIO Raspberry Pi: Použitie analógového snímača LDR bez ADC (analógovo -digitálny prevodník)

V našich predchádzajúcich pokynoch sme vám ukázali, ako môžete prepojiť GPIO piny vášho Raspberry Pi s LED a prepínačmi a ako môžu byť GPIO piny vysoké alebo nízke. Ale čo keď chcete používať svoj Raspberry Pi s analógovým snímačom?

Ak chceme s Raspberry Pi používať analógové snímače, museli by sme byť schopní zmerať odpor senzora. Na rozdiel od Arduina, GPIO piny Raspberry Pi nie sú schopné merať odpor a môžu cítiť iba vtedy, ak je napätie, ktoré je do nich dodávané, vyššie ako určité napätie (približne 2 volty). Na vyriešenie tohto problému môžete použiť analógovo -digitálny prevodník (ADC) alebo namiesto neho použiť relatívne lacný kondenzátor.

Tento návod vám ukáže, ako sa to dá urobiť.

Krok 1: Čo budete potrebovať

Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať
Čo budete potrebovať

- RaspberryPi s už nainštalovaným Raspbianom. Budete tiež musieť mať prístup k Pi pomocou monitora, myši a klávesnice alebo prostredníctvom vzdialenej pracovnej plochy. Môžete použiť akýkoľvek model Raspberry Pi. Ak máte jeden z modelov Pi Zero, možno budete chcieť spájať niektoré kolíkové kolíky do portu GPIO.

- Rezistor závislý na svetle (známy tiež ako LDR alebo fotorezistor)

- Keramický kondenzátor 1 uF

- Nepájkovateľná prototypová doska

- Niektoré prepojovacie vodiče medzi mužmi a ženami

Krok 2: Vybudujte si obvod

Vybudujte si svoj obvod
Vybudujte si svoj obvod
Vybudujte si svoj obvod
Vybudujte si svoj obvod

Vybudujte vyššie uvedený obvod na doske, pričom sa uistite, že sa žiadneho z káblov komponentov nedotýkajú. Odpor závislý na svetle a keramický kondenzátor nemajú polaritu, čo znamená, že k jednému vodiču je možné pripojiť negatívny a pozitívny prúd. Preto si nemusíte lámať hlavu nad tým, akým spôsobom boli tieto súčasti zapojené do vášho obvodu.

Akonáhle skontrolujete svoj obvod, pripojte prepojovacie káble k pinom GPIO vášho Raspberry Pi podľa vyššie uvedeného diagramu.

Krok 3: Vytvorte skript Pythonu na čítanie rezistora závislého od svetla

Vytvorte skript Python na čítanie rezistora závislého od svetla
Vytvorte skript Python na čítanie rezistora závislého od svetla

Teraz napíšeme krátky skript, ktorý bude čítať a zobrazovať odpor LDR pomocou Pythonu.

Na svojom Raspberry Pi otvorte IDLE (Menu> Programovanie> Python 2 (IDLE)). Otvorte nový projekt a prejdite na Súbor> Nový súbor. Potom zadajte (alebo skopírujte a prilepte) nasledujúci kód:

import RPi. GPIO ako 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) starttime = time.time () endtime = time.time () while (GPIO.input (mpin) == GPIO. LOW): endtime = time.time () Measeresistance = endtime-starttime res = (Measeresistance/cap)* adj i = i+1 t = t+res ak i == 10: t = t/i tlač (t) i = 0 t = 0

Uložte svoj projekt ako lightsensor.py (Súbor> Uložiť ako) do priečinka Dokumenty.

Teraz otvorte terminál (Menu> Príslušenstvo> Terminál) a zadajte nasledujúci príkaz:

python lightsensor.py

Raspberry Pi bude opakovane zobrazovať odpor fotorezistora. Ak položíte prst na fotoodpor, odpor sa zvýši. Ak na fotorezistor posvietite jasným svetlom, odpor sa zníži. Spustenie tohto programu môžete zastaviť stlačením klávesov CTRL+Z.

Krok 4: Ako to funguje

Ako sa kondenzátor postupne nabíja, napätie, ktoré prechádza obvodom a ku kolíku GPIO, stúpa. Akonáhle je kondenzátor nabitý do určitého bodu, jeho napätie stúpne nad 2 volty a Raspberry Pi bude cítiť, že GPIO pin 13 je VYSOKÝ.

Ak sa odpor snímača zvýši, kondenzátor sa bude nabíjať pomalšie a okruhu bude trvať dlhšie, kým dosiahne 2 volty.

Vyššie uvedený skript v podstate krát uvádza, ako dlho trvá, kým sa kolík 13 otočí na vysokú hodnotu, a potom použije toto meranie na výpočet odporu fotorezistora.

Odporúča: