» elektroniikka » Työläs »Arduinon pyörän etäisyysmittari (kurvimetri) tee se itse

Tee-se-itse-pyörämittari (kurvimetri) Arduinolla

Hei kaikki! Nyt yritän puhua yksityiskohtaisesti kuinka yksinkertaisin ja edullisin kurvimetri tehdään.

Mutta ensin selvitetään, mikä se on ja miksi sitä tarvitaan. Itse asiassa sen nimi kertoo meille sen tarkoituksen. Se on muodostettu latinalaisesta sanasta curvus, joka tarkoittaa kaarevaa tai aaltoilevaa. Eli kurvimetri on pyörän tai rullan etäisyysmittari. Kaksi kaarevuusmittarityyppiä erotetaan toisistaan: pienet (kartografiset), joita yleensä käytetään mittauksiin kartalla, ja suuret (tie), joita käytetään yleensä mittaamaan jo valtateiden kaarevien osien pituutta. Niitä voidaan käyttää aina, kun on vaikeaa tai mahdotonta mitata tavanomaisella ruletilla, siksi projekti lupaa olla mielenkiintoinen.

Ensimmäinen asia, josta huolehditaan kurvimetriä rakennettaessa, on pyörä tai rulla. Sen on oltava riittävän pieni, jotta instrumentin tarkkuus on korkea, samalla kun sen on oltava riittävän suuri, jotta mitatun pinnan epätasaisuus ei vaikuta suuresti lukemien arvoon. Minun tapauksessani pyörän halkaisija on 14 senttimetriä.

Nyt sinun on määritettävä rakenteen materiaali ja koko. Käytin puuta.

Tangolle tein merkinnän ja tein tarvittavat leikkaukset ja reikät.

Sitten kootin koneistetut osat pienillä itsekelausruuveilla.
Nyt poistetaan hiukan itse curvimetristä ja mietitään miten tämä asia voi jopa määrittää etäisyyden? Kaikki on melko yksinkertaista. Meidän on vain laskettava pyörän kierrosten lukumäärä ja kerrottava sen ulkokehän pituudella, ja on vielä helpompaa lisätä pituusarvo joka kerta, kun pyörä tekee uuden kierroksen.

Voit laskea jokaisen kierroksen yksinkertaisimmassa tapauksessa käyttämällä "liukukosketinta". En kuitenkaan suosittele tällaisen viitemekanismin käyttöä. On paljon parempi käyttää ruokokytkintä tai Hall-anturia.

On aika kokeilla pyörällä. Kiinnitä se pitkällä pultilla. Löydämme rungosta paikan, jossa pyörän vanne on mahdollisimman lähellä sitä ja merkitsemme iskuilla. Tämän alueen ympärille meidän on asennettava ruokokatkaisin.

Pyörään on asennettava pieni magneetti.Varmista, että hänen voimansa riittävät sulkemaan ruokokatkaisimen koskettimet.
Nyt harjoitamme järjestelmän "aivoja". Minun tapauksessani tämä on maksu Työläs UNO. Se lukee ruokokytkimen tilan ja lähettää tietoja puhelimeen Bluetooth-yhteyden kautta HC-05-moduulin avulla. Muuten, ruokokatkaisin on kytketty paneeliin kuten tavallinen painike. Mielestäni Bluetooth-moduulin kytkemisessä ei pitäisi olla mitään ongelmia.

Itse koodi on hyvin yksinkertainen. Ja yritin kommentoida sitä niin, että kaikki oli mahdollisimman selvää.

int gercon = 12; // liitti ruokokytkimen 12-nastaiseen
kaksinkertainen etäisyys = 0; // loi kaksinkertaisen muuttujan etäisyyden tallentamiseksi
tyhjä asennus () {
   Serial.begin (9600); // kytketty sarjayhteys
 }
  tyhjä silmukka () {
/ * Seuraava on if-silmukka. Jos ruokokatkaisin on kiinni, seuraava etäisyys lasketaan. Arvo 0.46472 on jo pyörän yhden kierroksen laskettu pituus. "Ylimääräisen" tiedon välttämiseksi lisää 200 millisekunnin viive ja näytä lukemat
* /
   if (digitalRead (gercon) == KORKEA)
   {
 etäisyys = etäisyys + 0.46472;
 viive (200);
 Serial.println (etäisyys);
}
  } 


