Cuprins:

Senzor de lumină (fotorezistor) cu Arduino în Tinkercad: 5 pași (cu imagini)
Senzor de lumină (fotorezistor) cu Arduino în Tinkercad: 5 pași (cu imagini)

Video: Senzor de lumină (fotorezistor) cu Arduino în Tinkercad: 5 pași (cu imagini)

Video: Senzor de lumină (fotorezistor) cu Arduino în Tinkercad: 5 pași (cu imagini)
Video: Programam Arduino fara Arduino | LIVE#38 2024, Iulie
Anonim
Senzor de lumină (fotorezistor) cu Arduino în Tinkercad
Senzor de lumină (fotorezistor) cu Arduino în Tinkercad

Proiecte Tinkercad »

Să învățăm cum să citim un fotorezistor, un tip de rezistență variabilă sensibil la lumină, folosind intrarea analogică a lui Arduino. Se mai numește LDR (rezistență dependentă de lumină).

Până acum ați învățat deja să controlați LED-urile cu ieșirea analogică a Arduino și să citiți un potențiometru, care este un alt tip de rezistor variabil, așa că ne vom baza pe aceste abilități în această lecție. Amintiți-vă că intrările analogice ale Arduino (pinii marcați A0-A6) pot detecta un semnal electric care se schimbă treptat și transformă semnalul respectiv într-un număr între 0 și 1023.

Imagine
Imagine

Explorați circuitul de probă încorporat aici în planul de lucru făcând clic pe Start Simulare și făcând clic pe fotorezistor (oval maro cu linie zdrobitoare în mijloc), apoi trageți glisorul de luminozitate pentru a regla intrarea de lumină simulată.

În această lecție, veți construi singur acest circuit simulat de-a lungul eșantionului. Pentru a construi opțional circuitul fizic, strângeți placa Arduino Uno, cablul USB, placa de lipit fără sudură, un LED, rezistențe (220 ohm și 4.7k ohm), fotorezistor și fire de panou.

Puteți urmări practic folosind circuitele Tinkercad. Puteți vedea chiar această lecție din Tinkercad (este necesară autentificare gratuită)! Explorează circuitul de probă și construiește-ți propriul chiar lângă el. Tinkercad Circuits este un program gratuit bazat pe browser care vă permite să construiți și să simulați circuite. Este perfect pentru învățare, predare și prototipare.

Pasul 1: Construiți circuitul

Construiește circuitul
Construiește circuitul
Construiește circuitul
Construiește circuitul

Aruncați o privire la circuitul de panouri din imagine. Poate fi util să vă uitați la o versiune cu fir liber a acestui exemplu de circuit pentru comparație, în imagine. În acest pas, veți construi propria versiune a acestui circuit de-a lungul probei din planul de lucru.

Pentru a continua, încărcați o nouă fereastră Tinkercad Circuits și construiți-vă propria versiune a acestui circuit de-a lungul probei.

Identificați fotorezistorul, LED-ul, rezistențele și firele conectate la Arduino în planul de lucru al circuitelor Tinkercad.

Trageți un Arduino Uno și un panou de calcul din panoul de componente în planul de lucru, lângă circuitul existent.

Conectați șinele de alimentare (+) și de masă (-) la panoul de măsurare la Arduino 5V și respectiv la masă (GND), făcând clic pentru a crea fire.

Extindeți șinele de alimentare și de împământare la autobuzele respective de pe marginea opusă a panoului (opțional pentru acest circuit, dar o bună practică obișnuită).

Conectați LED-ul în două rânduri de panouri diferite, astfel încât catodul (picior negativ, mai scurt) să se conecteze la un picior al unui rezistor (oriunde între 100-1K ohmi este bine). Rezistorul poate merge în oricare dintre orientări, deoarece rezistențele nu sunt polarizate, spre deosebire de LED-uri, care trebuie conectate într-un anumit mod pentru a funcționa.

Conectați celălalt picior al rezistorului la masă.

Conectați anodul LED (pozitiv, picior mai lung) la pinul Arduino 9.

Trageți un fotorezistor de la panoul de componente pe panoul dvs., astfel încât picioarele să se conecteze în două rânduri diferite.

