» elektronikk » Arduino »Enkel rekkeviddesøker på Arduino

Enkel Arduino Rangefinder


Gode ​​ettermiddagselskere DIY! I dag skal vi sette sammen en enkel avstandsmåler på Arduino Pro Mini. Enheten er i stand til å måle en avstand fra 2 til 400 cm. Feilen til denne enheten kommer til bare +/- 1-5 cm, avhengig av den målte avstanden.

Verktøy og materialer
-Arduino Pro mini
Sensor HC-04
- Indikator på tm1637
-Wire (jeg har - MGTF 0.12)
-Programmator
-Plastisk hus
-Li-on batteri
-Liten bryter
- Ladetavle på TP4056
-Superkley
-Loddjern
-Pripoy
-Kanifol
Drill, drill, etc.

Trinn 1. Ordning:
I følge ordningen er alt enkelt, uten tillegg.


Trinn 2. Forberedelse av saken:
Først prøver vi på sensoren og borer to hull i 15 mm.

Deretter lager du et hull for en mikro-usb-kontakt med en 3-3,5 mm bor.

Vi velger en bor for diameteren på bryteren og boren.

På lokket lager vi et "vindu" for syv-segmentindikatoren (på bildet uten behandling), og vi avslutter alle ujevnheter med en fil.


Trinn 3. Firmware:
I skissen er variabler som kan justeres for deg fremhevet. All kode er kommentert.

#include  // biblioteker for arbeid
#include 
// ------------- For å konfigurere --------------------------------- --------------------------------
bool Lang = 0; // 0 - måle lengden fra sensoren
               // 1 - måle lengden fra husveggen, som er motsatt av sensoren
usignert int korpus = 10; // avstand fra sensor til motsatt vegg (i centimeter)

#definere CLK 2 // pinner for å koble til
#definere DIO 3
#definere TRIG 4
#definere ECHO 5
// ------------------------------------------------ ----------------------------------------------
usignert int-impuls = 0; // variabler for beregning
usignert int sm = 0;

GyverTM1637 disp (CLK, DIO);
ugyldig oppsett () {
 pinMode (TRIG, OUTPUT); // sett som en utgang
 pinMode (ECHO, INPUT); // angitt som inngang
 disp.brightness (7); // lysstyrke 0-7
 disp.point (0); // slå av tykktarmen
  disp.clear (); // fjern indikatoren
}

void loop () {
 digitalWrite (TRIG, HIGH); // tilførsel 5 volt
  forsinkelse Mikrosekunder (10); // forsinke 10 mikrosekunder
  digitalWrite (TRIG, LOW); // server 0
 
  impuls = pulsIn (ECHO, HØY); // måle pulslengden
  sm = impuls / 58; // konvertere til centimeter

  if (Lang == 1) {// sjekk innstillinger
    sm = sm + korpus;
  }

  if (sm <= 2) {// null falske verdier
    sm = 1;
  }
  if (sm> = 405) {
    sm = 1;
  }

  int heltall = sm / 10;
  int desimal = sm% 10;
  desimal = desimal * 10;
 disp.displayClock (heltall, desimal); // utgang til indikator

  forsinkelse (300); // forsinkelse 0,3 sek. mellom verdiutgang
}

Deretter kobler du programmereren og blinker MK.


Trinn 4. Forsamling:
Siden enheten går på batteristrøm, trenger vi ikke ekstra lading. Derfor lodder vi lysdiodene og tilbakestillingsknappen på Arduino-brettet (for å redusere størrelsen).

Lim batteriet på kroppen på superlim. Vi limer ladebrettet på batteriet, installerer bryteren og lodder alt i henhold til ordningen.

Vi limer sensoren på saken og lodder alt i henhold til ordningen. Først var det en ide om å feste brettet på tosidig tape, men så ble det bestemt å legge det på superlim. Indikatoren kan skrus på eller limes på.


Trinn fem. Test:
Merk: det fjerde segmentet vil alltid vise 0. Dette er for å sikre at det siste segmentet ikke er tomt. Det viser seg at avlesningen er 270, da betyr dette at avstanden er 27 cm.

For å være sikker, kan vitnesbyrdet bekreftes med herskeren.
8
8.3
7.6

Legg til en kommentar

    • smilersmilerxaxaokdontknowyahoonea
      sjefscratchlurejaja-jaaggressivhemmelighet
      beklagerdansedance2dance3benådninghjelpdrikkevarer
      stoppvennergodgoodgoodfløytebesvimelsetunge
      røykklappingCrayerklærehånligdon-t_mentionnedlasting
      heteirefullaugh1MDAmøtemoskingnegative
      not_ipopcornstraffeleseskremmeskremmersøk
      spydighetthank_youdetteto_clueumnikakuttenig
      dårligbeeeblack_eyeblum3rødmeskrytekjedsomhet
      sensurertpleasantrysecret2trueseieryusun_bespectacled
      ShokRespektlolPrevedvelkommenKrutoyya_za
      ya_dobryihelperne_huliganne_othodiFLUDforbudnær
3 kommentarer
Gjest George
Prosjektet ble stjålet fra "AlexGiver", så forfatteren er "rotte" !!!
første
Vi trenger ikke ekstra gebyr. Derfor i styret Arduino lodde lysdiodene
, men da bruker vi dumt mye mer frelst
det fjerde segmentet vil alltid vise 0.

For å være sikker, kan vitnesbyrdet bekreftes med herskeren.
Og hva er resultatene?

Selve prosjektet i den formen som presenteres er rent lærerikt, uten praktisk betydning.
Leo
Jeg eksperimenterte mye med denne sensoren, dessverre avhenger nøyaktigheten av målingene sterkt av måleplanets vinkelretthet på enhetens plan.

Vi anbefaler deg å lese:

Gi den til smarttelefonen ...