Каталог
|
Arduino и ввод-вывод данных2024-05-18 Всі статті →В предыдущей статье, основанной на моём опыте новичке, я рассказывал о том, как я начал своё знакомство с миром Arduino. Речь шла о не очень знакомой в широких кругах новичков плате Arduino Pro Micro. Часть 1. Сегодня речь пойдёт не о покупке «дофиганогого» ArduinoMega, а о популярном, но к сожалению, только в узком кругу расширителе цифровых портов на микросхеме mcp23017, который позволяет подключить к любому Arduino-подобному микроконтроллеру до 16 дополнительных цифровых выводов). Такой расширитель есть в исполнении как отдельной одноимённой микросхемы (в которой практически отсутствует любая обвязка), так и готовой платы расширения. Теперь мы имеем дополнительные цифровые порты (пины), оставляя пины самого контроллера в резерве для более важных задач (например, для работы с шинами данных или аппаратными прерываниями, или обработкой аналоговых данных, ШИМ – ногам контроллера есть чем заниматься). Информация для особых «экстремалов»: к одному контроллеру можно подключить до 8 расширителей (8х16 = 128 дополнительных пинов), используя для этого популярную i2c шину (диапазон адресов от 0x20 до 0x27, изменяется с помощью напаивания перемычки «сопли» на плате расширения. Плата выполнена в виде аккуратненького модуля 24х25 мм, при этом хорошо «задокументированная» прямо на шелкографии – все выводы чётко подписаны и нет проблем даже при подключении макетными проводами Dupont. К слову, о документации: работа с библиотекой описана отлично и со всеми примерами, и с любым пином расширителя Вы сможете работать так же, как если Вы работаете с любым цифровым пином непосредственно контроллера. И тут же у новичка возникнет обвешать всё светодиодиками и устроить новогоднюю ёлку. И здесь иметь голову и понимать, что нагрузка на один пин не может быть больше одного светодиода (20mA), а суммарно грузить более 200mA (читай 10 светодиодов – по 1 шт на пин) – если суммарно нагрузить больше – можно угробить схему питания +5V контроллера. Поэтому со светодиодными «гирляндами» экспериментируйте осторожно. «Для чего нужен такой расширитель, если нельзя вдоволь помигать?» - будет зудеть назойливый новичок. Отвечу в примерах:
Думаю, примеров более чем достаточно. В принципе, с описанном в примерах выше по сути уже мы потепенно приближаемся к системе «умный дом». Система подразумевает уже то, что Вы подходите уже на уровне выше базовых экспериментов, поэтому подразумеваем, что полсотни тактовых кнопок по 3 гривни, сотню светодиодов разного цвета по такой же цене и километры – килограммы проводов – это не наш подход. Будучи новичком, я очень долго и много перекопал информации. И, как и в случае с выбором контроллера для старта освоения Arduino, выбрал далеко не дешёвую, потому и далеко не «массовую». Однако в дальнейшем полностью убедился в правильности своего выбора, и ничуть не пожалел о «переплате». Итак, встречайте, сенсорный экран Nexion. Если Вы не сталкивались со сравнением, я поделюсь личным впечатлением (не углубляясь в технологии). Экраны Nextion по типу съёма тактильной информации делятся на резистивные (основная масса моделей всех линеек Nextion) и емкостные. Резистивные они более «дубоватые», что ли, менее чувствительные, емкостные же, наоборот, более чувствительные и точные. Но стоят несколько дороже резистивных. Ну, и венец всего – для работы с этим дисплеем у производителя есть фирменная прога Nextion Editor. Описание работы с ней можно найти как на английском (на сайте производителя), так и на оркостанском (для тех, у кого хромает английский), есть даже видеоуроки. Я вкратце опишу принцип. Ещё раз повторяю: так делаю я, при этом вполне результатом. Рассмотрим на примере «умного дома».
В данном проекте (пример из моих реализованных) левом верхнем углу список экранов (в случае с «умным домом» будет «списки комнат»). В правом верхнем углу – слайдер, общий для всех экранов, ниже же красные кнопки со список задействованных приборов. В выключенном кнопки все красные. При нажатии любой из них цвет меняется на зелёный (меняется картинка кнопки).
В данной статье был рассмотрен дисплей NEXTION NX8048P070-011C – это самый большой и продвинутый по возможностям, но цена достаточно «кусючая», поэтому с помощью программы Nextion Editor Вы сможете подобрать из оставшихся доступный для Вас: например, приобрести дисплей с меньшей диагональю. Базовый функциональный останется неизменный, разнится будет лишь отсутствии некоторых плюшек: напр., встроенные часы реального времени или дополнительные встроенные в дисплей 10 шт. GPIO. ВЫВОД: Вот мы и рассмотрели способы упростить жизнь начинающему Ардуинщику, задумавшему серьёзный проект: расширяем порты GPIO до 128, убрали из проекта лишние провода, кнопки и светодиоды, получили достойный серьёзный проект, которым можно не только хвастать перед знакомым, но и самому получать кайф. Словом, хороших продуктивных и интересных всем завершённых проектов, с которыми Вы можете здесь поделиться. С уважением и до новых встреч, Жора Дорфман.
Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Поки немає відгуків на цю статтю.
|