Инструкция, как на arduino (ардуино) можно сделать бортовой компьютер, спидометр и другое

Инструкция, как на arduino (ардуино) можно сделать бортовой компьютер, спидометр и другое

Бортовой компьютер и множество других полезных для авто Arduino-проектов своими руками

Технологии не стоят на месте и сегодня автолюбителям предлагается множество различных вариантов для совершенствования своих «железных коней». Одним из таковых является Arduino. Это устройство представляет собой инструмент, использующийся для проектирования электронных устройств. В случае с автомобилем проектирование обычно осуществляется на лобовое стекло. Как сделать бортовой компьютер на Arduino и как его правильно настроить — читайте в этой статье.

Идеи для авто на основе маленькой платы с маленьким процессором — Arduino

Компы давно и плотно вошли в нашу жизнь. Аппаратная платформа Arduino — это одна из последних разработок с открытым программным кодом, которая построена на обычной печатной схеме. Подробнее о том, как с помощью такой платы сделать разные устройства для авто, мы расскажем далее.

С помощью платы Arduino можно соорудить автомобильный бортовой компьютер, который сможет:

  • рассчитать расход горючего;
  • вывести информацию о температуре антифриза;
  • рассчитать скорость движения, а также расстояние поездки;
  • вывести потраченное горючее за определенный километраж;
  • определить обороты мотора и т.д (автор видео — канал Arduino Tech PTZ).

Помимо устройства Arduino вам также потребуется жидкокристаллический модуль, адаптер Блютуз НС-05, а также сканер ELM327 и резисторное устройство на 10 кОм. Разумеется, необходимо приготовить и звуковой индикатор, монтажные провода и сам корпус устройства.

Процедура сборки осуществляется следующим образом:

  1. Сначала настраиваем Блютуз адаптер. К пинам устройства нужно припаять провода — к двум нижним и верхним контактам.
  2. Сам модуль подключается к плате для настройки, для этого необходимо открыть программу Arduino >Фотогалерея «Схема подключения БК»

GPS-трекер

Чтобы собрать GPS-трекер на базе Arduino, вам потребуется:

  • сама плата, процесс описан на примере модели Mega 2560;
  • модуль GSM/GPRS, который будет использоваться для передачи данных на сервер;
  • а также Arduino GPS-приемник, в примере мы рассмотрим модель SKM53 (автор видео об изготовлении трекера на примере платы SIM 808 — канал Alex Vas).

Как производится подключение схемы:

  1. Сначала осуществляется подключение модуля к основной плате, по умолчанию установлена скорость передачи данных 115200.
  2. После подключения нужно включить девайс и установить одинаковую скорость для всех портов — как последовательных, так и программных.
  3. GSM передатчик подключается к контактам 7 и 8 на основной микросхеме.
  4. Затем производится настройка модуля путем ввода команд. Все команды мы описывать не будем, их и так можно найти в Интернете без проблем. Рассмотрим только самые основные. AT+SAPBR=3,1,«CONTYPE»,«GPRS» — команда определяет тип подключения, в данном случае это GPRS. AT+SAPBR=3,1,«APN»,«internet.***.ru», где *** — это адрес оператора мобильной сети, который будет использоваться. AT+HTTPINIT — по этой команде производится инициализация HTTP.
  5. Нужно отметить один нюанс — при написании серверной составляющей интерфейса, желательно предусмотреть прием и выведение данных для нескольких адаптеров. Нужно установить переключатель на три позиции, это даст возможность получать данные от восьми автомобилей.
  6. Затем производится написание скетча на микросхеме. Сам скетч также можно найти в Сети, писать его необязательно. Учтите, если будут использоваться два активных последовательных порта, это может привести к ошибкам в передачи и отправке информации.

Парктроник

Чтобы соорудить парктроник, вам потребуются такие составляющие:

  • сама микросхема;
  • ультразвуковое устройство, в данном случае это дальномер HC-SR04:
  • шесть светодиодных элементов;
  • шесть резисторных элементов сопротивлением на 220 Ом;
  • соединительные провода типа «папа-папа»;
  • пьезодинамический элемент;
  • макетная схема для сборки.

