Справочник программиста Библиотеки Гид по TFT-дисплеям

Дверной замок Arduino с сенсорным TFT-экраном

В этом уроке, используя Arduino и 2,8-дюймовый TFT-сенсорный экран, мы создадим замок с паролем, чтобы активировать реле, которое разрывает цепь магнитного замка.

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

Шаг 1. Комплектующие

  1. Arduino Mega. TFT занял все выводы на Uno, поэтому мы использовали Arduino Mega для дополнительных выводов, чтобы добавить твердотельное реле.
    Geekcreit® MEGA 2560 R3 ATmega2560 MEGA2560 Development Board
  2. TFT. Модуль сенсорного TFT LCD экрана 2,8 дюймов для Arduino.
    Geekcreit® 2.8 Inch TFT LCD
  3. SSR. Было одно под рукой, но используйте любое реле, рассчитанное на нагрузку, которую вы хотите контролировать, в данном случае только 5 В.
    Opto 22 3 A Solid State Relay, DC, PCB Mount, 60 V dc Maximum Load
    RS Stock No. 888-7619
  4. Корпус. Пустая коробка для установки сенсорного экрана на стену и чистая лицевая панель.
  5. Удлиненный кабель питания Arduino, ближайшая розетка для питания Arduino и сенсорного экрана в нашем случае была на расстоянии около 4 м.
  6. Стандартный блок питания 12 В для Arduino.
    CCTV Camera 12V 0.5A 500mA PSU 2.1mm DC Plug UK

Дополнительные комплектующие для нашего сенсорного замка Ардуино:

  • 3D-принтер (Ultimaker 2) для печати крепления под экран Arduino Mega и TFT в пустой коробке, а также печатной панели для закрытия края экрана при установке в пустую лицевую панель.
  • Паяльник и несколько разъемов и кабелей.
  • Горячий клеевой пистолет.
  • Дрель.
  • Копинг пила.

Шаг 2. Сборка оборудования

Опора базы имеет паз на одной из ножек, поэтому твердотельное реле (SSR) находится под Arduino Mega. Горячим клеем приклеиваем SSR на базу. Пара винтов, чтобы закрепить Мегу на опоре основания. TFT шилд расположен сверху мега. Вырезаем лицевую панель, используя сверло и копинг пилу.

Соединяем все это вместе для проверки. К счастью, мы установили правильную высоту для опоры основания, поэтому экран выступает за переднюю часть пустой лицевой панели. Позже мы напечатаем 3D-рамку, чтобы скрыть неровный край, оставленный пилой. Внутри коробки достаточно места, поэтому придется отрезать приобретенный 12-вольтовый адаптер питания, который подключается к Ардуино Мега и припаять его прямо к плате, чтобы сэкономить место. Ниже вы можете скачать в архиве файлы .step опоры держателя и лицевой панели и посмотреть эти детали в 3D :

Шаг 3. Сборка электроники

Для создания прототипа этого проекта для стендового тестирования сначала начните с 2,8-дюймового сенсорного TFT-дисплея. Выстраиваете контакты в линию и вставляете в разъем Arduino Mega, подключаете его к ноутбуку и запускаете программное обеспечение Arduino IDE для интегрированной среды разработки.

Потребовалось немного усилий, чтобы понять, как откалибровать размер экрана, чувствительность и т.д. Кроме того, TFT не является сенсорным экраном Adafruit, поэтому пришлось добавить дополнительные библиотеки, такие как MCUFRIEND_kbv, для калибровки экрана и т.п. Также понадобилось изучить как получить набор цифр (клавиатуру) на 2,8"  TFT сенсорном экране, чтобы сообщать о значениях через последовательный монитор, добавить элемент пароля в скетч ив конце концов код реле сам по себе.

Заняло некоторое время, чтобы припаять и сделать проводку от реле к Меге - см. схему выше. Мы использовали цифровой вывод 39 на Arduino Mega, чтобы активировать полупроводниковое реле, а затем включить/выключить светодиод (который потом будет заменен на кнопку выхода магнитного замка при сборке).

Шаг 4. Скетч (код проекта)

Теперь переходим к нашему скетчу. Скачайте файл .ino для нашего проекта дверного замка на Arduino Mega:

В самом начале импортируйте все библиотеки, которые необходимы - они перечислены в первой части нашего скетча:

#include <Adafruit_GFX.h>
#include <TouchScreen.h>
#include <Adafruit_TFTLCD.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#include <Password.h>

Почти все библиотеки для Ардуино вы можете найти на нашем сайте в разделе Библиотеки. Также если вам нужны схемы распиновок различных плат - вы можете найти их в разделе Распиновка.

При первом запуске сенсорного экрана TFT используйте эскиз "TouchScreen_Calibr_native" в библиотеке «MCUFIREND», чтобы получить результаты, которые нужно заполнить в нашем скетче в этом месте:

// скопируйте и вставьте результаты TouchScreen_Calibr_native.ino
const int XP=8,XM=A2,YP=A3,YM=9; //240x320 ID=0x9341

const int TS_LEFT=927,TS_RT=126,TS_TOP=70,TS_BOT=910;

Опять же, мы уверены, что этот скетч в целом можно улучшить, но он сработал в нашем случае. Всё в ваших руках. Тестируем наш проект до того, как мы поставим все детали по месту.

Шаг 5. Собираем всё по месту

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

Мы прогнали 12-вольтовое питание через потолок и бросил его в только что вырезанную дыру (более толстый черный провод на изображении). Затем мы перенесли провода от кнопки выхода внутри двери (более тонкие черный и красный провода), это нагрузка для реле, поэтому, когда реле включено, эти провода активируют разблокировку двери. Кнопка выхода. Далее была установка Arduino с сенсорным TFT-экраном и реле в корпус, пайка питания для платы и нагрузки на реле. Наконец, всё это закрываем белой крышкой (лицевой панелью), а сверху наклеиваем черную рамку из 3D-печати.

11.02.2019 | Уроки | Теги статьи |
Ардуино+