Спидометр-одометр на arduino? Без Опыта!
- Войдите на сайт для отправки комментариев
Втр, 21/07/2015 - 02:53
Здравствуйте. Скажите пожалуйста, есть датчик спидометра 12В который передает импульсы от КПП на спидометр и тот показывает скорость и пробег. На основе этого датчика ипмульсного строятся все альтернативные спидометр-одометры. Как эти импульсы передать в контроллер чтоб тот понял что это скорость и пробег?
В программировании, электронике и arduino не понимаю ничего. Можете есть тестовая программа где можно смоделировать? Сначала написать программу, проверить ее как-то, а потом закупить детали. Спасибо!
Считать импульсы
С чего начать? скачать прогу какую то?
С чего начать? скачать прогу какую то?
Калькулятор разве что. Тыкать в него пальцем и считать как быстро тыкается...
Смотрю урок https://www.youtube.com/watch?v=bO_jN0Lpz3Q
Скажите есть два МП по заманчивой цене. Они подойдут для спидометра-одометра (+еще чего)?
Ардуино Уно Р3 Arduino UNO R3 2014
arduino pro mini atmega328 5v 16MHz
Они все не дороже 15 баксов нынче. А рисовать цифры они будут тнплым воздухом на запотевшем лобовом стекле?
да нет. эти 2.5 уе и 4.5 уе (15 уе дорого мы беженствуемс) цифры рисовать - семисегментные индикаторы (2-5 уе.)
Чего вы делаете? ааммм и тоесть вот вдруг никакой жизни не стало без цифрового спидометра?
Беженствуемс)). лучше клацать ПК и ардуино чем купить 3-4 бутылки водки в месяц. поломался мой спидометр а б/у стоит 6.5-7 уе. тоже что аруино ну ардуино может выйдет по дороде до 7-14 уе. но лучше иметь вещ чем пустые бутылки))
Беженствуемс)). лучше клацать ПК и ардуино чем купить 3-4 бутылки водки в месяц. поломался мой спидометр а б/у стоит 6.5-7 уе. тоже что аруино ну ардуино может выйдет по дороде до 7-14 уе. но лучше иметь вещ чем пустые бутылки))
Э не, за советскую власть агитировать не нужно. Это выбор каждого кто че покупает водку или ардуино. Нас тут такими дешевыми пантами не разведешь. Нам тут параллельно будуте вы бухать или паяльк курить.
Что уно. Что про мини. Камень один. Но к про мини нужно еще узб-уарт покупать.
Все это напрямую не запитаете от машины. Саиое дешовое зарядник для мобилки в прикуриватель раскурочить. Плюс провода. Плюс датчик 12 вольт в ардуино не засунуть напрямую. Нужно колдовать с бубнами.
А кто будет програмить вообще не понятно.
Так что по итогу водка выходит дешевле.
тогда не спрашивайте то о чем вам безразлично. мне надо спидометр-одометр все останльное зачем, почему не важно. вот теперь дочитал пойду выпью водовки. проще снимать скорость с GPS но очень дорогой датчик GPS. Коды нашел народ делает что-то.
https://www.drive2.ru/communities/941/
Измерение частоты с помощью Arduino (спидометр и тахометр) ч.2https://www.drive2.ru/c/1836582/
Ардуино Уно Р3 Arduino UNO R3 2014
Напряжение питания (рекомендуемое): 7-12В
В вело-ПК скорость снимается герконом+магнит. Ставят на машину. Но там тусклый, маленький экран и еще что-то поудмать надо. Магнит можно поставить не на диск-колесо как ставят а на кардан а геркон рядом. Главное чтоб магнит не намагнитил все вокруг. В вело-пк можно колибровать показания в зависимости от диаметра колеса.
Дочитал, пойду выпью чаю.
датчик Холла почитай. Вариантов как считать обороиы ввгон и тележка. А аот как считать скорость без gps это вопрос. Куда датчик присоединять? На кардан?
Геркон на кузов а магнит на кардар. http://pixs.ru/showimage/Foto0911jp_8708156_18105347.jpg
Делай. Пробуй. Или тебе благословление нужно? Могу канифолью окурить и паяльник горячий дать поцеловать.
Путь считается количеством импульсов, а скорость считается количество импульсов в единицу времени, или по обратной величине - длительность между импульсами. Можно считать мгновенную скорость, а можно еще и среднюю. Нужны еще часики или по внутреннему счетчику микроконтроллера считать. Вполне можно без GPS.
Путь считается количеством импульсов, а скорость считается количество импульсов в единицу времени, или по обратной величине - длительность между импульсами. Можно считать мгновенную скорость, а можно еще и среднюю. Нужны еще часики или по внутреннему счетчику микроконтроллера считать. Вполне можно без GPS.
Мдааа а на коробку скоростей наплюем?
Импульсы надо брать не с движка, а с колеса или кордана, с того что крутится в одной пропорции с пройденным расстоянием. На велике, например, с оборота колеса.
Импульсы надо брать не с движка, а с колеса или кордана, с того что крутится в одной пропорции с пройденным расстоянием. На велике, например, с оборота колеса.
с земного шарика нужно брать импульсы - он же вращается, пропорционально пройденному авто расстоянию?
т.е. GPS - это же очевидно!
т.е. GPS - это же очевидно!
Вернулся домой с объекта. От делать нечего перед этим включил GPS на телефоне, узнать расстояние. Дома забыл выключить. Вспомнил через пару часов. Телефон в квартире спутники потерял, но продолжал считать. Вместо километра насчитал 37 километров, да еще и маршрут на карте нарисовал, будто бы я уже за городом и прошел две деревни.
Фигня Ваш GPS :)
Фигня Ваш GPS :)
Ты бы еще чайник для gps использовал. Купи хороший телефон.
Ладно...куплю. Буду везде измерять расстояние.
Ладно...куплю. Буду везде измерять расстояние.
Мы тут приложение тестируем для своего "жирного енота". Даже в доме gps нормально пингуется.
Вернулся домой с объекта. От делать нечего перед этим включил GPS на телефоне, узнать расстояние. Дома забыл выключить. Вспомнил через пару часов. Телефон в квартире спутники потерял, но продолжал считать. Вместо километра насчитал 37 километров, да еще и маршрут на карте нарисовал, будто бы я уже за городом и прошел две деревни.
Фигня Ваш GPS :)
теперь ты понимаешь, почему вместо Москвы американская ракета попадёт в твою деревню - операторы по объектам шариться будут, а затем маршрутками домой добираться, ракета спутники потеряет и звиздец.
*Сусанин - наше всё!
Врать не буду, мой телефон с GPS_ом не очень дружит, даже на улице спутники теряет. Да и хрен с ним, мне небольно-то и надо. Зато зарядку 2 недели держит.
включать пробовал?
Нет..........а что , нужно включать?
Нет..........а что , нужно включать?
А если звонить, то вообще батарея разряжается.
тут сказали как подключить датчик 12в в андурино http://www.drive2.ru/c/1751175/.
но что там нарисовано темные лес.
тут сказали как подключить датчик 12в в андурино http://www.drive2.ru/c/1751175/.
но что там нарисовано темные лес.
Для нас не секрет как подключить хоть реактивный двигатель. Не понятно только как это вам поможет.
если у меня будет инструкция по сборке что надо купить датчик (хола), ардутино, провода, экран, скопитьвать туда прогу которая уже написана (чтоб велик не придумывать) то я запущу спидометр и будет показывать скорость и пробег и будет все хорошо.
если у меня будет инструкция по сборке что надо купить датчик (хола), ардутино, провода, экран, скопитьвать туда прогу которая уже написана (чтоб велик не придумывать) то я запущу спидометр и будет показывать скорость и пробег и будет все хорошо.
Красиво. Но мало вероятно!
Пробуй
Почему мало вероятно? По схеме что видно? Что куда подключать?
Ух ты! http://www.drive2.ru/c/1724348/ Виртуальная Arduino в браузере
http://forum.cxem.net/index.php?showtopic=142449&st=0
мне надо спидометр-одометр
Несколько прототипов спидометра-одометра с разным выводом инфы:
http://blockduino.blogspot.com/search/label/BikeSpeedometer
Подниму темку немного. Есть ардуино нано, есть Nextion. Надо написать одометр, спидометр пашет.
Пока думал сделать так.
На некстионе создаётся переменная. Каждые 600 импульсов ардуино записывает в эту перменную значение 1. Некстион считывает и записывает туда 0. В момент считывания к пробегу прибавляется 100 метров. Со стороны некстиона всё работает как часы, через терминал руками. Чё бы не считать ардуиной и не отправлять в некстион готовые знаения? Из-за сброса пробега. Придётся тащить ещё один провод, чтоб экран отправлял в ардуино сигнал на сброс. А тут он всё считает сам и при необходимости сброса - всё сбрасывается внутри некстиона.
Но есть трудность с ардуиной.
Сейчас код спидометра выглядит так
Код отправки выглядит так
Но нифига не работает. Если через терминал выводить значение impulse, то оно прибавляется вроде даже, но совершенно не пропорционально импульсам на входе. Скорость совершенно нормально считывается и выводится.
И ещё складывается ощущение, что ардуина безумно тормозит во время работы. Все задержки (антидребезг, долгие нажатия и т.д.) существенно больше, чем установленные значения. Если что - delay'ев нету в коде. Может она тормозить из-за того, что по Serial постоянный поток данных идёт? Скорость 9600.
Блин, ступил. impulse должна быть volatile, так как переменная в attachInterrupt. В понедельник проверю на плате.
http://arduino.ru/forum/programmirovanie/posovetuite-po-avtomobilnomu-spidometru
Работает на машине. Датчик стандартный жигулёвский. Только суточник мозги выносит, нет вдохновения допилить. Схема там есть, прога есть.
Спасибо, почитаю. Собственно видимо общий пробег буду храть в ардуине и выплёвывать его на дисплей, а суточный пусть дисплей сам своими средствами считает, благо мозгов для этого у него хватает. Жаль версия дисплея без EEPROM, а то и общий хранил бы там, благо большие числа пишутся без бубна.
Опять нужна помощь сообщества. Всё написал, всё работает, но скачет скорость по физическим причинам (люфт в редукторе заднего моста). Надо усреднять значения. Сделал счётчик, который считает количество импульсов и завязал его на скорость, т.е.при скоростях до 10 км/ч выдаёт скорость напрямую без усреднения, до 20 усреднение по 2 импульсам, до 30 по 3 и т.д. Чем больше скорость, тем больше измерений для усреднения берётся. Код выглядит так
Всё работает, если скорость меняется относительно плавно (проверяю пока на генераторе импульсов), но если её поменять резко, то что-то происходит и CurrentSpeed замирает на каком-то последнем значении и перестаёт меняться. В чём дело?
В чём дело?
1. В том, что математическое как бы "усреднение", при таком алгоритме, происходит ПОСЛЕ полных N циклов. Где N - кол-во циклов для усреднения.
А до наступления этого значения - показывает "морковкины загвины".
См. строку "
speedratio = ((MomentSpeed / 10) + 1);
"То есть берем 0,1 от величины MomentSpeed и прибавляем к ней ЕДЕНИЦУ.
И какой физический смысл полученного значения в speedratio?
2. Лучше 3-ю строку (в приведенном коде) переместить ПЕРЕД 12-й строкой, самом конце процедуры.
3. А еще попробуй рывком снять сигнал "с датчика" (генератора). Если правильно "прочитал" код, то будешь тоже удивлен и не приятно.
Ну получим 1,1 MomentSpeed, я полагал, что поскольку значение является int, то дробная часть просто отбросится и останется 1. Что и соответствует выводу скорости напрямую без усреднения.
Про рывком снять ты говоришь в том плане, что на ноль не переключится? Это я в курсе, там для формирования 0 на этот случай отдельный кусок кода будет.
Резонный вопрос: - А зачем тогда процессор напрягать лишними арифметическими действиями?
Типа он железный, пусть и работает. ;-)
И где тогда происходит "усреднее" в приведенном выше фрагменте кода?
Не только когда на входе отсутствуют импульсы. Но и при низких значения "скорости" будет "недосчитываться" по той же причине, что и не сбрасывается в ноль.
Резонный вопрос: - А зачем тогда процессор напрягать лишними арифметическими действиями?
Типа он железный, пусть и работает. ;-)
Он суммирует скорость за speedcount измерений и делит на количество этих измерений. Результаты (CurrentSpeed) и будут усредненной скоростью.
Написал условие. Видимо действительно мозгов не хватает плате. Если кратность ставить выше 5, то сваливатся начинает время от времени. Оставил 5, думаю этого вполне достаточно, хотя на больших скоростях я бы и 20 влепил.
Поставил на машину - какая-то хрень опять, как будто переполняется что-то, работает пару кругов вокруг гаражей и начинает сходить с ума, перезагружаю ардуину кнопкой опять хватает на пару кругов