От «нулевой» точки: шаг дальше или…

На данном этапе я хочу сосредоточить внимание на датчиках, с помощью которых будущий робот (а мы с Олежкой будем строить именно робота) должен выполнять подаваемые извне команды и/или реагировать на окружающий мир. Помню, первую радиоуправляемую машинку я подарил Олежке, когда ему было 5 лет, и он сильно увлекался «тачками». Конечно же, это был «Молния Маккуин-95»

С управлением Олежек разобрался быстро. Потом были другиемашинки с аналогичным управлением, но ничего нового они уже не привнесли. В смысле познания. Сейчас Олежек посещает кружок «Робоквантум» в Доме детского творчества, где дети собирают всякие штучки из конструкторов LEGO

Простой конструктор такого типа покупать не имеет смысла, а более серьёзные стоят от 24 тыс. р., а это для нас весьма… В то же время Arduino, как я начинаю понимать, открывает иные горизонты. Наверное, сначала мы попробуем сделать робота, управляемого с ИК-пульта, а уж потом загрузим в него «зачатки интеллекта» для самостоятельного принятия решений. А пока…

21. Инфракрасный пульт и приемник

Сайт http://robotclass.ru/tutorials/arduino-ir-remote-control/
Имеются:

Подключение ИК-приёмника:

Хотя напряжение питания приёмника варьируется 2,7-5,5 В, рекомендуетсядля начала (во избежание!) подать на него 3,3 В.

У моего приёмника напротив выводов стоят буковки GRY:

Правильно ли я понял сие обозначение?

Скетч с сайта:

Потребовалась библиотека IRremote.h, которой у меня в IDEArduino 1.8.8не оказалось. Скачал, установил. Программка должна выводить в окно монитора коды нажатых клавиш, которые потребуются в дальнейшем. Проверю.

В железе:

Окно монитора:

Следовательно, обозначения выводов IR-модуля я понял правильно.

Далее скетч с сайта:

Здесь одна кнопочка пульта включает встроенный светодиод, другая – выключает.

Мне не интересно использовать встроенный светодиод, поэтому я вставлю жёлтый в 13-й пин и GND. Пусть кнопочка «1» включает светодиод, «0» – выключает:

Всё скомпилировалось и залилось без ошибок, но светодиод включался так противно тускло, что пришлось ПЛЮНУТЬ (Как плюнуть? Обыкновенно – слюной, как плевали до эпохи исторического материализма, – со слов Великого Комбинатора) и почитать комментарии. Повезло. Нашёлся умный человек, у которого тоже не заработало, и он без лишнего трёпа поместил скетч:

Я подставил только коды кнопочек своего пульта:

Нажал кнопку «1» -светодиод включился

Нажал кнопку «0» -светодиод выключился

22. 3 светодиода управляются с пульта
Сайт:https://arduino.ua/art19-arduino-i-infrakrasnii-priemnik

Скетч:

Схема собрана:

Нажата «1»:

Нажата «2»:

Нажата «3»:

Нажата «0»:

23. Подключение ультразвукового датчика HC-SR04

Схема:

Скетч с сайта:

Скетч загружен:

Работа:

Монитор:

Имеется библиотека Ultrasonic.h; скачал, подключил :

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

24. Датчик звука

Подключение

Скетч с сайта:

Я применил его без изменений:

Ожидание:

Оказалось достаточно щелчка пальцами перед микрофоном:

25. Датчик движения

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

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

Скетч:

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

Нет движения:

Есть движение:

26. Датчик вращения – энкодер
Инкрементальный энкодер представляет собой устройство с вращающейся рукоятью. Основным внешним отличием от потенциометра является то, что рукоять энкодера вращается на 360°. У него нет крайних положений.Энкодеры бывают разных типов. Инкрементальный характерен тем, что с его помощью нельзя узнать положение рукояти, а только сам факт вращения в какую-то сторону – влево или вправо. По количеству импульсов сигнала можно рассчитать, на какой угол он повернулся.Таким образом,микроконтроллеру передают команды, управляют меню, уровнем громкости и так далее. Энкодеры применяются в автомагнитолах и другой бытовой технике. Их используют в качестве многофункционального органа регулировки уровней эквалайзера и навигации по меню.
С сайта http://electrik.info/microcontroller/1489-kak-podklyuchit-inkrementalnyy-enkoder-k-arduino.html

Мой энкодер с кнопкой – можно получать сигнал при нажатии на его вал:

Попробую сначала вот так:

В исходном состоянии светодиоды не горят:

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

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

Понятно, что от Ардуино я беру лишь ±5 В, и никакая программа не нужна.
Уберу светодиоды и подключу энкодер к Ардуино:

Программа:

Вращение:

Мне лично не нравится «енкодера», но я оставил начертание автора.

27. Моторчик через усилитель постоянного тока на N-P-NиP-N-Pтранзисторах

Буду запускать моторчик через транзисторный усилитель постоянного тока. Не от того, что это чрезвычайно интересно и супероригинально. В описании процесса мне очень понравились высказывания автора. Цитирую:
1)  …мы можем подключить движок отдельно к внешнему питанию 5В, а Ардуино к своему питанию. Но ноль питания у них должен быть объединен.
2) Транзисторы это очень полезные компоненты, которые, к сожалению, трудно понять. Мы можем представить транзистор как электрический клапан: чем больший ток подать на клапан, тем больше воды через него потечет. То же самое происходит с транзистором, только вместо воды течет ток. Если мы подадим ток на базу транзистора, пропорциональный ток потечет от коллектора к эмиттеру, в случае транзистора типа npn. Чем больший ток подать на базу, тем большая сила тока будет через два остальных вывода.
3) pnp транзистор понять еще труднее. Он использует тот же принцип, но в обратном направлении.
Курсив мой.
Адрес для желающих познакомиться с полной версией:http://www.electronica52.in.ua/proekty-arduino/arduino-i-ispolzovanie-dvigatelej-podkluchenie-dvigatelya-postoyannogo-toka-i-upravlenie-im
Не думаю, что я попал на первоисточник, тем не менее, ЭКСПЕРИМЕНТ!!!

Исходная схема №1:

Важно здесь то, что моторчик запитан от отдельного источника, что часто применяется в роботах на Ардуино.
Итак, нужны два биполярных N-P-N и P-N-P транзистора, резисторы 2 х 1 кОм и 1 х 10 кОм («подтягивающий» - это надо же ардуинщикам придумать такое название!), моторчик, диод, батарейка:

Первый транзистор PN2222, второй применю КТ814А, моторчик от отечественного кассетника,
батарейка типа «Крона» на 9 В. Схема собрана:

Скетч не нов:

Моторчик исправно крутится 2 с, потом 2 с отдыхает и т.д.:


28. Моторчик через составной N-P-N транзистор
Имеется у меня любимец – составной N-P-N транзистор КТ829А. Составной – это значит внутри одного корпуса уже имеется ДВА транзистора (схема Дарлингтона) и не только:

Коэффициент усиления такого транзистора равен произведению коэффициентов входящих в его состав транзисторов. Следовательно, зачем лепить нечто, ежели вполне допустимо применить ОДИН транзистор. Запас по мощности у него запредельный (для данной ситуации).

Таким вот образом:

Соединяю:

Включаю:

Моторчик работает как в предыдущем опыте.

29. Моторчик черезMOSFET-транзистор
Не могу не согласиться с автором вышеупомянутого сайта: MOSFET’ы применять нынче модно. Попробовать? Отчего нет, тем более, что в данном случае ни оттяжек, ни подтяжек не требуется.
Сначала так:

Я использовал MOSFET-транзистор P6NC60. Не из каких-то особых соображений, а потому, что из первых попавшихся под руку (БУ’шных), у него оказались наиболее длинные ноги.

Программа:

Работает нормально:

Теперь запитаю моторчик от батарейки:

Программа та же. В работе:

Очевидно, для таких примитивных опытов можно использовать всякие разные MOSFET’ы (с индуцированным каналом N-типа).

30. Джойстик

Похоже, что это джойстики KY-023. На них ничего подобного не написано, но, ежели сравнить с фото из Интернета, то именно оно и есть.
Подключение:

Реально:

Скетч:

Работа:

Окно монитора:

При нажатии на кнопку гаснет светодиод «L» на плате Ардуино:

Подключаю к 5 и 6 DIGITAL pin’ам светодиодики через ограничительные резисторы 220 Ом:

Скетч:

В исходном состоянии горят оба светодиода:

Наклон джойстика «ВПЕРЁД» плавно гасит жёлтый светодиод:

Движение в обратную сторону плавно включает.

Наклон джойстика «ВПРАВО» плавно гасит зелёный светодиод:

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

SEkorp, 08 апрель 2019


НАЗАД на страницу РАДИОардуино