Элементы для сборки парктроника на Arduino

Процедура сборки выглядит следующим образом:

  1. Для начала на макетной схеме необходимо установить светодиодные элементы, подготовленные заранее. Отрицательный контакт у всех светодиодов будет общим. Короткий контакт — катод — следует подключить к отрицательной шине, которая имеется на макетной плате.
  2. К более длинным контактам диодов, то есть анодам, необходимо подключить резисторные элементы на 200 Ом, если вы не будете их использовать, это приведет к перегоранию диодов.
  3. На центральной части производится монтаж ультразвукового устройства. На этом контроллере есть четыре контакта. Vcc — это контакт питания на пять вольт, Echo — это выходной контакт, Trig — это вход, а GND — это заземление.
  4. После того, как дальномер будет установлен, к его выходам следует подключить проводку. В частности, контакт Echo подключается к выходу 13, Trig — к 12 контакту. GND, соответственно, необходимо соединить с заземлением, которое имеется на схеме контроллера, а оставшийся выход Vcc соединяется с 5-вольтовым питанием на плате Arduino.
  5. После выполнения этих действий нужно соединить проводку с контактами резисторных элементов. А также они подключаются последовательным образом к пинам на плате — используются пины от 2 до 7.
  6. Следующим этапом будет подключение пьезопищалки, которая и будет предупреждать водителя о приближении к препятствию. Минусовой выход, как вариант, можно будет объединить с отрицательным контактом установленного ранее дальномера. Что касается положительного контакта, то он соединяется с пином под номером 11 на микросхеме.
  7. Для того, чтобы устройство в конечном итоге работало в нормальном режиме, дополнительно нужно будет написать, после чего загрузить код программы в плату. В этом коде необходимо точно указать дистанцию, при приближении к которой начнут загораться диодные элементы и будет срабатывать пищалка. Причем тональность пищалки должна быть разной, чтобы водитель мог узнать, когда приближение к препятствию будет критическим. Сам код либо пишется самостоятельно, либо берется уже готовый вариант из Интернета. Вариантов скетчей очень много, вам нужно только выбрать наиболее подходящий для вашего устройства (автор видео — канал Arduino Prom).

Заключение

Как видите, микроплата Arduino — это универсальный вариант, с помощью которого можно создать множество различных девайсов. Помимо вышеописанных устройств, вы также можете соорудить спидометр, который будет выдавать информацию о скорости прямо на лобовое стекло, кнопку старт-стоп, и даже сигнализацию для транспортного средства. В целом вариантов очень много, если подойти к вопросу изготовления самодельного гаджета правильно, то у вас все получится.

Разумеется, для этого вы должны обладать знаниями в области электроники и электротехнике, при этом минимальных навыков, вероятнее всего, будет недостаточно. При изготовлении девайсов вам придется принимать собственные решения, о чем в Интернете может и не быть информации. Поэтому будьте готовы к тому, что процесс сборки может занять достаточно долгое время.

Видео «Как соорудить систему управления электродвигателем печки?»

Из видео ниже вы сможете узнать, как обустроить климат-контроль путем доработки регулятора отопительной системе на примере автомобиля ВАЗ 2115 (автор ролика — Иван Никульшин).

Спидометр для велосипеда на основе Ардуино

В этом уроке мы создадим своими руками простой спидометр для велосипеда на основе микроконтроллера Ардуино. Идея состоит в том, чтобы измерить угловую скорость колеса велосипеда. Таким образом, зная диаметр и математическую легенду Пи (3.14) можно рассчитать скорость. Также, зная количество раз, которое провернулось колесо, можно легко узнать пройденное расстояние. В качестве дополнительного бонуса мы решили добавить световой индикатор на велосипед, – задача состояла в том, когда включить стоп-сигнал.

Шаг 1. Держатель

Для этого проекта очень важно иметь сильный и стабильный держатель нашего Ардуино спидометра. Смысл в том, что велосипед может пострадать от сильного импульса, когда он попадает в дыру или когда вы решаете повеселиться и взять вел в тяжелые условия езды. Кроме того, наши входные данные фиксируется, когда магнит на колесе пересекает датчик эффекта Холла на опоре.

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

