imadeself.com! » електроника » Arduino »Измервател на разстоянието на колелата (криваметър) на Arduino направете сами

Направете сам метър за разстояние на колелото (криваметър) на Arduino

Здравейте на всички! Сега ще се опитам да поговоря подробно как да направя най-простия и достъпен курвиметър.

Но първо, нека разберем какво представлява и защо е необходимо. Всъщност името му ни казва нейната цел. Образува се от латинската дума curvus, което означава извита или вълнообразна. Тоест, кривометър е измервател на разстоянието на колело или ролка. Разграничават се два типа кривиметри: малка (картографска), която обикновено се използва за измервания на картата, и голяма (пътна), която обикновено се използва за измерване на дължината на извити участъци на вече магистрали. Те могат да се използват, когато е неудобно или невъзможно да се измери със стандартна рулетка, затова проектът обещава да бъде интересен.

Първото нещо, за което трябва да се обърнете внимание при изграждането на кривометъра, е колело или ролка. Той трябва да е достатъчно малък, така че точността на инструмента да е висока, в същото време той трябва да бъде достатъчно голям, така че стойността на показанията да не се повлиява значително от неравностите на измерената повърхност. В моя случай колелото е с диаметър 14 сантиметра.

Сега трябва да определите материала и размера на конструкцията. Използвах дърво.

На решетките направих маркировка и направих необходимите разрези и дупки.

Тогава сглобих обработените части с помощта на малки самонарезни винтове.
Сега нека се отклоним малко от самия кривометър и да помислим как това нещо може дори да определи разстоянието? Всичко е доста просто. Просто трябва да изчислим броя на оборотите на колелото и да умножим по дължината на външната му обиколка, а още по-лесно е да добавим стойност на дължината всеки път, когато колелото прави друга оборот.

За да преброите всяка революция в най-простия случай, можете да използвате "плъзгащия се контакт". Не препоръчвам обаче да се използва такъв референтен механизъм. Много по-добре е да използвате тръстиков превключвател или сензор на Хол.

Време е да опитате на колело. Ще го закрепя с дълъг болт. Намираме място на рамката, където джантата на колелото е възможно най-близо до нея и маркираме с щрихи. Около тази област трябва да инсталираме тръстиковия превключвател.

На колелото трябва да инсталирате малък магнит.Уверете се, че силата му ще бъде достатъчна, за да затвори контактите на превключвателя на тръстика.
Сега ще се занимаваме с "мозъци" на системата. В моя случай това е такса Arduino UNO. Той ще прочете състоянието на тръстиковия превключвател и ще предава данни чрез Bluetooth връзка, използвайки модула HC-05, към телефона. Между другото, тръстовият превключвател е свързан към дъската като обикновен бутон. Мисля, че не трябва да има проблеми със свързването на Bluetooth модула.

Що се отнася до самия код, той е много прост. И се опитах да го коментирам така, че всичко да е възможно най-ясно.

int gercon = 12; // свързах превключвателя на тръстика към 12 пинов
двойно разстояние = 0; // създаде двойна променлива за съхранение на разстоянието
настройка за невалидност () {
   Serial.begin (9600); // свързана серийна връзка
 }
  void loop () {
/ * Следва цикълът if. Ако превключвателят на тръстика е затворен, се извършва следващото изчисление на разстоянието. Стойността 0,46472 е вече изчислената дължина на един оборот на колелото. За да избегнете "допълнителни" данни, добавете закъснение от 200 милисекунди и покажете показанията
* /
   ако (digitalRead (gercon) == HIGH)
   {
 разстояние = разстояние + 0.46472;
 забавяне (200);
 Serial.println (разстояние);
}
  } 


Ето нашия кривометър и готово!

Нека направим няколко пробни състезания. Всичко работи чудесно!


Можете да гледате видео на монтажа на това устройство, може би ще намерите там нещо интересно.
[media = https: //youtu.be/kx_7ztPsLws]

Приятно повторение на проекта!
5
5
7

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
1 коментар
Гост Сергей
Защо UNO, когато attiny13 е достатъчен за очите ...
Що се отнася до кода, най-малкото трябва да добавите проверка дали магнитът е напуснал тръстиковия превключвател, защото при това изпълнение с определена скорост и още повече, ако колелото спре, той може да управлява да се обработва повече от веднъж или изобщо да не се обработва. За да направите това, просто добавете глобална променлива и проверете състоянието й, преди да изчислите дължината, нещо като:
int gercon = 12; // свързах превключвателя на тръстика към 12 пинов
int i = вярно;
двойно разстояние = 0; // създаде двойна променлива за съхранение на разстоянието
настройка за невалидност () {
Serial.begin (9600); // свързана серийна връзка
}
void loop () {
/ * Следва цикълът if. Ако превключвателят на тръстика е затворен, се извършва следващото изчисление на разстоянието. Стойността 0,46472 е вече изчислената дължина на един оборот на колелото. За да избегнете "допълнителни" данни, добавете закъснение от 200 милисекунди и покажете показанията
*/
ако (digitalRead (gercon) == HIGH)
{
ако (i <1)
{
разстояние = разстояние + 0.46472;
i = 1;
// забавяне (200);
Serial.println (разстояние);
}
}
ако (i> 0)
{
i ++;
забавяне (1);
}
if (digitalRead (gercon) == LOW)
{
ако (i> 30) // избягва фалшиви положителни резултати поради отскачане от контакт
{
i = 0;
}
}
}

Още по-добре, поставете два тръстика превключватели, това ще ви позволи да определите посоката на въртене (не отидох там да меря - върнах се назад и не започнах отначало или го разтърсих на място напред и назад, говорейки със съсед и т.н.). Можете също да добавите магнити, за да промените разделителната способност.
ZY Не проверих промени в кода, може да има грешки.

Съветваме ви да прочетете:

Предайте го за смартфона ...