- Potřebný materiál:
- Modul IR senzoru:
- Schéma zapojení a vysvětlení:
- Programování Raspberry Pi:
- Pracovní:
Jak všichni víme, Raspberry Pi je skvělá vývojová platforma založená na mikroprocesoru ARM. Díky své vysoké výpočetní síle dokáže zázraky v rukou fandů nebo studentů elektroniky. To vše je možné jen tehdy, pokud víme, jak to zajistit, aby interagovalo se skutečným světem. Existuje mnoho senzorů, které dokážou detekovat určité parametry ze světa v reálném čase a přenést je do digitálního světa. Mnoho projektů Raspberry Pi jsme pokryli mnoha senzory. Raspberry Pi je také přínosem pro projekty IoT, protože se jedná o kapesní počítač s vestavěnou Wi-Fi, který má schopnosti mikrokontroléru.
V tomto tutoriálu se naučíme, jak můžeme propojit IR senzor s Raspberry pi. Tyto senzory se nejčastěji používají v malých robotech, jako je robot sledující čáru, Edge vyhýbající se robotu atd. Jednoduše řečeno, dokáže detekovat přítomnost objektů před ním a také rozlišovat mezi bílou a černou barvou. Zní to dobře, že?
Naučme se tedy, jak propojit tento senzor s Raspberry Pi. V tomto projektu, pokud před IR senzorem není žádný předmět, zůstane červená LED rozsvícená a jakmile něco umístíme před IR senzor, červená LED zhasne a zelená LED se rozsvítí. Tento obvod může také sloužit jako bezpečnostní poplachový obvod.
Potřebný materiál:
- Raspberry Pi 3 (jakýkoli model)
- Modul infračerveného senzoru
- Zelená a červená LED svítí
- Nepájivá deska
- Připojovací vodiče
Modul IR senzoru:
IR senzory (infračervené senzory) jsou moduly, které detekují přítomnost objektů před nimi. Pokud je objekt přítomen, dává jako výstup 3,3 V a pokud není přítomen, dává 0 voltů. To je možné pomocí dvojice infračervených párů (vysílač a přijímač), vysílač (IR LED) bude vyzařovat infračervený paprsek, který se odrazí, pokud je před ním objekt. Tento IR paprsek bude přijímán zpět přijímačem (Photodiode) a po zesílení pomocí op-amp link LM358 bude výstup vysoký. Více informací o obvodu modulu IR senzoru se dozvíte zde.
IR senzor použitý v tomto projektu je zobrazen výše. Stejně jako všechny IR senzory má tři piny, které jsou 5V, Gnd a Out. Modul je napájen 5V pinem z Raspberry Pi a výstupní pin je připojen k GPIO14 Raspberry Pi. Potenciometr v horní části modulu lze použít k nastavení dosahu infračerveného senzoru.
Schéma zapojení a vysvětlení:
Schéma zapojení pro připojení Raspberry Pi k infračervenému senzoru je uvedeno níže. Jak vidíte, schéma zapojení je velmi jednoduché. Přímo jsme napájeli IR modul z 5V a uzemňovacího kolíku Raspberry Pi. Výstupní kolík IR modulu je připojen k GPIO14. Také jsme použili dvě LED (zelená a červená) pro indikaci stavu objektu. Tyto dvě LED diody jsou připojeny k GPIO3 a GPIO2.
Vzhledem k tomu, že piny GPIO Raspberry Pi jsou 3,3 V, rezistor omezující proud není povinný. Pokud je to však požadováno, lze mezi uzemňovací kolík LED a Raspberry Pi přidat odpor o hodnotě 470 ohmů. Celý obvod je napájen 5V mobilní nabíječkou přes micro USB port Raspberry pi.
Poznámka: Při připojování jakéhokoli senzoru se ujistěte, že je uzemnění senzoru připojeno k uzemnění MCU nebo MPU (zde Raspberry Pi). Teprve potom budou moci komunikovat.
Programování Raspberry Pi:
Zde používáme programovací jazyk Python pro programování RPi. Existuje mnoho způsobů, jak naprogramovat Raspberry Pi. V tomto kurzu používáme IDE Pythonu 3, protože je nejpoužívanější. Kompletní program Python je uveden na konci tohoto návodu. Další informace o Programování a spouštění kódu v Raspberry Pi najdete zde.
Budeme mluvit o několika příkazech, které budeme používat v programu PYHTON,
Chystáme se importovat soubor GPIO z knihovny, níže uvedená funkce nám umožňuje programovat GPIO piny PI. Přejmenováváme také „GPIO“ na „IO“, takže v programu, kdykoli budeme chtít odkazovat na piny GPIO, použijeme slovo „IO“.
importovat RPi.GPIO jako IO
Někdy, když piny GPIO, které se snažíme použít, mohou dělat nějaké další funkce. V takovém případě obdržíme varování při provádění programu. Níže uvedený příkaz říká PI, aby ignoroval varování a pokračoval v programu.
IO.setwarnings (False)
Můžeme označit GPIO piny PI, buď číslem kolíku na desce, nebo jejich číslem funkce. Jako „PIN 29“ na desce je „GPIO5“. Řekneme tedy, že zde buď budeme reprezentovat špendlík číslem '29' nebo '5'.
IO.setmode (IO.BCM)
Nastavujeme 3 piny jako vstupní / výstupní piny. Dva výstupní kolíky budou ovládat LED a vstupní kolík bude číst signál z infračerveného senzoru.
IO.setup (2, IO.OUT) #GPIO 2 -> Červená LED jako výstup IO.setup (3, IO.OUT) #GPIO 3 -> Zelená LED jako výstup IO.setup (14, IO.IN) #GPIO 14 -> IR senzor jako vstup
Nyní musíme vypnout zelenou LED a rozsvítit červenou LED, když je objekt daleko. Toho lze dosáhnout kontrolou pinu GPIO14.
if (IO.input (14) == True): #object is far away IO.output (2, True) #Red led ON IO.output (3, False) # Zelená LED OFF
Podobně musíme rozsvítit zelenou LED a vypnout červenou LED, když je objekt blízko.
if (IO.input (14) == False): #object is near IO.output (3, True) #Green led ON IO.output (2, False) # Red LED OFF
Níže uvedený příkaz se používá jako navždy smyčka, s tímto příkazem budou příkazy uvnitř této smyčky prováděny nepřetržitě.
Zatímco 1:
Pracovní:
Jakmile vytvoříte svůj pythonový kód, proveďte jej pomocí příkazu run. Pokud je program spuštěn bez jakýchkoli chyb, měla by se zobrazit následující obrazovka.
Měli byste také vidět vysokou červenou červenou LED, když před senzorem není žádný předmět, jak je znázorněno níže.
Nyní přiveďte něco blízko IR diody a měli byste si všimnout zhasnutí červené LED a zelené rozsvícení. Kompletní práci najdete na videu níže.
Doufám, že jste projektu porozuměli a dokázali s ním vytvořit něco užitečného. Pokud nějaké dotazy zveřejníte v sekci komentářů níže nebo na fóru.