Поэтому, чтобы соблюсти все нюансы безопасности, мы решил использовать алюминиевые ленты, так как их можно легко разрезать и просверлить, они устойчивы к коррозии и довольно дешевы, что всегда хорошо для поделок своими руками. Мы также использовали некоторые гайки (с шайбами) и болты, чтобы закрепить держатель на раме, так как всё должно быть надежно закреплено на раме.

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

Шаг 2. Датчик и магнит

Измерение и входные данные проекта основаны на этой части. Идея состоит в том, чтобы поместить магнит на велосипедное колесо и добавить датчик эффекта Холла на раму так, чтобы каждый раз, когда магнит пересекал датчик, Arduino знал, что оборот завершен и он может рассчитать скорость и расстояние.

Используемый здесь датчик – классический датчик с эффектом Холла А3144. Этот датчик понижает свою выходную мощность, когда конкретный полюс направлен в правильной ориентации. Ориентация очень важна, так как внешний полюс не повлияет на выход.

Выше несколько фото, показывающих правильную ориентацию. Также для датчика эффекта Холла требуется нагрузочный резистор 10 кОм, но в этом проекте заменен на нагрузочные резисторы 20 кОм в Arduino.

Тщательное размещение магнита очень важно. Если поместить его немного дальше, это может привести к непоследовательному чтению или отсутствию оборотов, а если расположить его очень близко, магнит может дотронуться до датчика, что не очень желательно.

Шаг 3. Дисплей

Этот дисплей теоретически необязателен, но вам нужно что-то, чтобы отображать скорость и расстояние в реальном времени. Думать об использовании ноутбука совершенно абсурдно. Мы использовали 0,96-дюймовый OLED-дисплей с I2C в качестве протокола связи между ведомым и ведущим устройствами.

Изображения выше показывают три режима, между которыми автоматически переключается Arduino.

  1. “Start” в правом нижнем углу – это когда Arduino только начал работу и успешно загрузился.
  2. Скорость в км/ч. Этот режим отображается только тогда, когда велосипед находится в движении, и автоматически отключается после его остановки.
  3. Последний, с метрами в качестве единиц, очевидно, – расстояние, которое прошел вел. Как только вел останавливается, Arudino переключается на отображение расстояния в течение 3 секунд.

Эта система не идеальна. Он на мгновение отображает пройденное расстояние, даже когда байк находится в движении. Может это не идеально, но это достаточно мило.

Шаг 4. Источник питания

Проект, будучи немного громоздким, не всегда может иметь под рукой розетку для зарядки. Поэтому из-за лени было решено просто использовать блок питания в качестве источника питания и использовать мини-USB-кабель для подключения питания USB от блока питания к Arduino Nano.

Но вы должны тщательно выбрать powerbank. Важно иметь правильную геометрию, чтобы ее можно было легко установить. Также источник питания должен быть немного тупым. Дело в том, что для экономии энергии powerbank предназначен для отключения выхода, если потребление тока не превышает определенного порогового значения.

Скорее всего это пороговое значение составляет не менее 200-300 мА. Наша схема будет иметь максимальное потребление тока не более 20 мА. Таким образом, обычный банк питания отключит выход. Это может привести вас к мысли, что в вашей цепи есть какая-то неисправность. Этот конкретный банк питания на фото выше работает с таким небольшим током.

Шаг 5. Стоп-сигнал (опционально)

В качестве дополнительной функции было решено добавить стоп-сигнал. Вопрос был в том, как определить, когда начался процесс торможения.

Если мы тормозим, велосипед замедляется. Это означает, что если мы рассчитываем ускорение и если оно оказывается отрицательным, можно включить стоп-сигналы. Это, однако, означает, что свет включится, даже если мы просто перестанем крутить педали.

Также мы не добавили транзистор в световую цепь, что абсолютно рекомендуется. Если кто-то сделает этот проект и правильно интегрирует эту часть, мы бы были более чем рады увидеть её и добавили бы картинки сюда. Ток мы получаем напрямую от цифрового контакта 2 Arduino Nano.

Шаг 6. Код проекта

Скачать или скопировать код для спидометра Ардуино вы можете ниже:

Инструкция, как на arduino (ардуино) можно сделать бортовой компьютер, спидометр и другое

Примерно за 25 долларов мы сможем сделать бортовой компьютер, умеющий считать расход топлива, показывать температуру охлаждающей жидкости, скорость авто, расстояние поездки, потраченный за поездку бензин, обороты двигателя, давление во впускном коллекторе, температуру впускного коллектора, УОЗ, коррекции топлива, вольтаж датчиков кислорода, нагрузку двигателя и многое другое. Сброс ошибок доступен в режиме «recovery» (как зайти написано ниже). Общий цикл работы с запросом всех данных из эбу происходит примерно раз в 750 мс. (при условии паузы между запросами в 65 мс, так по умолчанию)

Список требуемых деталей для сборки БК

1) Arduino Uno R3 — 1 шт.

2) LCD2004 жк-модуль

3) Модуль Bluetooth HC-05

4) OBD ELM327 Bluetooth сканер

5) Резистор 10 кОм подстроечный, бипер для звука, 2 кнопки для смены экранов, провода для соединений, корпус

Настройка блютуз модуля HC-05 для работы

Подпаиваем провода к пинам блютуза: (картинку с выходами смотреть в описании требуемых деталей)

  • 1 — это TX
  • 2 — это RX
  • 12 — это 3.3V
  • 13 — это GND
  • 34 — на этот вход тоже кидаем 3,3 V (нужен для перевода модуля в режим настройки с помощью AT команд).

Подключаем блютуз модуль к ардуине для его настройки

  • 1 — TX модуля в 6 пин ардуины. (внимание будет TX в TX это не ошибка!)
  • 2 — RX модуля в 7 пин ардуины. (аналогично не ошибка!)
  • 12 — и 34 пин к 3,3V ардуины.
  • 13 — GND ардуины.

  • 1 — TX модуля в 6 пин ардуины. (внимание будет TX в TX это не ошибка!)
  • 2 — RX модуля в 7 пин ардуины. (аналогично не ошибка!)
  • 12 — и 34 пин к 3,3V ардуины.
  • 13 — GND ардуины.

Открываем Aduino IDE 1.0.6 (использовал эту версию) и заливаем скетч через USB порт в плату.

#include
SoftwareSerial BTSerial(6, 7); // TX | RX
void setup()
<
Serial.begin(9600);
Serial.println(«Enter AT commands:»);
BTSerial.begin(38400);
>

void loop()
<
if (BTSerial.available())
Serial.write(BTSerial.read());
if (Serial.available())
BTSerial.write(Serial.read());
>

После успешной загрузки скетча открываем: Сервис->Монитор порта. Далее снизу ставим скорость 9600 бод и NL+CR вместе.

Далее вводим команды по одной и нажимаем [Послать]. После каждого ввода должен быть ответ ok.

AT // (возможно 1 раз вылетит Error, не пугайтесь… это нормально, повторите опять)
AT+NAME=Car //Присваиваем имя модулю Car
AT+ROLE=1 // Переводим модуль в режим Мастер
AT+PSWD=1234 // Ставим пароль 1234 как на OBD ELM327
AT+BIND=AABB,CC,112233 //Прописываем Mac адрес OBD ELM327.
AT+CMODE=1 // Подключение модуля с фиксированным адресом

Заметьте, что mac-адрес вида: «AA:BB:CC:11:22:33» вводится как «AABB,CC,112233». MAC- адрес своего модуля ELM327 можете посмотреть, подключившись для начала на него со своего мобильника. (Стандартные пароли обычно: 1234, 6789, 0000).

Всё, настройка модуля Bluetooth закончена.

Теперь нужно собрать схему Arduino + блютуз + LCD-экран

1.Начнем с подключения HC-05 Bluetooth модуля.

  • 1 — TX модуля засовываем в 7 Pin (Rx) арудины (именно TX в RX, не так как ранее);
  • 2 — RX модуля засовываем в 8 Pin (Tx) арудины;
  • 12 — Pin (3,3V) модуля в Pin 3,3V ардуины;
  • 13 — Pin (Gnd) в Gnd арудуины;
  • 34 — Pin мы никуда не подключаем (заизолируйте или отпаяйте).