Tässä on kurvimetri ja valmis!

Tehdään pari testikisaa. Kaikki toimii hienosti!


Voit katsoa videota tämän laitteen kokoonpanosta. Ehkä löydät sieltä jotain mielenkiintoista.
[media = https: //youtu.be/kx_7ztPsLws]

Pidä projekti hyvällä toistolla!
5
5
7

Lisää kommentti

    • hymyillähymyileexaxakunnossadontknowyahoonea
      pomonaarmutyperyskylläkyllä-kylläaggressiivinensalaisuus
      anteeksitanssidance2dance3anteeksihelpjuomat
      pysäytysystäväthyvägoodgoodpillipyörtyäkieli
      savutaputusCrayjulistaapilkallinenDon-t_mentiondownload
      lämpöirefullaugh1MDAkokousmoskingnegatiivinen
      not_ipopcornrangaistaluettupelästyttääpelottaaetsi
      kiusatathank_youtämäto_clueumnikakuuttisuostua
      huonoBeeeblack_eyeblum3punastuaylpeilläikävystyminen
      sensuroituhassutussecret2uhatavoittoyusun_bespectacled
      SHOKrespektlolprevedtervetuloakrutoyya_za
      ya_dobryiauttajane_huliganne_othodifludkieltolähellä
1 kommentti
Vieras Sergey
Miksi UNO, kun attiny13 riittää silmiin ...
Koodin suhteen ainakin sinun on lisättävä tarkistus siitä, että magneetti on poistunut ruokokytkimestä, koska tässä toteutuksessa tietyllä nopeudella ja vielä enemmän, jos pyörä pysähtyy, sitä voidaan käsitellä useammin kuin kerran tai jättää käsittelemättä ollenkaan. Lisää tämä vain lisäämällä globaali muuttuja ja tarkista sen tila ennen pituuden laskemista, esimerkiksi:
int gercon = 12; // liitti ruokokytkimen 12-nastaiseen
int i = totta;
kaksinkertainen etäisyys = 0; // loi kaksinkertaisen muuttujan etäisyyden tallentamiseksi
tyhjä asennus () {
Serial.begin (9600); // kytketty sarjayhteys
}
tyhjä silmukka () {
/ * Seuraava on if-silmukka. Jos ruokokatkaisin on kiinni, seuraava etäisyys lasketaan. Arvo 0.46472 on jo pyörän yhden kierroksen laskettu pituus. "Ylimääräisen" tiedon välttämiseksi lisää 200 millisekunnin viive ja näytä lukemat
*/
if (digitalRead (gercon) == KORKEA)
{
jos (i <1)
{
etäisyys = etäisyys + 0.46472;
i = 1;
// viive (200);
Serial.println (etäisyys);
}
}
jos (i> 0)
{
i ++;
viive (1);
}
if (digitalRead (gercon) == LOW)
{
if (i> 30) // välttää väärät positiiviset kosketuspisteestä johtuvat väärät positiiviset tulokset
{
i = 0;
}
}
}

Parempaa vielä, laita kaksi ruokokatkaisinta, tämä antaa sinun määrittää pyörimissuunnan (en mennyt sinne mittaamaan - menin taaksepäin, en aloittanut alusta tai ravisin sitä paikoilleen eteenpäin ja takaisin keskustelemaan naapurin kanssa jne.). Voit myös lisätä magneetteja tarkkuuden muuttamiseksi.
ZY En tarkistanut koodin muutoksia, voi olla virheitä.

Suosittelemme lukemaan:

Anna se älypuhelimelle ...