Senzorul, propus de Instructables sub porecla AdnanA61, vă permite să detectați radiații infraroșii cu undă scurtă din surse precum telecomenzi, foc, lămpi incandescente și soare. Nu răspunde la o altă formă de radiații infraroșii - undă lungă, ale cărei surse sunt toate obiectele încălzite la temperaturi obișnuite. produs home-made produce două tipuri de semnale: analogic și discret, al doilea dintre ele este format de un comparator, al cărui prag este reglat. Ambele semnale pot fi aplicate ambelor Arduinoși la alte dispozitive cu sau fără un microcontroler. Următoarea este o altă proiectare a plăcii, circuitul nu este diferit:
Senzorul este realizat pe unul dintre cei doi comparatori ai microcircuitului LM393, cel de-al doilea poate fi utilizat pentru a rezolva o altă problemă, dacă doriți. Dacă nu o utilizați, este mai bine să conectați ambele intrări cu un fir comun și să lăsați ieșirea neconectată.
Schema este concepută astfel încât citirea ei nu este foarte convenabilă. Cele trei puncte desemnate ca A0 trebuie conectate între ele. Două puncte desemnate drept D0 - de asemenea. Deci devine clar la ce este conectat și cum funcționează. Fără ghicitori. Dacă asamblați senzorul de la proiectant, identificarea pieptenului pe placa inclusă în kit va fi următoarea:
Desigur, pe o placă improvizată, tipărită sau pe panou, acest pinout poate fi făcut pentru a fi convenabil pentru tine. Puteți verifica placa în acțiune și regla pragul comparator imediat după asamblare, pur și simplu prin furnizarea de energie, datorită LED-ului de pe bord. Al doilea LED se aprinde continuu atunci când este pornită. Apoi puteți conecta senzorul la Arduino și puteți testa ieșirea analogică cu această schiță:
// copiați acest cod în ideea de arduino din această linie
// notă: - acest cod este pentru valoare analogică
senzor int = A0; // inițializarea pinului analogic
int zgomot = 3; // inițializarea pivotului sonor
valoarea int;
void setup () {
Serial.begin (9600);
pinMode (senzor, INPUT); // asocierea tipului de pin pentru intrare sau ieșire
pinMode (sonerie, OUTPUT);
}
void loop () {
valoare = analogRead (senzor); // citirea valusului de la senzor
valoare = hartă (valoare, 0,1023,0255); // cartografierea valorii de la 0 la 1023 b / w 0 la 255
digitalWrite (sonerie, valoare); // pornirea sau oprirea soneriei cu valoarea mapată
}
Și digital - cu o altă schiță:
// copiați acest cod în ideea de arduino din această linie
// notă: - acest cod este pentru valoare digitală
int sensor_digital = 2; // inițializarea pinului digital
int zgomot = 3;
valoarea int;
void setup () {
Serial.begin (9600);
pinMode (senzor_digital, INPUT);
pinMode (sonerie, OUTPUT);
}
void loop () {
valoare = digitalRead (senzor_digital); // citirea datei digitale de la senzor
digitalWrite (sonerie, valoare); // pornirea sau oprirea soneriei
}
Când totul funcționează, puteți scrie programe care implementează algoritmi cu o complexitate mai mare. De exemplu, pentru un robot „se tem” să se apropie de o flacără sau de o lampă incandescentă puternică, pentru a nu se deteriora. Și face ceea ce trebuie, deoarece ținerea plăcii de senzor la surse de încălzire puternică la o distanță mai mică de 100 mm o poate deteriora.