2. Подключаем монитор LCD.

  • VSS экрана к GND ардуины;
  • VDD экрана к 5V ардуины;
  • V0 экрана к центральному выходу резистора;
  • RS экрана к 12 пину ардуины;
  • RW экрана к GND ардуины;
  • E экрана к 11 пину ардуины;
  • DB4 экрана к 5 пину ардуины;
  • DB5 экрана к 4 пину ардуины;
  • DB6 экрана к 3 пину ардуины;
  • DB7 экрана к 2 пину ардуины;
  • A — к 5V ардуины;
  • K — GND ардуины.

Одну из оставшихся ног потенциометра пустить на GND ардуины.

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

3. Подключаем дополнительную кнопку для переключения экранов с данными.

[1 кнопка]: один конец от нормально-открытой кнопки подключаем в GND ардуино, а второй конец в пин 10.
[2 кнопка]: GND + пин 9.

Бипер для звуковых предупреждений подключить по следующей схеме «+» к пину 13, а минус к GND ардуино.

Заливаем скетч в Arduino с помощью Aduino IDE 1.0.6 (использовал эту версию).

Единственное, в скетче присутствуют переменные, которую нужно подправить.

Нужно будет обязательно учесть три переменных:

1) ED=1.998 Например объем двигателя в литрах 1.398;
2) VE_correct=1.0; Корректировка объёмного КПД ДВС по таблице: (если расход реально меньше — то уменьшаем значение в процентном соотношении). Если не хотите калибровать добейтесь чтобы при прогретом двигателе мгновенный расход в л/час был в районе половины обьема двигателя;
3) tcorrect=1.014 (калибровка времени).
4) delay_var=65 Время паузы между запросами в ЭБУ, в дастере например все работает уже на 65 мс, а в старом chrysler cirrus надо аж 235 мс ставить.
5)speed_korrect_val=1; Корректировка скорости машины, смотреть по GPS/

Возможно, Arduino будет не точно считать время с помощью комманды millis()… Тут только вручную корректировать значение. На экране «технологический 2» будет указаны секунды: например, time_start: 23. Сравните значение с реальным. Для примера засеките 10 минут, когда значение time_start будет, например, равно 23. И выйдет, что через 600 секунд реально покажет 605. Итого 623-605=18 секунд отставание в ардуинке. То есть поправочный коэффициент tcorrect будет равен 623/605=1,02975.

Управление

[Кнопка 1], [кнопка 2] — листать экран вперед назад.
При включении при надписи «Connecting»… держать [кнопку 1] вход в режим показывания технологических экранов и параметров отдаваемых ЭБУ в 16-чном формате. Если будете включать БК не в машине то нужно отключить функцию опроса блютуз, надо продолжать держать две кнопки при надписи «Recovery»… до появлении надписи «All off»… а то экран будет все время пустой.

[Кнопка 1] + [кнопка 2]: 4 секунды — Сброс журнала общего пробега и потраченного бензина на втором экране, также это сброс ошибок на экране информации об ошибках.

Скетч:

(по умолчанию настройки в скетче на Рено Дастер 2.0)

Все, идем в машину, вставляем ELM327 в порт, ардуину в зарядку для авто и проверяем.

UPD 06.02.15: Обновлен расчет MAF по изменяемой объемной эффективности VE согласно графика при которое VE зависит от оборотов двигателя.
UPD 05.03.15: Переделан режим записи в EEPROM данных журнала пробега и расхода. Теперь данные записывает при низкой скорости от 1 до 9 км/час раз в 30 секунд, а при заведенном двигателе но скорости 0 км/час, раз в 10 секунд.
UPD 04.03.15: Обновлен режим «торможение двигателем», теперь срабатывает по нагрузке двигателя, работает корректнее чем по Fuel System Status. Расход топлива теперь изменяется по топливным коррекциям Long и Short. Также добавлено множество других правок.
UPD 26.02.15: Добавлен звуковой бипер. Если температура двигателя выше 102 градусов то вывести предупреждение о высокой температуре на экран и прогудеть бипером, так же будет звук при появлении ДжекиЧана
UPD 25.02.15: Добавлены экраны датчиков кислорода B1S1, B1S2.
UPD 24.02.15: При включении БК проверяет есть ли ошибки двигателя. При их наличии пишет сколько ошибок в двигателе, и показывает код ошибки. Сброс доступен в режиме рекавери.
UPD 23.02.15: Добавлен экран топливной коррекции.
UPD 22.02.15: Добавлен экран очистки ошибок в режиме recovery. Для очистки ошибок зажать обе кнопки на 4 секунды.
UPD 19.02.15: Добавил журнал общего пробега и потраченного бензина. Сброс — обе кнопки подержать 3 секунды.

