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ă:

arduino
Night Light: Diagrama de stat

1. 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ă
Senzor PIR: Pinout

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 ()

Notă

Exemplu

Rezistențe de tracțiune și trageți în jos

3. Măsurarea intensității luminii cu senzorul LDR

Intrare analogică

Utilizări suplimentare

Resurse aditionale