God dag til alle! I denne artikkelen vil jeg fortelle hvordan du bruker Arduino, et sett lysdioder og en ultralydsensor, kan du sette sammen en enhet som bestemmer avstanden fra observatøren til objektet, med andre ord, rekkeviddersøker. Og så la oss gå!
Hva trenger vi:
vanlig boksen. Det er ønskelig å være liten i størrelse, siden den bare vil inneholde en mikrokontroller.
med ultralyd transduser HC-SR04 vi kan bestemme avstanden.
Firesifret indikator vi må levere de oppnådde verdiene.
sett LED alle farger (jeg brukte grønt, da de er lysere), motstander ved 220 ohm ledninger eller hoppere også Breadboard.
Slik at komponentene på enheten vår er ordentlig festet, løfter jeg dem.
For dette trenger vi loddejern, fluss, loddeogså brødplate for lodding.
Og selvfølgelig uten Arduino vi kan ikke gjøre! (Du kan velge hvilken som helst mikrokontroller, jeg foretrakk Arduino Leonardo eller tilsvarende Iskra Neo)
Av verktøyene trenger vi et loddejern, som jeg sa ovenfor, kniv og nipper.
La oss begynne å montere enheten.
Trinn 1
For å komme i gang ved å bruke en brødbrett, vil vi sette sammen en prototype av fremtidens enhet. Det vil se sånn ut ..
Ikke bekymre deg! Det er ikke noe forferdelig i dette rotet av ledninger!
HC-SR04-sensoren har fire pinner: pluss, minus (som vi stikker inn i 5V og GND på kontrolleren), Trig og Echo (vi setter arduino-pinnene inn i henholdsvis 12 og 11)
Den firesifrede indikatoren har 3 ledninger: strøm, jord og signal. Sistnevnte er koblet til 9-pinners Arduino.
Vi kobler tre lysdioder til 6, 5 og 4 kontakter til kontrolleren i serie med motstander. Ikke glem polariteten. Strøm flyter fra et lengre ben til et kortere.
Det var alt, da vi samlet enheten vår på en brødplate, lastet opp skissen (den vil være på slutten av artikkelen) og sørget for at alt fungerer, må du begynne å lodde.
Trinn nummer 2
Først må du lodde ultralydsensoren til brødbordet. Jeg brukte en liten brødplate i størrelse, ettersom antall elementer ikke overstiger 7.
Etter det, med hjelp av nippers, bite av bena (jeg beklager tautologien), slik at de blir kortere slik at de ikke forstyrrer og ser penere ut!
Etter det, lodd de fire ledningene mot sensorkontaktene.
Ikke glem nippene!
Trinn 3
Sensoren er på plass, det gjenstår å lodde de tre LED-ene sammen med motstandene.
På baksiden ser det slik ut:
Trinn 4
På siden av esken, kutt et rundt hull for mat.
På lokket må du kutte et hulrom til størrelsen (litt mindre i lengden) på brødbordet, og også bore hull for skruer.
Nå, hvis vi skruer et tomt brødbord uten elementer på det (jeg gjorde det bare for demonstrasjon ..), får vi noe sånt som følgende:
Trinn 5
Så for å gjøre det mer praktisk, foreslår jeg å først koble ledningene til arduino, og først deretter skru brødbrettet til kasselokket. Ikke glem indikatoren vår, som jeg plasserte over oppsettet.
Alt på denne enheten er ferdig!
Det gjenstår bare å laste ned det neste skisse og kos deg med leken!
#include
#include
NewPing ekkolodd (12.11, 400);
int a, j, b;
usignert lang t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
ugyldig oppsett ()
{
for (int i = 4; i & lt; 7; i ++)
{
pinMode (i, OUTPUT);
}
displayClear (9);
for (int i = 4; i & lt; 7; i ++)
{
digitalWrite (i, 0);
}
}
void loop ()
{
j = 7;
for (int i = 0; i100) tone (2,70);
digitalWrite (j, masiv [i]);
mens (millis () & lt; = t + b)
{
forsinkelse (50);
a = ekkolodd.ping_cm ();
displayInt (9, a);
b = a;
}
t = millis ();
hvis (j == 4) j = 7;
hvis (i == 8)
{
digitalWrite (4.1);
mens (millis () & lt; = (t + b) + (b * 2))
{
forsinkelse (50);
a = ekkolodd.ping_cm ();
displayInt (9, a);
b = a;
}
digitalWrite (4.0);
t = millis ();
}
}
Noen få ord programkode. Takket være ham vil våre tre lysdioder blinke vekselvis etter hverandre, og hastigheten på blinkingen vil avhenge av avstanden til objektet, som beregnes av ultralydsensoren. Men for å få lysdiodene til å blinke, er det ikke helt logisk å bruke funksjonen for forsinkelse (), siden når den brukes, fryser kontrolleren og ingen beregninger blir utført. Det er flere måter å løse dette problemet på. Spesielt er en av dem bruken av funksjonen millis (), som returnerer et tall i millisekunder fra det øyeblikket kontrolleren fungerer. Og hvordan forsinker vi betingede 100 millisekunder? For å gjøre dette, opprettet jeg en i det vesentlige tom syklus, hvor utgangen først vil være etter disse 100 millisekundene, og deretter fortsetter programmet med å slå av og på LED-ene.
Det er vel alt! Takk for at du leser denne artikkelen til slutt. Jeg håper du ikke bare likte henne, men også inspirerte et nytt hav håndverk og oppfinnelser!