[Разработка под Arduino, DIY или Сделай сам] Тахометр + температура двигателя на Arduino для МиниМото

Автор Сообщение
news_bot ®

Стаж: 6 лет 7 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
06-Дек-2020 16:31

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

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

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

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

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

SPL


Поясню один момент в скетче, для чего я использую таймер: так вот, получить данные температуры с датчика (sensor.getTemp()) мы можем только отправив запрос (sensor.requestTemp();) и подождав (delay(1000);). Как всегда delay всё портит и если без таймера опрашивать кнопку в loop, то переключив один раз режим на отображение температуры (сработает delay) — сменить режим мы уже не сможем, т.к. микроконтроллер ждёт и нажатие на кнопку не обработает. Чтобы этого избежать я и опрашиваю кнопку по таймеру.
Извините, данный ресурс не поддреживается. :(
На видео показано как это всё работает, для установки на мотоцикл я немного не угадал с диаметром датчика NJK-5002C, который будет устанавливаться в корпус инерционного стартера и чтобы всё было ровно, диаметр нужен поменьше, планирую использовать датчик LJ8A3 или LJ6A3. К следующему мотосезону постараюсь всё оформить в какой-нибудь корпус и установить на МиниМото, соответственно по готовности дополню статью фотками и видео.
Ссылка на скетч и библиотеки.
Для тех, кому интересны покатушки на МиниМото, ссылка на канал моего сына на YouTube.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_razrabotka_pod_arduino (Разработка под Arduino), #_diy_ili_sdelaj_sam (DIY или Сделай сам), #_arduino, #_tahometr_arduino (тахометр arduino), #_minimoto (минимото), #_minibajk (минибайк), #_xwp09, #_njk5002c, #_ds18b20, #_tm1637, #_lj8a3, #_lj6a3, #_tahometr_minimoto (тахометр минимото), #_tahometr_minibajk (тахометр минибайк), #_razrabotka_pod_arduino (
Разработка под Arduino
)
, #_diy_ili_sdelaj_sam (
DIY или Сделай сам
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 28-Сен 09:19
Часовой пояс: UTC + 5