Оглавление:
Видео: Велосипедный одометр PCBWay Arduino: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Во многих транспортных средствах есть устройства, которые рассчитывают пройденное расстояние и необходимы для представления информации водителю.
Таким образом, с помощью этой информации можно отслеживать расстояние, пройденное между двумя точками, например, с помощью одометра транспортного средства.
Запасы
01 x PCBWay Пользовательская печатная плата
01 x Arduino UNO - ОТСУРС
01 x ЖК-дисплей 16x2 - UTSOURCE
01 x Макет - UTSOURCE
01 x проволочные перемычки - UTSOURCE
Поворотный потенциометр 01 x 10kR - UTSOURCE
01 x Герконовый переключатель UTSOURCE - UTSOURCE
Поэтому в этой статье мы научим вас, как собрать устройство для расчета расстояния с помощью датчика геркона.
Шаг 1: Проект
Следующий проект был создан для расчета пройденного расстояния на велосипеде спортзала. Кроме того, вы узнаете, как создавать программы для проекта.
Этот проект имеет три функции:
- Рассчитайте пройденное расстояние на велосипеде;
- Настройка радиуса запуска устройства;
- Адаптируется к любому байку.
Для доступа к этим функциям пользователь будет использовать три кнопки системы. Каждая кнопка имеет свой функционал. В системе есть следующие кнопки:
Кнопка увеличения: будет использоваться для входа в параметр настройки радиуса колес и увеличения значения радиуса;
Кнопка уменьшения: используется для уменьшения параметра настройки радиуса колес;
Кнопка Enter: будет использоваться для ввода значения радиуса в систему.
Кроме того, у нас есть датчик язычкового переключателя. Он отвечает за обнаружение полного поворота колес. Чтобы это обнаружить, необходимо установить на колеса магнит.
Геркон представлен на рисунке выше.
Шаг 2:
Таким образом, каждый раз, когда магнит приближается к датчику, он приводит в действие датчик герконового переключателя. Процесс работает по следующему уравнению:
Пройденное расстояние = 2 * π * радиус * номер поворота
С помощью этого уравнения мы узнаем, какое расстояние пройдёт велосипед.
В уравнении радиус вводится пользователем, а число оборотов рассчитывается через число оборотов колеса.
А для обнаружения поворотов колеса необходимо установить магнит в колесо велосипеда и установить датчик герконового переключателя рядом с колесом.
Чтобы упростить процесс, мы создали печатную плату для подключения датчика герконового переключателя и трех кнопок. Печатная плата представлена на рисунке ниже.
Шаг 3:
Как показано на печатной плате, можно увидеть Arduino Nano. Он отвечает за контроль всех систем. Кроме того, у нас есть 5 разъемов JST.
Разъемы от C1 до C4 используются для подключения трех кнопок и датчика герконового переключателя. Теперь разъем C5 используется для подключения ЖК-дисплея 16x2 I2C.
Таким образом, с помощью этой системы вы можете установить проект на свой велосипед и получить значение пройденного расстояния.
Для этого вы можете использовать код, представленный ниже.
#include #include
/*
Сенсорный геркон 8 - Сенсорный геркон 9 - Decremento 12 - Incremento 11 - Enter * /
#define MEMORIA 120
#define PosRaio 125
#define ReedSwitch 8
#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecremento 9
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
ЖК-дисплей LiquidCrystal (rs, en, d4, d5, d6, d7);
bool sensor = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
байт cont = 0;
беззнаковое длинное int VoltaCompleta = 0;
беззнаковый длинный int tempo_atual = 0, ultimo_tempo = 0;
float DistKm = 0;
беззнаковое int raio = 0; float Distancia = 0;
установка void ()
{Serial.begin (9600); pinMode (8, ВХОД); pinMode (9, ВХОД); pinMode (10, ВХОД); pinMode (12, ВХОД);
lcd.begin (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
if (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }
lcd.setCursor (3, 0);
lcd.print («Дистансия»); lcd.setCursor (6, 1); lcd.print (Дистансия);
lcd.setCursor (14, 1);
lcd.print («км»);
raio = EEPROM.read (PosRaio);
}
пустой цикл ()
{
// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
датчик = digitalRead (ReedSwitch); Декременто = digitalRead (BotaoDecremento); Инкремент = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
если (датчик == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (float) (2 * 3,14 * raio * VoltaCompleta) /100000.0;
lcd.setCursor (0, 1);
lcd.print (««); lcd.setCursor (6, 1); lcd.print (Дистансия);
lcd.setCursor (14, 1);
lcd.print («км»);
estado_anterior = 0;
}
если (сенсор == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo para Configurar o Raio
если (Инкремент == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
если (Приращение == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
void ConfiguraRaio ()
{
байт RaioRoda = 0;
// Imprimir mensagem para digitar или raio em cm
lcd.setCursor (0, 0); lcd.print («Inserir Raio (см)»);
делать
{
lcd.setCursor (6, 1);
Инкремент = digitalRead (BotaoIncremento);
Декременто = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
if (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
если (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
если (Decremento == 1 && DecrementoAnterior == 0)
{РайоРода = РайоРода - 1; DecrementoAnterior = 1; }
если (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (РайоРода);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
возвращение; }
Из этого кода он, возможно, рассчитает ваше расстояние с вашим Arduino.
Шаг 4: Заключение
Поэтому, если вам нужна собственная печатная плата, вы можете получить ее по этой ссылке на сайте PCBWay.com. Для этого вы можете получить доступ к веб-сайту, создать свою учетную запись и получить свои собственные печатные платы.
Лаборатория Silícios благодарит UTSOURCE за предоставление электронных компонентов для создания этого проекта.
Рекомендуемые:
Велосипедный спидометр Arduino с использованием GPS: 8 шагов
Велосипедный спидометр Arduino с использованием GPS: в этом уроке мы будем использовать Arduino и Visuino для отображения текущей скорости велосипеда с GPS на дисплее ST7735. Посмотрите демонстрационное видео
Светодиодный велосипедный фонарь, программируемый на Python: 4 шага
Светодиодные велосипедные фонари, программируемые с помощью Python. В этом руководстве вы узнаете, как создать несколько крутых светодиодных фонарей для велосипедов, которые можно программировать с помощью Python. Во-первых, убедитесь, что у вас есть все необходимые принадлежности: Микроконтроллер Gemma M0 Потенциометр 10 кОм 1 м Светодиодная лента NeoPixel 30 пикселей / м USB-аккумулятор
Велосипедный спидометр: 3 шага
Велосипедный спидометр: Привет, друзья … В этой инструкции я собираюсь объяснить, как сделать велосипедный спидометр, на самом деле у меня есть старый велотренажер, механический спидометр которого сломался давным-давно, и я решил заменить его на электронный, но с
Одометр электрического скейтборда: 5 шагов
Одометр электрического скейтборда: Введение Самый высококачественный электрический скейтборд стоимостью около тысячи долларов поставляется с приложением для телефона, которое отображает информацию о скейтборде в режиме реального времени, и, к сожалению, более экономичные скейтборды из Китая не поставляются с ними. Так почему не
Светодиодный велосипедный фонарь Bullnose и USB-зарядное устройство Dynamo: 4 шага
Светодиодный велосипедный фонарь Bullnose и зарядное устройство Dynamo USB: Этот велосипед имеет переднюю втулку динамо-машины, которая подключена к светодиодным фарам. Кроме того, имеется выход питания через гнездовой USB-штекер. Вы можете заряжать свой телефон, iPod, GPS или любое устройство с питанием от USB. В этой конструкции состояние зарядки USB