Noțiuni de bază cu GPIO pe o zmeură Pi
Dacă, deși Arduino a fost rece, așteptați până când ajungeți la mâna pe o Zmeură Pi - aceste lucruri sunt uimitoare. Pe lângă faptul că sunteți un calculator complet funcțional, ei au, de asemenea, o selecție de Intrare / ieșire cu scop general pini. La fel ca un Arduino, le putem folosi pentru a crea proiecte electronice - și este surprinzător de ușor să începem.
Astăzi vom conecta un releu și îl vom folosi pentru a porni un LED, dar puteați să porniți la fel de ușor o lampă.
Această introducere servește ca o primă parte a unui proiect mai mare de automatizare a locuinței. Christian a pus deja bazele pentru a începe cu un Pi, așa că nu voi repeta pașii inițiali aici de a descărca un sistem de operare sau de a conecta cardul SD - presupun că aveți o de lucru sistem Raspian deja înființat.
Avertizare: Deși o Zmeura Pi poate sa să fie folosit în mod similar cu un Arduino, este nevoie de puțină atenție. Pinii lui Pi funcționează la 3.3v, în timp ce Arduino folosește 5v. În timp ce este posibil să rupă un Arduino, este mult mai ușor să spargeți un Pi ca pinii conectați direct la cipul la bord - trimiterea de 5V acolo poate să îl prăjească.
Prin urmare, fiți foarte atenți la încercarea de a replica proiectele Arduino pe Pi - fie urmați un tutorial specific lui Pi, fie asigurați-vă că aveți o bună înțelegere a electronicii de bază.
cerinţe:
- Tranzistor NPN, cum ar fi P2N2222A
- 1k rezistor
- Releu; Folosesc un modul cu 5 relee cu 4 relee, care are built-in circuite de protecție suplimentare (deci nu este nevoie de diode suplimentare
- LED și rezistor de 220 ohm pentru testare
- Cablu de rupere
Cablu de rupere (“Cobbler Kit”)
Pinii GPIO sunt situați pe partea laterală a lui Pi, lângă soclul RCA.
Cu toate că ați putea conecta tehnic unele cabluri de conectare pentru femei, acestea nu sunt etichetate în nici un fel util și, prin urmare, aveți mai multe șanse de a sparge ceva. În schimb, obțineți un cablu de spargere, cum ar fi acesta de la Adafruit sau una dintre numeroasele clone mai ieftine pe eBay. Este posibil să aveți nevoie să lipiți acest lucru, deoarece va veni în formă de kit.
Deși partea de bord are o crestătură în ea pentru a indica plasarea corectă a cablului, partea Pi nu o face. Asigurați-vă că pinii 3v și 5v din colțul îndepărtat al lui Pi se aliniază cu știfturile relevante de pe placă. Desigur, dacă ați cumpărat un caz care nu expune antetul GPIO atunci va trebui să rulați cu Pi gol sau să tăiați o gaură.
Alternativ, puteți obține o plată completă care se aplică pe partea de sus a piesei dvs. Pi și de obicei vine cu o selecție de componente utile.
Circuitul de bază
Configurați circuitul așa cum este prezentat mai jos. Am lăsat circuitul releului, deoarece acesta va varia. Folosește NU (în mod normal închis) și COM terminale ale releului dvs. pentru LED sau alte dispozitive.
Utilizați pinul 4 de la Raspberry Pi. Pe bordul meu de bord, e etichetat cu + GPCLK0; indiferent, este al patrulea pin numarand de la 3V3.
Testarea liniei de comandă
În următoarele exemple, presupun că sunteți conectat (ă) peste SSH sau altfel ca utilizator root. Dacă nu, va trebui să predați câteva comenzi cu sudo pentru privilegii ridicate.
În primul rând, trebuie să instalăm WiringPi.
git clona git: //git.drogon.net/wiringPi cd wiringPi ./build
Presupunând că totul a mers bine, ar trebui să putem controla direct GPIO-ul din linia de comandă astfel:
modul gpio -g 4 din gpio -g scrie 4 1
Prima comandă este similară cu funcția de configurare a lui Arduino, unde îi spunem pinului 4 ca ieșire. Următoarea comandă scrie o valoare de 1 la pin, care ar trebui să declanșeze tranzistorul, să activeze releul, să închidă circuitul LED-ului și să îl pornească.
Minunat. Dacă nu, întoarce-te și verifică cablarea. Releul face clic?
Piton
Deși Python nu este singura modalitate de a comunica cu pinii GPIO, este în general considerat cel mai simplu și este cel mai frecvent întâlnit în proiectele existente. Spre deosebire de C, Python este relativ ușor de preluat (aici sunt 5 site-uri pentru a învăța Python Cele mai bune cinci site-uri pentru a învăța Python Programarea Cele mai bune 5 site-uri pentru a învăța Python Programming Vrei să înveți programarea Python?.
Începeți prin instalarea următoarelor extensii Python:
apt-get instalează python-dev apt-get instalează python-rpi.gpio
Acum, creați un fișier nou numit test.py. dacă utilizați o linie de comandă, tastați
nano test.py
Lipiți sau tastați următoarele (de asemenea, pe acest pastebin):
importul RPi.GPIO ca timp de import GPIO GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) pentru x în intervalul (0,10): time.lear (5) GPIO.output (4,1) time.sleep (5) GPIO.output (4,0)
Acesta este un script Python foarte simplu, care va transforma LED-ul (sau orice ați conectat la releul dvs.) timp de 5 secunde, apoi oprit timp de 5 secunde, 10 ori. Ar trebui să înțelegeți majoritatea codului. GPIO.setmode linia este pur și simplu utilizată pentru a indica schema de numerotare a PIN-urilor pe care o vom folosi.
Asta e! Pentru a rula codul, tastați:
Python test.py
Săptămâna viitoare, vom elabora puțin setările și vom face unele lucruri interesante precum adăugarea controlului vocal. Dacă doriți să adăugați elemente electrice de înaltă tensiune în circuitul releului, veți dori să fiți sigur că utilizați un releu corespunzător evaluat pe firul viu, și asigurați-vă că închideți totul, astfel încât să fie departe de degetele îndepărtate ale copiilor sau mamei. Serios totuși, fi sigur.
Vă rugăm să postați întrebările, comentariile, feedback-ul și haiku-ul dvs. în caseta de mai jos - dar aveți în vedere că vă voi evalua utilizarea gramaticii.
Explorați mai multe despre: Raspberry Pi.