Bună ziua tuturor! În acest articol aș dori să vă spun cum să folosiți Arduino, un set de leduri și un senzor ultrasonic, puteți asambla un dispozitiv care determină distanța de la observator la obiect, cu alte cuvinte, căutător de gamă. Și așa să mergem!
De ce avem nevoie:
obișnuit cutie. Este de dorit să fie de dimensiuni mici, deoarece va conține un singur microcontroler.
cu Traductor ultrasonic HC-SR04 putem determina distanța.
Indicator de patru cifre trebuie să scoatem valorile obținute.
set LED-uri orice culori (am folosit verde, deoarece sunt mai luminoase), rezistențe la 220 ohmi fire sau jumperi de asemenea breadboard.
Pentru ca componentele dispozitivului nostru să fie bine fixate, le voi vinde.
Pentru asta avem nevoie fier de lipit, flux, lipitde asemenea panou pentru lipit.
Și, desigur, fără Arduino nu putem face! (Puteți alege orice microcontroler, am preferat Arduino Leonardo sau echivalentul său Iskra Neo)
Dintre scule avem nevoie de o fieră de lipit, așa cum am spus mai sus, cuțit și sfarcuri.
Acum să începem să asamblați dispozitivul.
Pasul 1
Pentru a începe, folosind o placă de pâine, vom asambla un prototip al viitorului nostru dispozitiv. Va arăta ceva ca acesta ..
Nu vă faceți griji! Nu este nimic groaznic în această mizerie de fire!
Senzorul HC-SR04 are patru pini: plus, minus (pe care-l lipim în 5V și GND-ul controlerului), Trig și Echo (introducem pinii arduino în 12 și, respectiv, 11)
Indicatorul format din patru cifre are 3 fire: putere, masă și semnal. Acesta din urmă este conectat la Arduino cu 9 pini.
Conectăm trei leduri la 6, 5 și 4 contacte ale regulatorului în serie cu rezistențe. Nu uita de polaritate. Curentul curge de la un picior mai lung la unul mai scurt.
Asta-i tot, când ne-am asamblat dispozitivul pe o panou de pâine, am încărcat schița (va fi la sfârșitul articolului) și ne-am asigurat că totul funcționează, nu ezitați să începeți să lipiți.
Pasul numărul 2
Mai întâi, lipit senzorul cu ultrasunete pe panou. Am folosit o panou mică de dimensiuni, deoarece numărul de elemente nu depășește 7.
Dupa aceea, cu ajutorul sfarcurilor, musca-ti picioarele (imi cer scuze pentru tautologie), facandu-le mai scurte, astfel incat sa nu se amestece si sa arate mai frumos!
După aceea, lipiți cele patru fire împotriva contactelor senzorului.
De asemenea, nu uita de sfarcuri!
Pasul # 3
Senzorul este în poziție, rămâne să lipim cele trei LED-uri împreună cu rezistențele.
Pe verso, arată așa:
Pasul 4
În lateralul cutiei, tăiați o gaură rotundă pentru mâncare.
Pe capac, trebuie să tăiați o cavitate la dimensiunea (puțin mai mică în lungime) a plăcii dvs. de panou și, de asemenea, să găuriți găuri pentru șuruburi.
Acum, dacă înșurubăm o pană goală fără elemente pe ea (am făcut-o doar pentru demonstrație ..), obținem ceva de genul:
Pasul 5
Așa că, pentru a o face mai convenabilă, vă propun să conectați mai întâi firele la arduino și abia apoi să înșurubați panoul de pâine pe capacul cutiei. De asemenea, nu uitați de indicatorul nostru, pe care l-am plasat deasupra machetei.
Totul pe acest ansamblu de dispozitiv este terminat!
Rămâne doar să descarci următoarea schiță și bucură-te de jucărie!
#include
#include
Sonar NewPing (12.11, 400);
int a, j, b;
nesemnat lung t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
void setup ()
{
pentru (int i = 4; i & lt; 7; i ++)
{
pinMode (i, OUTPUT);
}
displayClear (9);
pentru (int i = 4; i & lt; 7; i ++)
{
digitalWrite (i, 0);
}
}
nul buclă ()
{
j = 7;
pentru (int i = 0; i100) ton (2,70);
digitalWrite (j, masiv [i]);
în timp ce (millis () & lt; = t + b)
{
întârziere (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
t = millis ();
dacă (j == 4) j = 7;
if (i == 8)
{
digitalWrite (4.1);
while (millis () & lt; = (t + b) + (b * 2))
{
întârziere (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
digitalWrite (4.0);
t = millis ();
}
}
Câteva cuvinte codul programului. Mulțumită lui, cele trei LED-uri ale noastre vor clipi alternativ unul după altul, iar viteza de clipire a acestora va depinde de distanța față de obiect, care este calculată de senzorul cu ultrasunete. Dar, pentru a face LED-urile să clipească, nu este în totalitate logic să folosiți funcția de întârziere (), deoarece atunci când este utilizat, regulatorul îngheață și nu se efectuează calcule. Există mai multe moduri de a rezolva această problemă. În special, una dintre ele este utilizarea funcției millis (), care returnează un număr în milisecunde din momentul în care funcționează controlerul. Și cum amânăm o condiție de 100 de milisecunde? Pentru a face acest lucru, am creat un ciclu esențial gol, a cărui ieșire va fi numai după aceste 100 de milisecunde, iar apoi programul continuă să pornească / să stingă LED-urile.
Ei bine, asta este totul! Vă mulțumim că ați citit acest articol până la sfârșit. Sper că nu numai că ai plăcut-o, dar a inspirat și o nouă mare meșteșuguri și invenții!