» Electrònica » Arduino »Mesurador de distància de la roda (curvímetre) a Arduino fes-ho tu mateix

Mesurador de distància (curvímetre) de la roda feta-ho tu mateix a Arduino

Hola a tots! Ara intentaré parlar amb detall sobre com fer el curvímetre més senzill i assequible.

Però primer, esbrinem què és i per què es necessita. De fet, el seu nom ens diu el seu propòsit. Es forma a partir del mot llatí curvus, que significa corbat o ondulat. És a dir, un curvímetre és un mesurador de distància de rodes o rodets. Es distingeixen dos tipus de curvímetres: petit (cartogràfic), que s’utilitzen generalment per a mesures en el mapa, i gran (de carretera), que s’utilitzen normalment per mesurar la longitud dels trams corbats de les carreteres ja elevades. Es poden utilitzar en qualsevol lloc incòmode o impossible de mesurar amb ruleta estàndard, per tant, el projecte promet ser interessant.

El primer que cal tenir cura a l’hora de construir el curvímetre és una roda o corró. Ha de ser prou petit perquè la precisió de l’instrument sigui alta, alhora que ha de ser prou gran perquè el valor de les lectures no es vegi afectat molt pel desnivell de la superfície mesurada. En el meu cas, la roda té un diàmetre de 14 centímetres.

Ara cal determinar el material i la mida de l’estructura. Vaig fer servir un arbre.

A les barres vaig fer un marcatge i vaig fer els talls i forats necessaris.

A continuació, vaig muntar les peces mecanitzades amb petits cargols auto-punxants.
Ara ens apartem una mica del propi curvímetre i pensem en com aquesta cosa fins i tot pot determinar la distància? Tot és bastant senzill. Només cal calcular el nombre de revolucions de la roda i multiplicar-ne per la longitud de la seva circumferència exterior, i és encara més fàcil afegir un valor de longitud cada vegada que la roda faci una altra revolució.

Per comptar cada revolució en el cas més senzill, podeu utilitzar el "contacte lliscant". Tot i això, no recomano utilitzar aquest mecanisme de referència. És molt millor utilitzar un interruptor de canya o un sensor Hall.

És hora de provar sobre una roda. Ho subjectaré amb un cargol llarg. Trobem un lloc al marc on la llanta està més a prop possible i marquem amb cops. Al voltant d’aquesta zona, hem d’instal·lar l’interruptor de canya.

Al volant cal instal·lar un petit imant.Assegureu-vos que la seva força serà suficient per tancar els contactes del commutador de canya.
Ara ens dedicarem a "cervells" del sistema. En el meu cas, es tracta d’una tarifa Arduino UNO. Llegirà l'estat de l'interruptor de canya i transmetrà les dades mitjançant connexió Bluetooth, mitjançant el mòdul HC-05, al telèfon. Per cert, el commutador de canya està connectat a la placa com un botó normal. Crec que no hauria d’haver cap problema per connectar el mòdul Bluetooth.

Pel que fa al codi en si, és molt senzill. I vaig intentar comentar-ho perquè tot fos el més clar possible.

int gercon = 12; // va connectar el commutador de canya a 12 pins
doble distància = 0; // va crear una variable doble per emmagatzemar la distància
void setup () {
   Serial.begin (9600); // va connectar una connexió en sèrie
 }
  void loop () {
/ * A continuació es presenta el bucle if. Si el botó de canya està tancat, es farà el següent càlcul de distància. El valor 0.46472 ja és la longitud calculada d’una revolució de la roda. Per evitar dades "addicionals", afegeix un retard de 200 mil·lisegons i mostra les lectures
* /
   if (digitalRead (gercon) == HIGH)
   {
 distància = distància + 0,46472;
 retard (200);
 Serial.println (distància);
}
  } 


Aquí teniu el nostre curvímetre i a punt!

Fem un parell de proves de proves. Tot funciona genial!


Podeu veure un vídeo al muntatge d’aquest dispositiu, potser hi trobareu alguna cosa interessant.
[media = https: //youtu.be/kx_7ztPsLws]

Bona repetició del projecte!
5
5
7

Afegeix un comentari

    • somriuresomriuxaxad'acordno ho séyahoonea
      capratllarximplesísí-síagressiusecret
      ho sentoballarballar2ballar3perdóajudarbegudes
      pararamicsbébondatxiuletswoonllengua
      fumaraplaudintcranideclararderisiudon-t_mentiondescarregar
      calorirritariure1mdareuniómosquitnegatiu
      no_icrispetescastigarllegirporespantosbuscar
      burlargràcies_youaixòto_clueumnikagutd'acord
      dolentbeeeblack_eyeblum3ruborpresumirl'avorriment
      censuradaplaersecret2amenaçarvictòriatusun_bespectacled
      xocrespectlolpreveurebenvingudaKrutoyja_za
      ja_dobryiajudantne_huliganne_othodifludprohibicióa prop
1 comentari
Sergey convidat
Per què UNO quan attiny13 és suficient per als ulls ...
Pel que fa al codi, almenys cal afegir una comprovació que l’imant hagi deixat l’interruptor de canya, perquè en aquesta implementació, a una certa velocitat, i més encara si la roda s’atura, es pot aconseguir processar més d’una vegada o no processar-la del tot. Per fer-ho, només cal afegir una variable global i comprovar el seu estat abans de calcular la longitud, una cosa així com:
int gercon = 12; // va connectar el commutador de canya a 12 pins
int i = cert;
doble distància = 0; // va crear una variable doble per emmagatzemar la distància
void setup () {
Serial.begin (9600); // va connectar una connexió en sèrie
}
void loop () {
/ * A continuació es presenta el bucle if. Si el botó de canya està tancat, es farà el següent càlcul de distància. El valor 0.46472 ja és la longitud calculada d’una revolució de la roda. Per evitar dades "addicionals", afegeix un retard de 200 mil·lisegons i mostra les lectures
*/
if (digitalRead (gercon) == HIGH)
{
si (i <1)
{
distància = distància + 0,46472;
i = 1;
// retard (200);
Serial.println (distància);
}
}
si (i> 0)
{
i ++;
retard (1);
}
if (digitalRead (gercon) == BAIX)
{
if (i> 30) // evita falsos positius a causa del rebot en contacte
{
i = 0;
}
}
}

Millor encara, poseu dos interruptors de canya, això us permetrà determinar el sentit de la rotació (no vaig anar allà a mida: vaig tornar enrere, i no començar des del principi ni fer el lloc cap endavant i tornar parlant amb un veí, etc.). També podeu afegir imants per canviar la resolució.
ZY No he comprovat els canvis del codi, hi pot haver errors.

Us aconsellem que llegiu:

Doneu-lo al telèfon intel·ligent ...