» elektronik » Arduino »Räckviddsökare på Arduino-plattformen!

Räckviddsökaren på Arduino-plattformen!


God dag till alla! I den här artikeln skulle jag vilja berätta hur man använder Arduino, en uppsättning lysdioder och en ultraljudssensor, kan du montera en enhet som bestämmer avståndet från observatören till objektet, med andra ord, räckviddsökare. Och så låt oss gå!
Vad behöver vi:
vanligt rutan. Det är önskvärt att ha liten storlek, eftersom den endast kommer att innehålla en mikrokontroller.

med ultraljudsgivare HC-SR04 vi kan bestämma avståndet.

Fyrsiffrig indikator vi måste skriva ut de erhållna värdena.

uppsättning lysdioder alla färger (jag använde grönt, eftersom de är ljusare), motstånd vid 220 ohm trådar eller hoppare också breadboard.





Så att komponenterna i vår enhet är ordentligt fästa kommer jag att löda dem.
För detta behöver vi lödkolv, fluss, lödockså brödskiva för lödning.

Och naturligtvis utan Arduino vi kan inte göra! (Du kan välja vilken mikrokontroll som helst, jag föredrog Arduino Leonardo eller motsvarande Iskra Neo)

Av verktygen behöver vi lödkolv, som jag sa ovan, kniv och nippor.

Låt oss nu börja montera enheten.
Steg 1
För att komma igång med hjälp av en brödskiva, kommer vi att montera en prototyp av vår framtida enhet. Det ser ut så här ..

Oroa dig inte! Det finns inget fruktansvärt i det här röret!
HC-SR04-sensorn har fyra stift: plus, minus (som vi håller fast i regulatorns 5V och GND), Trig och Echo (vi sätter in arduino-stiften i respektive 12 och 11)
Den fyrsiffriga indikatorn har tre kablar: ström, mark och signal. Den senare är ansluten till Arduino med 9 stift.
Vi ansluter tre lysdioder till 6, 5 och 4 kontakter från regulatorn i serie med motstånd. Glöm inte polariteten. Ström flyter från ett längre ben till ett kortare.
Det var allt när vi monterade vår enhet på en brädplatta, laddade upp skissen (det kommer att vara i slutet av artikeln) och såg till att allt fungerar, känn dig fri att börja lödas.
Steg nummer 2
Först löd ultraljudssensorn till brädet. Jag använde en liten brödskiva i storlek, eftersom antalet element inte överstiger 7.

Efter det, med hjälp av nippor, bita av benen (jag ber om ursäkt för tautologin), vilket gör dem kortare så att de inte stör och ser snyggare ut!

Löd sedan de fyra ledningarna mot sensorkontakterna.


Glöm inte heller nipporna!


Steg 3
Sensorn är på plats, det återstår att löda de tre lysdioderna tillsammans med motståndet.


På baksidan ser det ut så här:

Steg 4
Skär ett runt hål för mat på sidan av lådan.

På locket måste du klippa ut ett hålrum till storleken (något mindre i längden) på brödskivan och även borrhål för skruvar.


Om vi ​​nu skruvar en tom brödskiva utan element på den (jag gjorde det bara för demonstration ..) får vi något liknande:

Steg 5
Så för att göra det mer bekvämt föreslår jag att först ansluta ledningarna till arduino och först sedan skruva brödskivan till lådans lock. Glöm inte heller vår indikator, som jag placerade ovanför layouten.

Allt på den här enhetenheten är klar!
Det återstår bara att ladda ner nästa skiss och njut av leksaken!
#include
#include
NewPing-sonar (12.11, 400);
int a, j, b;
osignerad lång t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
ogiltig installation ()
{
 för (int i = 4; i & lt; 7; i ++)
 {
   pinMode (i, OUTPUT);
 }
 displayClear (9);
 för (int i = 4; i & lt; 7; i ++)
 {
   digitalWrite (i, 0);
 }
  }
