» elektronik » Arduino »Enkel rækkevidde finder på Arduino

Enkel Arduino rangefinder


God eftermiddagselskere DIY! I dag vil vi samle en simpel afstandsmåler til Arduino Pro Mini. Enheden er i stand til at måle en afstand fra 2 til 400 cm. Fejlen på denne enhed når kun +/- 1-5 cm, afhængigt af den målte afstand.

Værktøjer og materialer
-Arduino Pro mini
Sensor HC-04
- Indikator på tm1637
-Wire (jeg har - MGTF 0,12)
-Programmator
-Plastisk hus
-Li-on batteri
-Liten switch
- Opladningsplade på TP4056
-Superkley
- Loddejern
-Pripoy
-Kanifol
Bor, bor osv.

Trin 1. Skema:
I henhold til ordningen er alt simpelt uden tilføjelser.


Trin 2. Forberedelse af sag:
Først prøver vi sensoren og borer to huller i 15 mm.

Bor derefter et 3-3,5 mm hul til mikro-usb-stikket.

Vi vælger en bor til diameteren af ​​kontakten og boren.

På låget laver vi et “vindue” til syv-segment indikatoren (på billedet uden behandling), og vi afslutter alle uregelmæssigheder med en fil.


Trin 3. Firmware:
I skitsen fremhæves variabler, der kan justeres for dig selv. Al kode kommenteres.

#include  // biblioteker til arbejde
#include 
// ------------- For at konfigurere --------------------------------- --------------------------------
bool Lang = 0; // 0 - mål længden fra sensoren
               // 1 - mål længden fra husvæggen, der er modsat sensoren
usigneret int corpus = 10; // afstand fra sensoren til den modsatte kassevæg (i centimeter)

#definér CLK 2 // benene, der skal tilsluttes
#definér DIO 3
#definér TRIG 4
#definér ECHO 5
// ------------------------------------------------ ----------------------------------------------
usigneret int-impuls = 0; // variabler til beregning
usigneret int sm = 0;

GyverTM1637 disp (CLK, DIO);
ugyldig opsætning () {
 pinMode (TRIG, OUTPUT); // indstilles som output
 pinMode (ECHO, INPUT); // indstilles som input
 disp.brightness (7); // lysstyrke 0-7
 disp.point (0); // Sluk for tyktarmen
  disp.clear (); // ryd indikatoren
}

void loop () {
 digitalWrite (TRIG, HIGH); // levering 5 volt
  forsinkelse Mikrosekunder (10); // forsink 10 mikrosekunder
  digitalWrite (TRIG, LAV); // server 0
 
  impuls = pulsIn (ECHO, HØJ); // måle pulslængde
  sm = impuls / 58; // konverter til centimeter

  if (Lang == 1) {// Kontroller indstillinger
    sm = sm + korpus;
  }

  if (sm <= 2) {// nul falske værdier
    sm = 1;
  }
  hvis (sm> = 405) {
    sm = 1;
  }

  int heltal = sm / 10;
  int decimal = sm% 10;
  decimal = decimal * 10;
 disp.displayClock (heltal, decimal); // output til indikator

  forsinkelse (300); // forsinkelse 0,3 sek. mellem værdioutput
}

Tilslut derefter programmereren og flash MK.


Trin 4. Samling:
Da enheden kører på batteristrøm, har vi ikke brug for ekstra opladning. Derfor lodder vi LED'erne og nulstillingsknappen på Arduino-tavlen (for at reducere størrelsen).

Lim batteriet på kroppen på superlim. Vi limer opladningspladen på batteriet, installerer afbryderen og lodder alt efter skemaet.

Vi limer sensoren på sagen og lodder alt i henhold til skemaet. Først var der en idé om at klæbe pladen på dobbeltsidet bånd, men derefter blev det besluttet at sætte det på superlim. Indikatoren kan skrues på eller limes på.


Trin 5. Test:
Bemærk: det fjerde segment viser altid 0. Dette er for at sikre, at det sidste segment ikke er tomt. Det viser sig, at hvis aflæsningen er 270, betyder det, at afstanden er 27 cm.

For at være sikker, kan vidnesbyrdet verificeres med linealen.
8
8.3
7.6

Tilføj en kommentar

    • smilesmilxaxaokdontknowyahoonea
      bossscratchnarrejaja-jaaggressivhemmelighed
      undskylddansdance2dance3benådninghjælpdrikkevarer
      stop-vennergodgoodgoodfløjtedånetunge
      røgklappecrayerklærerspottendedon-t_mentiondownloade
      hedeirefullaugh1mdamødemoskingnegativ
      not_ipopcornstraffelæseskræmmeforskrækkelsersøg
      hånethank_youdetteto_clueumnikakutenig
      dårligbeeeblack_eyeblum3blushpralekedsomhed
      censureretpleasantrysecret2truesejryusun_bespectacled
      SHOKRespektlolprevedvelkommenkrutoyya_za
      ya_dobryihjælperenne_huliganne_othodiFludforbudtæt
3 kommentarer
Gæst George
Projektet blev stjålet fra "AlexGiver", så forfatteren er "rotte" !!!
første
Vi har ikke brug for ekstra gebyr. Derfor i bestyrelsen Arduino lodde lysdioderne
, men så bruger vi dumt meget mere frelst
det fjerde segment viser altid 0.

For at være sikker, kan vidnesbyrdet verificeres med linealen.
Og hvad er resultaterne?

Selve projektet i den præsenterede form er rent uddannelsesmæssigt og uden praktisk betydning.
Leo
Jeg eksperimenterede meget med denne sensor, desværre afhænger nøjagtigheden af ​​dens måling stærkt af målingsplanets vinkelret på enhedens plan.

Vi råder dig til at læse:

Giv den til smartphonen ...