» Elektronica » Arduino »Eenvoudige afstandsmeter op Arduino

Eenvoudige Arduino-afstandsmeter


Goedemiddagliefhebbers zelfgemaakt! Vandaag gaan we een simpele afstandsmeter monteren Arduino Pro Mini. Het apparaat kan een afstand van 2 tot 400 cm meten, de fout van dit apparaat bedraagt ​​slechts +/- 1-5 cm, afhankelijk van de gemeten afstand.

Gereedschap en materialen
-Arduino Pro mini
Sensor HC-04
- Indicator op TM1637
-Wire (ik heb - MGTF 0.12)
-Programmeur
-Plastic behuizing
-Li-on batterij
-Kleine schakelaar
- Oplaadbord op TP4056
Superlijm
-Soldeerbout
-Soldeer
Hars
Boren, boren, etc.

Stap 1. Regeling:
Volgens het schema is alles eenvoudig, zonder toevoegingen.


Stap 2. Voorbereiding van de zaak:
Eerst proberen we de sensor en boren twee gaten van 15 mm.

Maak vervolgens een gat voor een micro-usb-connector met een boor van 3-3,5 mm.

We selecteren een boor voor de diameter van de schakelaar en boren.

Op het deksel maken we een “venster” voor de zeven-segment indicator (in de foto zonder verwerking), en we maken alle onregelmatigheden af ​​met een bestand.


Stap drie: Firmware:
In de schets worden variabelen gemarkeerd die voor jezelf kunnen worden aangepast. Alle code is uitgecommentarieerd.

#include  // bibliotheken voor werk
#include 
// ------------- Om te configureren --------------------------------- --------------------------------
bool Long = 0; // 0 - meet de lengte vanaf de sensor
               // 1 - meet de lengte vanaf de muur van de behuizing, die tegenover de sensor ligt
niet-ondertekend int corpus = 10; // afstand van de sensor tot de tegenoverliggende kastwand (in centimeters)

#define CLK 2 // pinnen om verbinding mee te maken
# definieer DIO 3
#define TRIG 4
# definieer ECHO 5
// ------------------------------------------------ ----------------------------------------------
niet-ondertekende int-impuls = 0; // variabelen voor berekening
niet-ondertekende int sm = 0;

GyverTM1637 disp (CLK, DIO);
ongeldige setup () {
 pinMode (TRIG, OUTPUT); // ingesteld als output
 pinMode (ECHO, INPUT); // ingesteld als invoer
 disp. helderheid (7); // helderheid 0-7
 disp.point (0); // zet de dubbele punt uit
  disp.clear (); // wis de indicator
}

leegte lus () {
 digitalWrite (TRIG, HIGH); // leveren 5 volt
  delayMicroseconds (10); // vertraging 10 microseconden
  digitalWrite (TRIG, LOW); // serveer 0
 
  impuls = pulseIn (ECHO, HIGH); // meet de pulslengte
  sm = impuls / 58; // converteren naar centimeters

  if (Long == 1) {// controleer instellingen
    sm = sm + corpus;
  }

  if (sm <= 2) {// nul valse waarden
    sm = 1;
  }
  if (sm> = 405) {
    sm = 1;
  }

  int geheel getal = sm / 10;
  int decimaal = sm% 10;
  decimaal = decimaal * 10;
 disp.displayClock (geheel getal, decimaal); // output naar indicator

  vertraging (300); // vertraging 0,3 sec. tussen waarde-uitvoer
}

Sluit vervolgens de programmeur en flash MK aan.


Stap vier: montage:
Omdat het apparaat op batterijvoeding werkt, hebben we geen extra kosten nodig. Daarom solderen we op het Arduino-bord de LED's en de resetknop (om de grootte te verkleinen).

Lijm de batterij op het lichaam op superlijm. We lijmen het laadbord op de batterij, installeren de schakelaar en solderen alles volgens het schema.

We lijmen de sensor op de behuizing en solderen alles volgens het schema.In eerste instantie was er een idee om het bord op dubbelzijdige tape te plakken, maar toen werd besloten om het op superlijm te plakken.De indicator kan worden geschroefd of gelijmd.


Stap vijf Test:
Opmerking: het vierde segment geeft altijd 0 weer. Dit is om ervoor te zorgen dat het laatste segment niet leeg is. Het blijkt dat als de meting 270 is, dit betekent dat de afstand 27 cm is.

Voor de zekerheid kan de getuigenis worden geverifieerd bij de liniaal.
8
8.3
7.6

Voeg een opmerking toe

    • lachglimlachtxaxaokweet het nietyahoonea
      baaskrabbendwaasjaja-jaagressiefgeheim
      sorrydansdance2dance3pardonhulpdrankjes
      stopvriendengoedgoedfluitjebezwijmdtong
      rookklappencrayverklarenbeledigenddon-t_mentiondownloaden
      hittebooslach1mdavergaderingmoskingnegatief
      not_ipopcornstraffenlezenschrikschriktzoeken
      bespottendankjewelditto_clueUmnikacuutmee eens
      slechtbeeeblack_eyeblum3: oopscheppenverveling
      gecensureerdbeleefdheidgeheim2bedreigenoverwinningyusun_bespectacled
      shokrespektlolvoorgekomenwelkomkrutoyya_za
      ya_dobryihelperne_huliganne_othodifludverbodsluiten
3 commentaar
Gast George
Het project is gestolen van "AlexGiver", dus de auteur is "rat" !!!
Eerst
We hebben geen extra kosten nodig. Dus op het bord Arduino soldeer de leds
, maar dan besteden we domweg veel meer gespaard
het vierde segment geeft altijd 0 weer.

Voor de zekerheid kan de getuigenis worden geverifieerd bij de liniaal.
En wat levert het op?

Het project zelf in de gepresenteerde vorm is puur leerzaam, zonder praktisch belang.
Leeuw
Ik heb veel met deze sensor geëxperimenteerd, helaas hangt de nauwkeurigheid van de meting sterk af van de loodrechtheid van het meetvlak op het vlak van het apparaat.

We raden je aan om te lezen:

Geef het voor de smartphone ...