void loop ()
{
  j = 7;
  för (int i = 0; i100) ton (2,70);
    digitalWrite (j, masiv [i]);
    medan (millis () & lt; = t + b)
    {
    fördröjning (50);
    a = sonar.ping_cm ();
    displayInt (9, a);
    b = a;
    }
    t = millis ();
    if (j == 4) j = 7;
    if (i == 8)
    {
     digitalWrite (4.1);
     medan (millis () & lt; = (t + b) + (b * 2))
     {
    fördröjning (50);
    a = sonar.ping_cm ();
    displayInt (9, a);
    b = a;
     }
     digitalWrite (4.0);
     t = millis ();
    }
  }



Några ord programkod. Tack vare honom kommer våra tre lysdioder att blinka varandra efter varandra, och hastigheten på deras blinkning beror på avståndet till objektet, som beräknas av ultraljudssensorn. Men för att få lysdioderna att blinka är det inte helt logiskt att använda funktionen fördröjning (), eftersom när den används fryser regulatorn och inga beräkningar utförs. Det finns flera sätt att lösa detta problem. I synnerhet är en av dem användningen av funktionen millis (), som returnerar ett nummer i millisekunder från det ögonblick styrenheten fungerar. Och hur försenar vi villkorade 100 millisekunder? För att göra detta skapade jag en väsentligen tom cykel, där utgången kommer att vara först efter dessa 100 millisekunder, och sedan fortsätter programmet för att slå på / stänga av lysdioderna.

Det är allt! Tack för att du läste den här artikeln till slutet. Jag hoppas att du inte bara gillade henne utan också inspirerade ett nytt hav konsthantverk och uppfinningar!
6
5
5

Lägg till en kommentar

    • lelerxaxaOKdontknowyahoonea
      bossscratchluraJaja-jaaggressivhemlighet
      ledsendansdance2dance3benådningHjälpdrycker
      stoppvännerbragoodgoodvisselpipasvimningsanfalltunga
      rökklapparcraydeclarehånfulldon-t_mentionnedladdning
      hettaRASANDElaugh1mdamötemoskingnegativ
      not_ipopcornstraffalässkrämmalarmrapportersök
      hånthank_youdettato_clueumnikakutöverens
      illabeeeblack_eyeblum3rougeskrytaledan
      censureradepleasantrysecret2hotasegeryusun_bespectacled
      shokrespektlolprevedvälkommenkrutoyya_za
      ya_dobryihjälparene_huliganne_othodiFLUDförbudstänga
7 kommentar
Författaren
Hej)
Kanske har du fortfarande en skiss som fungerar? I detta visar det sig att även skylten "<" ersattes av "& lt;")
Välkommen! När jag laddar din skiss producerar det ett gäng syntaxfel av någon anledning. Självklart är jag inte särskilt fiklad med syntaxen, men på vissa platser kan jag bara inte räkna ut vad som behöver fixas. Till exempel i ett stycke:
för (int i = 0; i100) ton (2,70);
digitalWrite (j, masiv [i]);
, vad betyder den sammanslagna i100? varför inte inkrement? Behöver du lockiga hängslen så att de kommande två funktionerna efter för tillhör samma slinga, eller har jag fel? Och så svär kompilatorn hela koden. Kan jag på något sätt kontakta dig, förtydliga koden? Jag försöker göra ett kursprojekt baserat på din artikel.

I koden på platsen där biblioteken är anslutna anges inte deras namn. Naturligtvis kan du gissa, men ändå är denna skiss inte riktigt lämplig för omedelbar testning, du måste tänka över det)
Författaren
Ja, det är möjligt)
Det vill säga att det näst sista fotot (där 77) helt enkelt inte lyckas på grund av viss parasitbelysning av de övre segmenten till följd av felaktig funktion av den dynamiska displayen? De sex har också en falsk bakgrundsbelysning, även om den inte är så uppenbar.
Författaren
Ivan, avläsningar 6 cm och 11 cm är avståndet från sensorn till handflatan)
Förklara varför ett så konstigt vittnesbörd i de två senaste fotona.

Vi rekommenderar att du läser:

Räcka den till smarttelefonen ...