Проект сменного переключателя для карт Arduino

Проект переключателя для пролистывания карт

Этот Arduino переключатель для проноса карт проект основан на стандартной системе проноса карты, которая обычно используется в системах домашней безопасности, охраняемых дверных проемах или системах регистрации посетителей. Когда датчик обнаруживает присутствие карты, светодиод меняет цвет с красного (состояние по умолчанию) на синий, а затем на зеленый, что свидетельствует об успешном проходе по карте. Конечно, в коммерческих приложениях светодиод в качестве выходного сигнала такой системы может быть заменен дверями с магнитным замком, программным обеспечением/процедурами регистрации и т.д. Для этого используется модуль датчика фотопрерывания HW-487, который определяет наличие карты.

Этот простой сенсорный модуль состоит из оптического излучателя, который посылает свет, и оптического детектора, который принимает этот свет. Когда непрозрачный объект/предмет (например, карта) оказывается на пути света, детектор посылает выходной сигнал HIGH, действуя, по сути, как выключатель. В качестве выходного модуля в этом проекте используется светодиодный модуль HW-479 RGB LED, который способен отображать все цвета видимого спектра благодаря тому, что в модуль встроены три цветных светодиода, которыми можно управлять аналоговым способом. В этом проекте светодиодный модуль RGB будет светиться синим, красным и зеленым цветами, зажигая каждый из трех светодиодов по отдельности.

Однако одно из преимуществ RGB LED заключается в том, что Вы можете индивидуально запрограммировать каждый из трех светодиодов на определенное значение оттенка с помощью кода, отображая любой цвет, который Вы захотите. Дополнительным преимуществом модуля RGB LED является простота подключения, поскольку каждый из трех выводов цветных светодиодов может быть напрямую подключен к цифровому или аналоговому выводу Arduino, что позволяет полностью управлять отдельными светодиодами. Если Вы хотите сделать этот проект "Сделай сам", Вам потребуется исходные компоненты:

  • Arduino Nano (подойдут и другие совместимые с Arduino платы)
  • USB-кабель (совместимый с платой Arduino)
  • Хлебная доска
  • Провода-перемычки "мужчина-мужчина" (7)
  • HW-487 Модуль датчика прерывания фотосъемки
  • Светодиодный модуль HW-479 RGB (общий катод)
  • Резисторы 220 Ом (3)

Как подключить переключатель для пролистывания карт

В зависимости от вашей платы Arduino, вам может потребоваться или не потребоваться макетная плата для подключения платы. В данном примере используется Arduino Nano, поэтому требуется макетная плата, но если вы используете, например, Arduino Uno, провода-перемычки можно подключить от компонентов на макетной плате непосредственно к контактам платы.

Схема подключения переключателя для подмены карт довольно проста, поскольку, кроме основных модулей, требуется не так уж много дополнительных компонентов. Что касается сенсорного модуля датчика прерывания фотосъемки, то сенсорный модуль HW-487, который используется в этом проекте, имеет очень простую 3-контактную конфигурацию, где сигнальный контакт посылает цифровой выходной сигнал на Arduino всякий раз, когда путь света блокируется (например, картой). Что касается светодиодного модуля HW-479 RGB, то резисторы 220 Ом подключены последовательно к каждому из трех светодиодных выходов этого модуля для того, чтобы предотвратить перегорание светодиодов при подаче напряжения питания +5 вольт. Ниже приведена схема подключения переключателя для пролистывания карт, предоставленная компанией Технология FS.

  • 1.Модуль датчика фотопрерывания HW-487: Подключите сигнальный (S) вывод к D2 на Вашей плате Arduino, положительный (+) вывод к +5 В, а GND (G) вывод к GND.
  • 2.Светодиодный модуль HW-479 RGB: Вставьте один резистор 220 Ом в макетную плату последовательно с выходным выводом для сигнала светодиода красного цвета (R), вставьте другой резистор 220 Ом последовательно с выходным выводом для сигнала светодиода зеленого цвета (G) и вставьте последний резистор 220 Ом последовательно с выходным выводом для сигнала светодиода синего цвета (B). Подключите выходной контакт красного цвета (R) к D3, выходной контакт зеленого цвета (G) к D4 и выходной контакт синего цвета (B) к D5. Подключите отрицательный (-) вывод к GND на Вашем Arduino.
  • 3.Теперь Вы можете подключить Вашу плату Arduino через USB-кабель к компьютеру.
Подключение выключателя для пролистывания карт

Код проекта

int sensorPin = 2;

int redPin = 3, greenPin = 4, bluePin = 5;

boolean val = 0;

 

void настройка(){

 pinMode(sensorPin, INPUT);

 pinMode(redPin, OUTPUT);

 pinMode(greenPin, OUTPUT);

 pinMode(bluePin, OUTPUT);

}

 