Faceți clic pentru a crea un fir care conectează un picior de fotorezistor la putere.

Conectați celălalt picior la pinul analogic Arduino A0.

Trageți un rezistor de pe panoul componentelor pentru a conecta piciorul fotorezistorului conectat la A0 cu masă și reglați valoarea acestuia la 4,7 k ohmi.

Pasul 2: Codificați cu blocuri

Cod cu blocuri
Cod cu blocuri

Să folosim editorul de blocuri de cod pentru a asculta starea fotorezistorului, apoi setăm un LED la o luminozitate relativă în funcție de câtă lumină vede senzorul. Poate doriți să vă reîmprospătați memoria ieșirii analogice cu LED-uri în lecția LED-uri de estompare.

Faceți clic pe butonul „Cod” pentru a deschide editorul de cod. Blocurile de notare gri sunt comentarii pentru a nota ce intenționați să faceți codul dvs., dar acest text nu este executat ca parte a programului.

Faceți clic pe categoria Variabile din editorul de cod.

Pentru a stoca valoarea rezistenței fotorezistorului, creați o variabilă numită "sensorValue".

Trageți afară un bloc „set”. Vom stoca starea fotorezistorului nostru în variabilă

sensorValue

Faceți clic pe categoria Intrare și trageți afară un bloc „pin de citire analog” și plasați-l în blocul „set” după cuvântul „la”

Deoarece potențiometrul nostru este conectat la Arduino pe pinul A0, schimbați meniul derulant în A0.

Faceți clic pe categoria de ieșire și trageți afară un bloc „tipăriți pe monitorul serial”.

Navigați la categoria Variabile și trageți senzorul variabil Valoare pe blocul „tipăriți pe monitorul serial” și asigurați-vă că meniul derulant este setat pentru a imprima cu o nouă linie. Opțional, porniți simularea și deschideți monitorul serial pentru a verifica citirile care intră și se schimbă atunci când reglați senzorul. Valorile de intrare analogice variază de la 0-1023.

De vreme ce vrem să scriem pe LED cu un număr între 0 (oprit) și 255 (luminozitate maximă), vom folosi blocul „hartă” pentru a face o multiplicare încrucișată pentru noi. Navigați la categoria Math și trageți afară un bloc „hartă”.

În primul slot, trageți un bloc variabil senzor, apoi setați intervalul de la 0 la 255.

Înapoi la categoria Ieșire, trageți afară un bloc analogic „set pin”, care implicit spune „setați pinul 3 la 0.” Reglați-l pentru a seta pinul 9.

Trageți blocul de hartă pe care l-ați făcut mai devreme în câmpul „în„ setare pin”în câmpul„ în”pentru a scrie numărul ajustat pe pinul LED folosind PWM.

Faceți clic pe categoria Control și trageți un bloc de așteptare și reglați-l pentru a întârzia programul.1 secunde.

Pasul 3: Codul Arduino al fotorezistorului explicat

Când editorul de cod este deschis, puteți face clic pe meniul derulant din stânga și puteți selecta „Blocks + Text” pentru a dezvălui codul Arduino generat de blocurile de cod. Urmăriți în timp ce explorăm codul mai detaliat.

int sensorValue = 0;

Inainte de

înființat()

creăm o variabilă pentru a stoca valoarea curentă citită din potențiometru. Se numeste

int

deoarece este un număr întreg sau orice număr întreg.

configurare nulă ()

{pinMode (A0, INPUT); pinMode (9, OUTPUT); Serial.begin (9600); }

În interiorul setării, pinii sunt configurați folosind

pinMode ()

funcţie. Pinul A0 este configurat ca intrare, deci putem „asculta” starea electrică a potențiometrului. Pinul 9 este configurat ca o ieșire pentru a controla LED-ul. Pentru a putea trimite mesaje, Arduino deschide un nou canal de comunicare serial cu

Serial.begin ()

care ia un argument al ratei de transmisie (ce viteză să comunice), în acest caz 9600 biți pe secundă.

bucla nulă ()

