Njk 5002c подключение arduino

Тахометр + температура двигателя на 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.

Источник

Удаленное управление Arduino с помощью ИК сенсора

В качестве приемника мы будем использовать ИК датчик VS1838b (https://www.yourduino.ru/product/infrakrasnyy-datchik-vs1838b). Работает он на частоте 38 кГц, напряжение питания: 2.7-5.5 В, максимальный потребляемый ток 1.5 мА, угол приема сигнала 90 0 . Заявленная дальность — до 20 метров прямой видимости.

Управлять мы будем трехцветным RGB-диодом с общим катодом. На каждую ногу повесим резистор номиналом 220 Ом, чтобы ограничить ток, протекающий через диоды. Также понадобится макетка и набор соединительных проводов. Пульт управления, я думаю, у вас найдется и не один. Ну и, конечно, сама плата Arduino.

Собираем всю конструкцию по схеме:

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

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

Замечания по коду:

  • Библиотеку IRremote.h искать в интернете не надо. Необходимо её установить из меню управления библиотеками.
  • Код отслеживает только одиночные нажатия. Если зажать кнопку на пульте, то сперва выведется код кнопки, а после этого сразу же код повтора.

Так как нам нужно управлять 3 диодами (красным, голубым и зеленым), то для этого мы задействуем 3 кнопки на пульте: «1», «2» и «3». И еще одну большую красную кнопку, чтобы все диоды погасить.

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

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

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

Вот так просто можно подключить инфракрасное управление Ардуинкой. Это способ может быть задействован в разных проектах. К примеру, управление роботом или включение/отключение какого-либо устройства.

На этом все! Спасибо за внимание. Надеюсь, что статья была для вас полезной, а вы смогли почерпнуть для себя много нового и интересного😊 До скорых встреч.

Источник

Подключение ЖК дисплея LCD1602 к Arduino

При проектировании устройств на базе Arduino и отладке программной части зачастую удобно пользоваться «Монитором порта», встроенным в среду разработки Arduino IDE. В «Монитор порта» можно выводить всевозможную информацию: показания датчиков, значения переменных, информационные сообщения и т. п. При сборке готового устройства приходиться задумываться об устройствах индикации и вывода информации. В первую очередь для возможности автономного использования устройства и конечно для придания законченного вида своему творению. Проще всего для вывода информации использовать различные дисплеи, ведь они для того и созданы. Для несложных проектов идеальным решением будут дисплеи серии LCD1602. Эти небольшие дисплеи очень часто встречаются в электронных самоделках. Но можно их встретить и в промышленных образцах. Давайте узнаем о них побольше, попробуем их подключить и вывести на экран какое-нибудь сообщение.

Немного технических сведений: символы будут выводиться на жидкокристаллический дисплей в 2 ряда по 16 символов. Отсюда и название LCD1602. В память встроено 192 знака размером 5 на 8 точек. Еще 8 знаков может определить сам пользователь. Стоит учитывать, что в большинстве модулей нет поддержки русского алфавита, но эту проблему решить довольно просто, используя расширенные библиотеки.

Так выглядит модуль LCD1602 сверху:

А это фото с другой стороны:

LCD1602 подключается к Arduino «ужасно» просто. Посмотрите на рисунок ниже и убедитесь в этом сами.

Всего-то 12 проводов плюс один переменный резистор для регулировки контрастности. В итоге задействовано целых 6 портов ввода-вывода Arduino, не считая выходов питания. Кому как, но где же обещанная простота? А упростить схему можно, если совместно с модулем дисплея мы будем использовать модуль конвертера I2C.

Протокол I2C позволяет подключать одновременно до 127 устройств, используя минимум проводов. Можно провести аналогию с протоколом USB. По нему также можно подключить большое количество устройств использую систему usb-хабов.

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

Вот это уже намного проще и удобнее. Следует учесть, что при использования протокола I2C используются аналоговые порты A4 и A5 (для Arduino UNO и NANO). Для Arduino Mega2560 и Due будут использоваться порты 20 и 21. Для других плат смотрите документацию.

К порту арудинки А4 подключается вывод, обозначенные на модуле SDA. К порту А5 — SCL. Питание подключается как обычно.

ВНИМАНИЕ! Всегда проверяйте подключение. Ваш модуль и модуль на схемах не всегда имеют одинаковую распиновку.

Вернемся к протоколу I2C. Число одновременно подключенных устройств большое, сигнальных проводов всего 2. Как Arduino узнает, с каким устройством она должна работать? Всё просто, у каждого устройства имеется свой адрес, и этот адрес передается вместе с определенной командой. А где взять адрес для наших дисплеев?

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

Подключаем экран, заливаем наш скетч в Arduino, подключаемся к мониторингу порта, и, в случае успеха, увидим следующую картину:

Видим, что одно устройство найдено. Запоминаем адрес. А лучше запишите его на скотче и приклейте на модуль дисплея. Обратите внимание, что мы получили адрес не самого дисплея, а адрес I2C конвертера, через который мы дисплей подключаем При необходимости адрес конвертера можно изменять путем впаивания перемычек на контакты A0, A1, A2 конвертера, но об этом ниже.

Вот теперь мы можем попробовать вывести какое-нибудь сообщение на наш маленький экранчик.

Опять же, код минимальный, не забываем про библиотеку LiquidCrystal_I2C.h

Заливаем скетч в плату и, если всё хорошо, то должна появиться надпись «Hello, world!” в первой строке и «That is me.” во второй. Если строки не появились, а экран темный, то, скорее всего, необходимо отрегулировать контрастность. Переворачиваем сдвоенный модуль. Увидим следующую картину:

Нам интересен переменный резистор: синий пластмассовый кубик, а в нем крест. На фото в правом верхнем углу. Обведён красным. Покрутите его отверткой и добейтесь приемлемого уровня яркости экрана. Ну и все контакты стоит проверить. Раз уже мы смотрим на обратную сторону сдвоенного модуля, то еще два момента.

  1. Джампер слева — позволяет отключить подсветку.
  2. Площадка из 6 контактов A0, A1, A2 — позволяет изменить адрес модуля I2C. Для смены адреса необходимо впаять перемычку, соединив контакты любого вертикального ряда. Комбинировав перемычки можно получить 8 разных адресов. Нужда в этом возникает, когда есть конфликт адресов. К примеру, вы подключаете 2 и больше экрана. Чаще всего они будут иметь один адрес. Сменив адрес, мы решим это проблему. После получения нового адреса необходимо будет заново пересканировать адреса для получения нового. Кстати, все экраны необходимо подключать параллельно друг другу. При этом не важно: сколько подключено модулей: один, два или три. Задействовано будут всего два порта ардуино, и два порта питания. В этом огромное удобство I2C. Надеюсь, всё было понятно.

На этом наша статья подходит к концу. Всем удачного программирования и изучения Arduino!

Источник

Arduino.ru

Как подключить датчик, если напряжение сигнала больше 5В

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

Имеется датчик Холла njk-5002c, у него напряжение питания 6-36В, и на сигнальном проводе соответственно тоже напряжение

Как правильно подключить сигнальный провод с напряжением больше 5В к ардуино?

можно ли сигнал пустить через резистор?

Заранее спасибо за ответы

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

Через резистор нельзя.

В зависимости от прочих условий, либо — через делитель, либо — через гальваническую развязку.

Ну и, само собой, правильный ответ зависит от типа датчика, прежде всего — цифровой или аналоговый.

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

AndreyOs , датчик с открытым коллектором. Оптопарой развяжите и будет щастье. Это значит выход к катоду (в случае PC817 вывод 2) а +питания к аноду через резистор, на другой стороне оптопары (выводы 3 4) ардуиной снимать. 3й общий, 4й активный ноль. Читается так:

где N — номер входа (соединённый с 4м выв. pc817). Резистор от 470 Ом примерно. Номера выводов первый левый верхний, против часовой стрелки, если смотреть на микруху сверху а её ноги вниз (смотреть на надпись), и выемка/круглая точка/полоса сверху.

Источник

Датчик холла njk 5002c

Подключение датчика NJK-5002C

NJK-5002C – бесконтактный датчик, работающий на основе эффекта Холла. При появлении в зоне срабатывания постоянного магнита бесконтактный датчик Холла замыкает цепь, тем самым подавая на выход логическую единицу.

Характеристики:

  • Тип: нормально открытый;
  • Расстояние обнаружения: 10 мм;
  • Питание: 5-30В постоянного тока;
  • Ток потребления: 200 мА;
  • Обнаруживаемые объекты: постоянные магниты;
  • Частота переключения: 320 кГц;

Датчик NJK-5002C имеет 3 вывода:

Коричневый – Питание

Черный – Сигнал

Синий – “Земля”

Подключение к Arduino:

Для подключения датчика нам необходимы:

  • Любая Arduino-совместимая плата
  • Компьютер с установленной средой Arduino IDE.
  • USB кабель для подключения Arduino к персональному компьютеру

Принципиальная схема подключения компонентов:

Скетч для Arduino:

Датчик Холла бесконтактный переключатель NJK-5002C

Доставка по Москве: 300 руб

Самовывоз: ПН-ПТ 10.00-18.00 бесплатно

Оплата: Наличные, Банковская карта, Online

Доставка по РФ: 3000 пунктов выдачи

Тип: NJK – 5002C;
Форм-фактор: цилиндр диаметром 12 мм;
Выход: NPN, трехпроводный, нормально открытый;
Расстояние обнаружения: 10 мм;
Напряжение питания: постоянное 5-30В;
Ток потребления: 200 мА;
Обнаруживаемые объекты: постояные магниты;
Частота переключения: 320 кГц;
Материал корпуса: медь;

Длина резьбовой части: 25 мм;
Провода: коричневый — «+» питания, синий — «-» питания, черный — сигнал;

Датчик Холла бесконтактный переключатель NJK-5002C

Доставка по Москве: 300 руб

Самовывоз: ПН-ПТ 10.00-18.00 бесплатно

Оплата: Наличные, Банковская карта, Online

Доставка по РФ: 3000 пунктов выдачи

Тип: NJK – 5002C;
Форм-фактор: цилиндр диаметром 12 мм;
Выход: NPN, трехпроводный, нормально открытый;
Расстояние обнаружения: 10 мм;
Напряжение питания: постоянное 5-30В;
Ток потребления: 200 мА;
Обнаруживаемые объекты: постояные магниты;
Частота переключения: 320 кГц;
Материал корпуса: медь;

Длина резьбовой части: 25 мм;
Провода: коричневый — «+» питания, синий — «-» питания, черный — сигнал;

Источник

Adblock
detector