Про параметр Fuel system status:

Для него нормальные показания это Closed loop (2).
Но иногда можно увидеть там open loop (1). Это значение можно увидеть в трех случаях:
1) автомобиль холодный и датчик кислорода еще не прогрелся
2) сильное нажатие на педаль газа и прекращение коррекции по ДК с целью достижения макс. мощности
3) прекращение подачи топлива при отпускании педали газа на скорости на передаче.

Про Обьемный КПД двигателя

Объёмный КПД двигателя внутреннего сгорания отражает эффективность всасывания в цилиндр и выпуска из цилиндра рабочей среды (то есть, топливо-воздушной смеси или выхлопных газов). Говоря более строго, объёмный КПД — это отношение (или процентное соотношение) количества рабочей среды, фактически всасываемой в цилиндр, к объёму самого цилиндра (при неизменных условиях). Поэтому те двигатели, которые могут создавать давления на входах в трубопроводы выше давления окружающей среды, могут иметь объёмный КПД больший 100 %.

VE изменяется в зависимости от оборотов, и дроссельной заслонке согласно найденной информации и в машинах для него вообще есть настоящие 3D таблицы:

Нашел график изменения в гугле и попытался воспроизвести хотя бы грубо его изменение.

Вот такой вот график получился! =))) ( кто сможет точнее дать данные для более точного графика буду рад, информации особо не нашел сколько не искал.)

Велосипедный спидометр на Arduino

Представляю проект велоспидометра, который позволяет следить за скоростью езды на велосипеде при помощи Arduino. Для измерения скорости вращения одного колеса используется магнитный выключатель (также называемый геркон). Контроллер Arduino рассчитывает скорость и выводит эту информацию на ЖК-дисплей, закрепленный на руле. Устройство совместимо с любым велосипедом/колесом, необходимо только ввести радиус колеса в прошивку для калибровки.

Список деталей:
(1x) Arduino Uno REV 3.
(1x) Геркон.
(1x) 10КОм 0.25Вт резистор.
(1x) Батарея 9В.
(1x) Разъемы для 9В батареи.
(1x) Макетная плата.
(1x) ЖК-дисплей с подсветкой Parallax 27977-RT.
(x2) Тумблер.
(2x) BLS штырьки.
(1x) BLS разъемы.

Дополнительные материалы:
Провод №22.
Припой.
Наждак.
Фанера.
Столярный клей.
Термоклей.
Винты.
Кабельные стяжки.

Принципиальная схема

На схеме есть три тумблера:
– первый на линии питания 9В.
– второй для включения и выключения подсветки ЖК-дисплея.
– и один магнитный выключатель (так называемый геркон), который замыкается каждый раз, когда колесо совершает один полный оборот.

Parallex LCD подключается к Arduino при помощи только трех контактов: 5В, GND и последовательного цифрового выхода (TX) – 1 контакт Arduino.

Резисторы 10 кОм подключены к геркону и выключателю подсветки во избежание избыточного тока между 5В и GND Arduino.

Припаяйте на макетную плату три линии BLS штырьков как показано на фотографии для подключения Arduino.

Геркон

Магнитный выключатель состоит из двух частей: геркона и магнита. У геркона есть контакты, которые механически замыкаются внутри него при приближении магнита.

Припаяйте токоограничительный 10кОм резистор между A0 и GND на макетной плате. Припаяйте длинные провода к А0 и 5В – они будут проведены по велосипеду и подключены к геркону.

Установка геркона на колесо