{// citiți valoarea din senzor Valoare senzor = analogRead (A0); // imprimați citirea senzorului pentru a cunoaște gama sa Serial.println (sensorValue);

Orice după un set de bare oblice

//

este un comentariu, care îi ajută pe oameni să înțeleagă într-un limbaj simplu ceea ce intenționează să facă programul, dar nu este inclus în programul pe care îl rulează Arduino. În bucla principală, o funcție numită

analogRead ();

verifică starea pinului A0 (care va fi un număr întreg de la 0-1023) și stochează acea valoare în variabilă

sensorValue

// mapează citirea senzorului la un interval pentru LED

analogWrite (9, map (sensorValue, 0, 1023, 0, 255)); întârziere (100); // Așteptați 100 de milisecunde}

Linia care urmează următorului comentariu face multe lucruri simultan. Tine minte

analogWrite ()

ia două argumente, numărul pinului (9 în cazul nostru) și valoarea de scris, care ar trebui să fie între 0 și 255. Funcția inline

Hartă()

ia cinci argumente: numărul de evaluat (variabila senzorului în continuă schimbare), minimul așteptat și maximul așteptat și min și max dorite. Asa ca

Hartă()

funcția în cazul nostru este evaluarea senzorului de intrare și efectuarea unor multiplicări încrucișate pentru a scădea ieșirea de la 0-1023 la 0-255. Rezultatul este returnat în al doilea argument al

analogWrite ();

setarea luminozității LED-ului conectat la pinul 9.

Pasul 4: Construiți un circuit fizic Arduino (opțional)

Construiți un circuit fizic Arduino (opțional)
Construiți un circuit fizic Arduino (opțional)

Pentru a vă programa Arduino Uno fizic, va trebui să instalați software-ul gratuit (sau pluginul pentru editorul web), apoi să îl deschideți. Diverse fotocelule au valori diferite, deci dacă circuitul dvs. fizic nu funcționează, poate fi necesar să schimbați rezistorul care este asociat cu acesta. Aflați mai multe despre divizoarele de tensiune în lecția Instructables Electronics Class despre rezistoare.

Conectați circuitul Arduino Uno conectând componente și fire pentru a se potrivi cu conexiunile prezentate aici în circuitele Tinkercad. Pentru o parcurgere mai aprofundată în lucrul cu placa fizică Arduino Uno, consultați clasa gratuită Instructables Arduino.

Copiați codul din fereastra codului Tinkercad Circuits și lipiți-l într-o schiță goală în software-ul dvs. Arduino sau faceți clic pe butonul de descărcare (săgeata orientată în jos) și deschideți

fișierul rezultat folosind Arduino. Puteți găsi acest exemplu și în software-ul Arduino navigând la Fișier -> Exemple -> 03. Analog -> AnalogInOutSerial.

Conectați cablul USB și selectați placa și portul în meniul Instrumente al software-ului.

Încărcați codul și folosiți-vă mâna pentru a acoperi senzorul de la primirea luminii și / sau pentru a lumina senzorul!

Deschideți monitorul serial pentru a observa valorile senzorului. Probabil că valorile lumii reale nu se vor extinde până la 0 sau până la 1023, în funcție de condițiile de iluminare. Simțiți-vă liber să reglați intervalul 0-1023 la nivelul minim observat și maximul observat pentru a obține intervalul maxim de expresie a luminozității pe LED.

Pasul 5: Apoi, încercați …

Acum, că ați învățat să citiți un fotorezistor și să-i mapați ieșirea pentru a controla luminozitatea unui LED, sunteți gata să aplicați acele abilități pe care le-ați învățat până acum.

Puteți schimba LED-ul cu un alt tip de ieșire, cum ar fi un servomotor, și puteți crea un cod pentru a reflecta nivelul curent de lumină al senzorului ca o anumită poziție de-a lungul unui indicator?

Încercați să schimbați fotorezistorul pentru alte intrări analogice, cum ar fi un senzor de distanță cu ultrasunete sau un potențiometru.

Aflați mai multe despre cum să monitorizați intrările digitale și analogice ale Arduino prin intermediul computerului folosind Serial Monitor.

Recomandat: