- Material necesar:
- Modul senzor IR:
- Schema și explicația circuitului:
- Programarea Raspberry Pi:
- Lucru:
După cum știm cu toții, Raspberry Pi este o minunată platformă de dezvoltare bazată pe microprocesor ARM. Cu puterea sa de calcul mare, poate face minuni în mâinile pasionaților de electronice sau studenților. Toate acestea pot fi posibile numai dacă știm cum să o facem să interacționeze cu lumea reală. Există mulți senzori care pot detecta anumiți parametri din lumea în timp real și îl pot transfera într-o lume digitală. Am acoperit multe proiecte Raspberry Pi cu mulți senzori. Raspberry Pi este, de asemenea, un avantaj pentru proiectele IoT, deoarece este un computer de buzunar cu Wi-Fi încorporat, având capacități de microcontroler.
În acest tutorial vom afla cum putem interfața un senzor IR cu Raspberry pi. Acești senzori sunt utilizați cel mai frecvent la roboți mici, cum ar fi robotul de linie, robotul de evitare a marginilor etc. Sună grozav nu?
Deci, să învățăm cum să interfațăm acest senzor cu Raspberry Pi. În acest proiect, atunci când nu există niciun obiect în fața senzorului IR, LED-ul roșu rămâne aprins și, imediat ce punem ceva în fața senzorului IR, LED-ul roșu se stinge și LED-ul verde se aprinde. Acest circuit poate servi și ca circuit de alarmă de securitate.
Material necesar:
- Raspberry Pi 3 (orice model)
- Modul senzor IR
- Lumini LED verzi și roșii
- Breadboard
- Conectarea firelor
Modul senzor IR:
Senzorii IR (senzor infraroșu) sunt module care detectează prezența obiectelor înaintea lor. Dacă obiectul este prezent, dați 3.3V ca ieșire și dacă nu este prezent, dă 0 volt. Acest lucru este posibil prin utilizarea unei perechi de perechi IR (emițător și receptor), emițătorul (LED IR) va emite o rază IR care se va reflecta dacă există un obiect prezent în fața sa. Această rază IR va fi primită înapoi de către receptor (fotodiodă), iar ieșirea va fi ridicată după amplificare utilizând o op-amp link LM358. Puteți afla mai multe despre circuitul modulului senzorului IR aici.
Senzorul IR utilizat în acest proiect este prezentat mai sus. La fel ca orice senzor IR are trei pini care sunt 5V, respectiv Gnd și respectiv Out. Modulul este alimentat de pinul de 5V de la Raspberry Pi, iar pinul de ieșire este conectat la GPIO14 al Raspberry Pi. Potențiometrul din partea de sus a modulului poate fi utilizat pentru a regla intervalul senzorului IR.
Schema și explicația circuitului:
Schema circuitului pentru conectarea Raspberry Pi cu senzorul IR este prezentată mai jos. După cum puteți vedea, schema circuitului este foarte simplă. Am alimentat direct modulul IR de la pinul de 5 V și la sol al Raspberry Pi. Pinul de ieșire al modulului IR este conectat la GPIO14. De asemenea, am folosit două LED-uri (verde și roșu) pentru a indica starea obiectului. Aceste două LED-uri sunt conectate la GPIO3 și respectiv la GPIO2.
Deoarece pinii GPIO ai Raspberry Pi sunt de 3,3V, un rezistor de limitare a curentului nu este obligatoriu. Cu toate acestea, dacă se dorește, se poate adăuga un rezistor de valoare 470 ohmi între pinul de la sol al LED-urilor și Raspberry Pi. Întregul circuit este alimentat de un încărcător mobil de 5V prin portul micro USB al Raspberry pi.
Notă: Când conectați orice senzor, asigurați-vă că pământul senzorului este conectat la pământul MCU sau MPU (aici Raspberry Pi). Abia atunci vor putea comunica.
Programarea Raspberry Pi:
Aici folosim limbajul de programare Python pentru programarea RPi. Există multe modalități de a vă programa Raspberry Pi. În acest tutorial folosim IDE-ul Python 3, deoarece este cel mai utilizat. Programul complet Python este dat la sfârșitul acestui tutorial. Aflați mai multe despre program și rulați codul în Raspberry Pi aici.
Vom vorbi despre câteva comenzi pe care le vom folosi în programul PYHTON,
Vom importa fișierul GPIO din bibliotecă, funcția de mai jos ne permite să programăm pinii GPIO ai PI. De asemenea, redenumim „GPIO” în „IO”, așa că în program ori de câte ori dorim să ne referim la pinii GPIO vom folosi cuvântul „IO”.
import RPi.GPIO ca IO
Uneori, când pinii GPIO, pe care încercăm să îi folosim, ar putea să îndeplinească alte funcții. În acest caz, vom primi avertismente în timpul executării programului. Comanda de mai jos îi spune PI să ignore avertismentele și să continue programul.
IO.setwarnings (Fals)
Putem consulta pinii GPIO ai PI, fie prin numărul pinului la bord, fie prin numărul funcției lor. La fel ca „PIN 29” de pe tablă este „GPIO5”. Deci, spunem aici fie că vom reprezenta pinul aici cu „29” sau „5”.
IO.setmode (IO.BCM)
Setăm 3 pini ca pini de intrare / ieșire. Cei doi pini de ieșire vor controla LED-ul, iar pinul de intrare va citi semnalul de la senzorul IR.
IO.setup (2, IO.OUT) #GPIO 2 -> LED roșu ca ieșire IO.setup (3, IO.OUT) #GPIO 3 -> LED verde ca ieșire IO.setup (14, IO.IN) #GPIO 14 -> Senzor IR ca intrare
Acum trebuie să oprim LED-ul verde și să aprindem LED-ul roșu când obiectul este departe. Acest lucru se poate face verificând pinul GPIO14.
if (IO.input (14) == True): #object is far away IO.output (2, True) #Red led ON IO.output (3, False) # Led verde OFF
În mod similar, trebuie să aprindem LED-ul verde și să oprim LED-ul roșu când obiectul este aproape.
if (IO.input (14) == False): #object is near IO.output (3, True) #Green led ON IO.output (2, False) # Led roșu OFF
Comanda de mai jos este utilizată ca buclă pentru totdeauna, cu această comandă instrucțiunile din această buclă vor fi executate continuu.
În timp ce 1:
Lucru:
După ce ați creat codul python, executați-l folosind comanda run. Dacă programul este executat fără erori, ar trebui să obțineți următorul ecran.
De asemenea, ar trebui să vedeți LED-ul roșu care se ridică când nu există obiect în fața senzorului, așa cum se arată mai jos.
Acum, aduceți ceva aproape de ledul IR și ar trebui să observați că LED-ul roșu se stinge și verde se aprinde. Lucrul complet poate fi găsit pe videoclipul prezentat mai jos.
Sper că ați înțeles proiectul și ați reușit să construiți ceva util cu acesta. Dacă aveți întrebări, postați-le în secțiunea de comentarii de mai jos sau pe forum.