Установите магнит и геркон на ваш велосипед при помощи изоленты (подходит любое колесо). Как видно на фотографии, магнит установлен на одну из спиц колеса, геркон на раму велосипеда. То есть каждый раз, когда колесо делает полный оборот, магнит проходит мимо геркона, замыкая его. Подключите к геркону провода, ранее припаянные к плате. Геркон неполярный, поэтому как его подключать – не имеет значения.

Используйте код приведенный ниже для проверки. Когда магнит на колесе будет проходит мимо геркона, Arduino будет выдавать значение

1023, в противном случае значение будет

0. Откройте Serial Monitor (монитор последовательного порта) (Tools >> Serial Monitor) в Arduino IDE, чтобы проверить это. Если магнит не влияет на геркон, попробуйте переставить его или использовать более мощный.

Прошейте Arduino. Включите Serial Monitor (монитор последовательного порта). Он должен показывать 0.00. Начните крутить колесо, и вы увидите скорость миль/ч, изменяющуюся каждую секунду.

ЖК-дисплей

Я использовал ЖК-дисплей с последовательным интерфейсом.
Припаяйте линию BLS разъемов на обратную сторону (с контактами) макетной платы. Три разъема будут использоваться для подключения ЖК-дисплея. ЖК-дисплей хорошо в станет в эти разъемы.

Подключите 5В, GND, и TX (1 цифровой вывод Arduino) от Arduino к разъему дисплея. Смотрите на подпись выводов ЖК-дисплея, чтобы сделать всё правильно.

В нижней части ЖК-дисплея Parallax есть два переключателя и потенциометр. Потенциометром контролируется контрастность дисплея. Для правильной работы переключатели должны быть установлены как на фотографии.

Для тестирования ЖК-дисплея используйте следующий код. Почему-то на моем ЖК-дисплее начинают появляться случайные символы во время прошивки, но они исчезают после того, как я пере подключаю USB-кабель. Я думаю, что это является помехой при связи Arduino с компьютером через 1 цифровой контактный (TX) во время прошивки.

При включении на ЖК-дисплее должна отображаться надпись “Hello World”.

Подключите тумблер как показано на фотографии. Припаяйте резистор 10 кОм и зеленый провод к одному контакту, а красный провод к другому.

Подключите красный провод к 5В Arduino и к GND через резистор, а зеленый провод к D2.

Программа

Прошейте Arduino скетчем, который вы можете скачать внизу статьи. Убедитесь, что подсветка включается и выключается, а скорость отображается правильно. (Возможно, вам придется переподключить Arduino для корректной работы).

Измерьте радиус колес (в дюймах) и вставить его в строку: float radius = “”‘;

Я использовал прерывания по таймеру. Для отображения скорости в км/ч необходимо внести корректировку в программу.

Батарея

Соедините разъем для батареи и тумблер последовательно, как показано на фотографии. Подключите красный провод от выключателя к Vin Arduino, а черный провод от разъема для батареи к GND Arduino.

Корпус

Я вырезал корпус для своего проекта при помощи 1/4″ лазерного резака 120 Вт. Размеры корпуса 3,5″x4″x2″. Я смоделировал корпус в AutoCAD и сделал файлы для лазерной резки (с шиповым соединением) в Autodesk 123D Make. Затем я добавил два отверстия для тумблеров и прямоугольное отверстие для ЖК-дисплея. Также добавил несколько отверстий в нижней части корпуса для облегчения крепления к велосипеду.

Далее, склеил корпус древесным клеем, и отшлифовал края. Закончив корпус, я покрыл его лаком.

Установка компонентов в корпус

Закрепите тумблеры на корпусе при помощи гаек. Приклейте или привинтите ЖК-дисплей с внутренней стороны передней панели. Установите макетную плату, Arduino и батареи в корпусе и закрепить при на липучках или клее.

Оберните провода от геркона вокруг рамы, избегая движущихся частей велосипеда. Я использовал кабельные стяжки для крепления спидометра к рулю.

Теперь вы можете выезжать с этим спидометром, однако при движении не отвлекайтесь от дороги!

Читать еще:  Как поменять ремень генератора на lada priora своими руками: инструкции с фото
Ссылка на основную публикацию
Adblock
detector