void петля (){

 val = digitalRead(sensorPin);

 

 если (val == HIGH) {

 digitalWrite(redPin, LOW);

 digitalWrite(greenPin, LOW);

 digitalWrite(bluePin, HIGH);

 задержка(1000);

 digitalWrite(bluePin, LOW);

 digitalWrite(greenPin, HIGH);

 задержка(5000);

}

else {

 digitalWrite(redPin, HIGH);

 digitalWrite(greenPin, LOW);

 digitalWrite(bluePin, LOW);

}

}

О коде

  • Первая часть кода начинается с определения нескольких целочисленных переменных, которые соответствуют выводам, подключенным к модулю датчика фотопрерывания HW-487 и модулю светодиодов RGB HW-479. Сигнальный/выходной контакт датчика HW-487 назначен на D2 и назван 'sensorPin', в то время как для модуля HW-479 мы назначаем три отдельные переменные на три контакта, подключенные к каждому из светодиодов в корпусе RGB LED. Для простоты, каждое из назначенных имен выводов соответствует цветам светодиодов на модуле RGB LED. В последней строке этого раздела мы объявляем булеву переменную 'val' и устанавливаем ее в 0 (LOW). Эта булева переменная в дальнейшем будет использоваться для хранения выходного сигнала, поступающего от датчика HW-487.
  • В разделе void setup режимы работы каждого из ранее объявленных выводов объявляются как входные или выходные. Датчик HW-487, названный 'sensorPin', объявлен как устройство ввода, поскольку информация с датчика передается на плату Arduino для обработки. Когда карта проведена, датчик посылает сигнал HIGH/1 обратно на Arduino, но в противном случае датчик посылает сигнал LOW/0. С другой стороны, модуль RGB LED HW-479 установлен как устройство вывода, поскольку Arduino управляет состоянием его цифрового выхода (включен/выключен ли светодиод).
  • Переходя к разделу цикла void, объявленная ранее переменная boolean теперь присваивается любому значению цифрового выхода датчика HW-487. Это делается с помощью функции digitalRead(), чтобы получить выходное значение с датчика. Далее вводится оператор if-else, который утверждает, что каждый раз, когда датчик HW-487 посылает обратно значение HIGH (т.е. карта проведена), синий светодиод включается на одну секунду, а затем зеленый светодиод включается на пять секунд. Однако если датчик посылает в ответ НИЗКОЕ значение (состояние по умолчанию), включится только красный светодиод. 
  • При написании кода было важно, чтобы при включении одного цветного светодиода все остальные светодиоды отключались (LOW). В противном случае можно создавать другие цветовые комбинации, зажигая несколько светодиодов одновременно, поскольку модуль RGB LED объединяет три отдельных светодиода в одном корпусе.

Следующие шаги

После завершения проекта Вы можете начать мозговой штурм идей о том, как Вы можете использовать концепции и/или компоненты этого проекта и применить их в других полезных приложениях. Хотя выходом для модуля датчика фотопрерывания является модуль RGB LED, другим стандартным устройством вывода, которое можно использовать, является реле, которое можно подключить последовательно с потребительские устройства PCBA (например, лампочка, динамик, беспроводное устройство и т.д.). Многие картридеры коммерческого класса сейчас имеют довольно компактные размеры, и это в основном благодаря использованию PCBA. Что касается превращения Вашего проекта из макетной платы в более компактный и профессиональный продукт, то используемые компоненты (как сквозные, так и поверхностного монтажа) можно припаять к печатной плате и собрать. Это не только улучшает визуальные аспекты схемы, но и механическую и электрическую стабильность, связь и надежность всего проекта. Поэтому, как шаг вперед, изготовление печатной платы на заказ, а затем монтаж схемы Это фактор, который должен учитывать любитель электроники.

Блог о проектах DIY электроники

Таймер прерывания Arduino UNO

Таймер прерывания Arduino UNO Таймер - это функция, встроенная в каждый микроконтроллер и выполняющая определенные функции, связанные с течением времени. Функция таймера

Читать далее "
Аппаратные характеристики ESP32: вывод, преобразователь и процессор

Аппаратные характеристики ESP32: вывод, преобразователь и процессор ESP32, разработанный компанией Shanghai Espressif Systems, - это недорогой микроконтроллер с низким энергопотреблением, широко используемый в Интернет

Читать далее "
Лучшие программы для проектирования макетов печатных плат: Какая программа лучше для Вас

Лучшие программы для проектирования макетов печатных плат: Какая программа лучше для Вас В Китае есть поговорка: "Наточи топор, прежде чем рубить дрова". Это означает, что

Читать далее "
Рекомендации по печатной плате клавиатуры для горячей замены

Рекомендации по печатной плате с горячей заменой клавиатуры Традиционные платы PCBA полагаются на процесс пайки для надежного крепления компонентов к поверхности печатной платы. В то время как

Читать далее "