Как расширить Arduino при использовании TFT-дисплея?
Я совсем новичок в этом деле с Arduino. Я не могу разобраться с одной из своих проблем самостоятельно.
Я использую этот 2.4 TFT display shield на Arduino Uno. Пока работает отлично: я написал для него небольшой скетч, который отображает кнопку «Пуск», и после нажатия на нее он показывает случайные цвета.
Теперь я хотел бы подключить цепь с помощью соединительных кабелей, которые используются как датчики. Когда я касаюсь одного из соединительных кабелей, подключенный свет включается.
Проблема, с которой я столкнулся сейчас, заключается в том, что эта конкретная схема использует другой Arduino, поскольку мой первый Arduino уже «заполнен», поскольку TFT-экран занимает все контакты.
Как мне решить мою проблему? Возможно ли объединить Arduino в Stack? Можно ли как-то соединить эти Arduino? Заранее спасибо!
@Giesburts, 👍2
2 ответа
Хорошо, похоже, проблема в том, что у вас закончились пины. Сейчас вы используете Arduino Uno. Я бы пошел и купил Arduino Mega.
В качестве альтернативы вы можете использовать аналоговые входы как цифровые входы.
Arduino Uno
Цифровые контакты ввода/вывода 14 (из которых 6 обеспечивают выход ШИМ)
Флэш-память 32 КБ (ATmega328P), из которых 0,5 КБ используется загрузчиком
Arduino Mega
Цифровые контакты ввода/вывода 54 (из которых 15 обеспечивают выход ШИМ)
Флэш-память 256 КБ, из которых 8 КБ используются загрузчиком
Как я могу прочитать по вашей ссылке, шилд использует D2-D8 и A0-A3, оставляя некоторые пины неиспользованными. Так что некоторые пины Arduino все еще свободны для использования, просто шилд мешает подключиться к ним.
Итак, есть несколько возможных путей:
- грубо припаяйте несколько проводов к неиспользуемым контактам экрана с передней стороны и используйте эти провода для подключения туда, куда вам нужно (датчики, макетная плата, универсальная печатная плата, ...)
- грубо припаяйте несколько проводов к нижней части Arduino на неиспользуемых контактах, затем продолжайте, как указано
- создайте промежуточный шилд (их много, они позволяют вам подключиться к Arduinou снизу и разместить еще один шилд сверху, протяните провода оттуда (и, возможно, даже поместите некоторые схемы на средний шилд, если хотите) (что-то вроде этого https://www.aliexpress.com/item/UNO-Prototype-DIY-shield-kit-for-Arduino-UNO-Universal-Extend-Board-UM-UNO/32555004112.html или любой "универсальный шилд arduino"
https://www.indiegogo.com/projects/ardushield-most-universal-shield-for-arduino-ever#/ отлично работает на Arduino и других шилдах/макетных платах ...
или что-нибудь в этом роде... http://shieldlist.org/sunhayato/universal
- используйте контакты D10-D13, так как они также подключены к заголовку ISP https://www.arduino.cc/en/Tutorial/ArduinoISP и могут быть подключены оттуда. Так как они являются частью интерфейса SPI https://www.arduino.cc/en/Reference/SPI это тоже может быть хорошим решением (если вы каким-то образом управляете ChipSelect.
Что касается другой части вопроса - Можно подключить больше Arduino, но существует так много разных способов, что сложно описать все здесь — выберите тот, который вам больше всего подходит. (В любом случае вам в любом случае понадобится доступ к некоторым контактам)
- Подключение нескольких TFT-панелей к Arduino Uno через SPI?
- Использование Waveshare Raspberry Pi TFT LCD с Arduino Uno
- TFT-дисплей ST7789 показывает правильное изображение только при нажатой кнопке сброса Arduino - Почему?
- Ethernet Shield не работает с TFT-экраном
- Использование TFT с аппаратным SPI и динамиком с tone()
- Как подключить TFT-экран (ST7735S) к Arduino?
- Как сделать тачпад для ПК с помощью arduino и сенсорного дисплея?
- Как использовать SPI на Arduino?