Тахометр + температура двигателя на Arduino для МиниМото

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Купил я сыну в прошлом сезоне его первый мотоцикл. Радости не было предела.

Катались мы катались, всё хорошо, но т.к. на минибайках нет ни спидометра, ни тахометра, ничего, пришла идея это исправить. Есть конечно же в продаже готовые варианты, но весь интерес в том, чтобы попробовать сделать что-то самому, а купить можно всегда. Что у меня из этого вышло, читайте ниже.



Для фиксации оборотов двигателя использую датчик Холла NJK-5002C, при появлении в зоне срабатывания постоянного магнита датчик на выход подаёт сигнал. Магнитные полосы присутствуют на маховике двигателя, приклеивать/прикручивать магниты не нужно.



Для определения температуры двигателя использую водонепроницаемый датчик температуры DS18B20, который вставляется в специальную шайбу под свечу зажигания.



В моей реализации устройства по кнопке циклически переключаются режимы: при включении отображаются обороты, нажали на кнопку — обороты сменились на температуру, ещё раз нажали — температура сменилась на обороты и т.д. по кругу.

Необходимые детали:
Arduino UNO/Nano
Датчик Холла NJK-5002C
Датчик температуры DS18B20
7-ми сегментный дисплей на чипе TM1637
Кнопка без фиксации
Резистор 100 Ом
Макетная плата
Провода

Схема подключения


Поясню один момент в скетче, для чего я использую таймер: так вот, получить данные температуры с датчика (sensor.getTemp()) мы можем только отправив запрос (sensor.requestTemp();) и подождав (delay(1000);). Как всегда delay всё портит и если без таймера опрашивать кнопку в loop, то переключив один раз режим на отображение температуры (сработает delay) — сменить режим мы уже не сможем, т.к. микроконтроллер ждёт и нажатие на кнопку не обработает. Чтобы этого избежать я и опрашиваю кнопку по таймеру.


На видео показано как это всё работает, для установки на мотоцикл я немного не угадал с диаметром датчика NJK-5002C, который будет устанавливаться в корпус инерционного стартера и чтобы всё было ровно, диаметр нужен поменьше, планирую использовать датчик LJ8A3 или LJ6A3. К следующему мотосезону постараюсь всё оформить в какой-нибудь корпус и установить на МиниМото, соответственно по готовности дополню статью фотками и видео.

Ссылка на скетч и библиотеки.

Для тех, кому интересны покатушки на МиниМото, ссылка на канал моего сына на YouTube.
Источник: https://habr.com/ru/post/531534/


Интересные статьи

Интересные статьи

Всем привет. Если вы когда-либо работали с универсальными списками в Битрикс24, то, наверное, в курсе, что страница детального просмотра элемента полностью идентична странице редак...
Много всякого сыпется в мой ящик, в том числе и от Битрикса (справедливости ради стоит отметить, что я когда-то регистрировался на их сайте). Но вот мне надоели эти письма и я решил отписатьс...
Ранее в одном из наших КП добавление задач обрабатывалось бизнес-процессами, сейчас задач стало столько, что бизнес-процессы стали неуместны, и понадобился инструмент для массовой заливки задач на КП.
Но если для интернет-магазина, разработанного 3–4 года назад «современные» ошибки вполне простительны потому что перед разработчиками «в те далекие времена» не стояло таких задач, то в магазинах, сдел...
Всем привет. Продолжаю развивать свой проект по визуализации трендов данных, добавил возможность просмотра в браузере в реальном времени. Кому интересно прошу.