Anunțuri
- (diapozitiv) marți
- memorial day to Douglas Addams by Hitchhiker's Guide to the Galaxy
- în această zi, fiecare bun tracker își are prosopul într-un loc vizibil;)
Proiectul Lumina Nopții
Ingredientele
- După cum am menționat, vom avea nevoie de:
- Un LED care va acționa ca sursă de lumină,
- Senzor PIR care va detecta mișcarea,
- Senzor LDR, pe care îl vom folosi pentru a detecta intensitatea luminii și
- sau un buton pentru a activa sau dezactiva totul
Diagrama de stat
Putem identifica următoarele stări în dispozitivul creat:
- stări (din statul englez), a
- tranziții între state (din tranziția engleză).
Diagrama de stare rezultată care reprezintă acest dispozitiv este prezentată în următoarea figură:
Night Light: Diagrama de stat1. Fulger LED-ul
Dacă vrem să calculăm magnitudinea acestei rezistențe, putem face cu Legea lui Ohm. Cu toate acestea, trebuie să știm:
- cădere de tensiune pe LED (așa-numita tensiune directă)
- magnitudinea curentului care va curge în buclă
Curentul maxim care poate trece prin pinul de pe placa Arduino este de 40mA. Cu toate acestea, pentru un LED ne putem baza pe un curent de 20mA.
Căderea de tensiune pe LED depinde de tipul său, respectiv culori. Deci, să ne bazăm pe o valoare de 1,7V.
Astfel, o rezistență suficientă este de 165 Ohmi. Cel mai apropiat rezistor care este folosit la fabricare este de 220 Ohmi.
Pinii GPIO
Arduino UNO
Notă
Pinii digitali funcționează doar cu două valori:
- HIGH - logic 1 (adevărat), nivelul de tensiune este de 5V
- LOW - logic 0 (fals), nivelul de tensiune este 0V
Notă
Desigur, nu este exact 5V și exact 0V.
Configurarea pinului GPIO de ieșire
Vom arăta lucrul cu pinul GPIO de ieșire prin intermediul unei diode LED, care este conectată la pinul 6 .
- pin - numărul PIN GPIO
- mod - modul de operare pin, care poate fi INPUT, OUTPUT (sau, de asemenea, ca INPUT_PULLUP)
LED-ul este actuatorul de ieșire și este conectat la pinul GPIO 6. Setările sale vor arăta astfel:
Avertizare
Când se utilizează o constantă, consumul de memorie este același ca atunci când se utilizează o macro, care se datorează probabil optimizărilor compilatorului.
Fulger LED-ul
(diapozitiv) Funcția digitalWrite () este utilizată pentru a scrie o valoare logică pe un pin digital. Are doi parametri:
- pin - numărul PIN GPIO
- valoare - o valoare care este fie 0 logic (LOW), fie logic 1 (HIGH)
Superloop
Așa am implementat de fapt exemplul Blink.
2. Citirea mișcării din senzorul PIR
Conectăm un senzor PIR la placa Arduino UNO pentru a detecta mișcarea. Acesta va genera un nivel logic ÎNALT la ieșire atunci când detectează mișcarea. În caz contrar, va exista un nivel LOW logic la ieșirea senzorului .
Notă
Pentru mai multe informații despre funcționarea senzorului PIR, vă recomand să citiți de ex. articol Cum funcționează senzorul PIR HC-SR501 și îl interfață cu Arduino.
(diapozitiv) Senzorul PIR are trei pini:
- VCC - sursa de alimentare
- GND - sol
- OUT - ieșire digitală
Notă
Senzor PIR: placă
Ieșirea de la senzorul PIR va fi conectată la pinul GPIO nr. 4, care va fi setat ca intrare:
- pin - numărul PIN GPIO
Funcția returnează fie valoarea logică HIGH, fie LOW .
Ieșirea de la senzor va fi citită în funcția loop (). Putem apoi folosi imediat valoarea citită pentru a porni sau opri LED-ul:
Linia de serie
este simplu și ieftin
doar două cabluri sunt suficiente pentru implementarea acestuia (cu toate acestea, patru sunt necesare împreună - comunicarea este bidirecțională (full duplex))
8b este de obicei transmis, la care se adaugă un bit START la început și un bit STOP cu un bit de paritate la sfârșit (poate fi sau nu)
Comunicare în serie
- funcții de scriere - de ex. Serial.print (), Serial.println ()
- funcții de citire - de ex. Serial.read (), Serial.readString ()