» elektronika » Težak »Metar udaljenosti kotača (curvimetar) na Arduinu napravite sami

Napravite sami mjerač udaljenosti kotača (curvimetar) na Arduinu

Pozdrav svima! Sada ću pokušati detaljno razgovarati o tome kako napraviti najjednostavniji i najpovoljniji curvimetar.

No, prvo da razjasnimo što je to i zašto je potrebno. Zapravo, njegovo ime govori nam o svrsi. Nastaje od latinske riječi curvus, što znači zakrivljena ili valovita. To je, curvimetar je mjerač udaljenosti kotača ili valjka. Razlikuju se dvije vrste krivulja: mala (kartografska), koja se obično koristi za mjerenja na karti, i velika (cesta), koja se obično koriste za mjerenje duljine zakrivljenih dijelova već autocesta. Mogu se koristiti gdje god je nezgodno ili nemoguće izmjeriti standardnom ruletom, pa projekt obećava da će biti zanimljiv.

Prvo na što treba voditi računa pri izgradnji curvimetra je kotač ili valjak. Mora biti dovoljno mali da bi preciznost instrumenta bila visoka, istodobno mora biti i dovoljno velika da na vrijednost očitanja ne utječu u velikoj mjeri neravnine mjerene površine. U mom slučaju, kotač je promjera 14 centimetara.

Sada morate odrediti materijal i veličinu strukture. Koristio sam stablo.

Na šipkama sam napravio označavanje i napravio potrebne rezove i rupe.

Tada sam sastavio dijelove pomoću malih samoreznih vijaka.
Sada se malo odmaknimo od samog curvimetra i razmislimo kako ova stvar uopće može odrediti udaljenost? Sve je prilično jednostavno. Trebamo samo izračunati broj okretaja kotača i pomnožiti s dužinom vanjskog opsega, pa je još lakše dodati vrijednost duljine svaki put kada kotač napravi još jedan okret.

Za brojanje svake revolucije u najjednostavnijem slučaju možete upotrijebiti "klizni kontakt". Međutim, ne preporučujem korištenje takvog referentnog mehanizma. Mnogo je bolje koristiti reedov prekidač ili Hall senzor.

Vrijeme je da isprobate kotač. Pričvrstit ću ga dugim vijkom. Nalazimo mjesto na okviru gdje je obruč kotača što bliže njemu i označavamo ih potezima. Oko ovog područja moramo instalirati trska sklopku.

Na kolu morate instalirati mali magnet.Provjerite da li će njegova snaga biti dovoljna da zatvori kontakte trske.
Sada ćemo se baviti "mozgovima" sustava. U mom slučaju to je naknada Težak UNO. Čitat će stanje trske i prebaciti podatke putem Bluetooth veze, pomoću modula HC-05, na telefon. Usput, trske sklopka je spojena na ploču poput običnog gumba. Mislim da ne bi trebalo biti problema s povezivanjem Bluetooth modula.

Što se samog koda tiče, vrlo je jednostavan. I pokušao sam to komentirati kako bi sve bilo što jasnije.

int gercon = 12; // spojili stezaljku na 12-polni
dvostruka udaljenost = 0; // stvorio dvostruku varijablu za pohranu udaljenosti
poništavanje postave () {
   Serijski počet (9600); // spojili serijsku vezu
 }
  void petlja () {
/ * Slijedi petlja if. Ako je trska sklopka zatvorena, slijedi izračunavanje udaljenosti. Vrijednost 0,46472 je već izračunata duljina jednog obrtaja kotača. Da biste izbjegli "dodatne" podatke, dodajte kašnjenje od 200 milisekundi i prikažite očitanja
* /
   if (digitalno čitanje (gercon) == HIGH)
   {
 udaljenost = udaljenost + 0,46472;
 kašnjenje (200);
 Serijski.println (udaljenost);
}
  } 


Evo našeg curvimetra i spremni!

Napravimo nekoliko probnih utrka. Sve super funkcionira!


Možete pogledati videozapis o sastavljanju ovog uređaja, možda ćete tamo pronaći nešto zanimljivo.
[media = https: //youtu.be/kx_7ztPsLws]

U redu ponovite projekt!
5
5
7

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu
1 komentar
Gost Sergej
Zašto UNO kad je attiny13 dovoljno za oči ...
Što se tiče koda, barem trebate dodati provjeru da li je magnet napustio trsku sklopku, jer u ovoj primjeni, određenom brzinom, a još više ako se kotač zaustavi, može se obraditi više od jednom ili uopće ne biti obrađen. Da biste to učinili, samo dodajte globalnu varijablu i provjerite njeno stanje prije izračuna duljine, nešto poput:
int gercon = 12; // spojili stezaljku na 12-polni
int i = istina;
dvostruka udaljenost = 0; // stvorio dvostruku varijablu za pohranu udaljenosti
poništavanje postave () {
Serijski počet (9600); // spojili serijsku vezu
}
void petlja () {
/ * Slijedi petlja if. Ako je trska sklopka zatvorena, slijedi izračunavanje udaljenosti. Vrijednost 0,46472 je već izračunata duljina jednog obrtaja kotača. Da biste izbjegli "dodatne" podatke, dodajte kašnjenje od 200 milisekundi i prikažite očitanja
*/
if (digitalno čitanje (gercon) == HIGH)
{
ako (i <1)
{
udaljenost = udaljenost + 0,46472;
i = 1;
// kašnjenje (200);
Serijski.println (udaljenost);
}
}
ako je (i> 0)
{
i ++;
kašnjenje (1);
}
ako (digitalno čitanje (gercon) == NISKO)
{
ako (i> 30) // izbjegava lažne pozitivne prikaze zbog odbijanja kontakta
{
i = 0;
}
}
}

Još bolje, stavite dvije trske sklopke, to će vam omogućiti da odredite smjer rotacije (nisam tamo išao mjeriti - vratio sam se i nisam započeo od početka ili sam ga otresao naprijed i nazad razgovarajući sa susjedom itd.). Za promjenu rezolucije možete dodati i magnete.
ZY Nisam provjeravao promjene u kodu, može doći do pogreške.

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...