Hyvää iltapäivää ystäville DIY! Tänään kokoamme yksinkertaisen etäisyysmittarin päälle Työläs Pro Mini. Laite pystyy mittaamaan etäisyyden 2 - 400 cm. Tämän laitteen virhe on vain +/- 1-5 cm mitatusta etäisyydestä riippuen.
Työkalut ja materiaalit
-Arduino Pro mini
Anturi HC-04
- Merkkivalo tm1637: llä
-Johto (minulla on - MGTF 0,12)
-Programmator
-Muovi kotelo
-Li-akku
-Pieni kytkin
- Latauskortti TP4056: lla
-Superkley
- Juotosrauta
-Pripoy
-Kanifol
Pora, pora jne.
Vaihe yksi: Kaavio:
Järjestelmän mukaan kaikki on yksinkertaista, ilman lisäyksiä.
Vaihe toinen: tapauksen valmistelu:
Yritämme ensin anturia ja poraa kaksi reikää 15 mm: iin.
Seuraavaksi tee reikä mikro-usb-liittimeen 3-3,5 mm poralla.
Valitsemme poran kytkimen ja halkaisijan halkaisijalle.
Kannessa tehdään “ikkuna” seitsemän segmentin ilmaisimelle (valokuvassa ilman käsittelyä) ja viimeistelemme kaikki epäsäännöllisyydet tiedostolla.
Vaihe kolme: Laiteohjelmisto:
Luonnoksessa korostetaan muuttujia, joita voit säätää itse. Kaikki koodi kommentoidaan.
# sisällytä // kirjastot työhön
# Sisällytä
// ------------- määrittäminen --------------------------------- --------------------------------
boolia pitkä = 0; // 0 - mittaa pituus anturista
// 1 - mittaa pituus kotelon seinästä, joka on anturia vastapäätä
allekirjoittamaton int corpus = 10; // etäisyys anturista vastakkaiselle kotelon seinälle (senttimetreinä)
#define CLK 2 // liitäntätapit
#define DIO 3
#define TRIG 4
#define ECHO 5
// ------------------------------------------------ ----------------------------------------------
allekirjoittamaton int-impulssi = 0; // muuttujat laskentaa varten
allekirjoittamaton sm sm = 0;
GyverTM1637 Dis (CLK, DIO);
tyhjä asennus () {
pinMode (TRIG, OUTPUT); // asetettu lähtöksi
pinMode (ECHO, INPUT); // asetettu tuloksi
vaaleus (7); // kirkkaus 0-7
dispistepiste (0); // sammuta kaksoispiste
dis.puhdas (); // tyhjennä ilmaisin
}
tyhjä silmukka () {
digitalWrite (TRIG, HIGH); // syötä 5 volttia
viiveMikrosekunnit (10); // viive 10 mikrosekuntia
digitalWrite (TRIG, LOW); // palvele 0
impulssi = pulseIn (ECHO, HIGH); // mittaa pulssin pituus
sm = impulssi / 58; // muunna senttimetriksi
if (Pitkä == 1) {// tarkista asetukset
sm = sm + korpus;
}
if (sm <= 2) {// nolla vääriä arvoja
sm = 1;
}
if (sm> = 405) {
sm = 1;
}
int kokonaisluku = sm / 10;
int desimaali = sm% 10;
desimaali = desimaali * 10;
displa.displayClock (kokonaisluku, desimaali); // lähtö indikaattoriin
viive (300); // viive 0,3 sekuntia arvon ulostulon välillä
}
Kytke seuraavaksi ohjelmoija ja flash MK.
Vaihe neljä: Kokoonpano:
Koska laite toimii akkuvirralla, emme tarvitse lisämaksua. Siksi juotamme Arduino-levylle ledit ja nollauspainikkeen (koon pienentämiseksi).
Liimaa akku runkoon superliimalla. Liimaamme latauskortin akkuun, asennat kytkimen ja juotamme kaiken kaavion mukaisesti.
Liimaamme anturin koteloon ja juotamme kaiken kaavion mukaisesti. Ensin tuli idea kiinnittää levy kaksipuoleiselle teipille, mutta sitten päätettiin kiinnittää se superliimaan. Indikaattori voidaan ruuvata tai liimata.
Vaihe viisi: Testi:
Huomaa: neljäs segmentti näyttää aina 0. Tämän on varmistettava, että viimeinen segmentti ei ole tyhjä. Osoittautuu, että jos lukema on 270, niin tämä tarkoittaa, että etäisyys on 27 cm.
Varmuuden vuoksi todistus voidaan tarkistaa hallitsijalla.