Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Автоматическая ночная лампа на Arduino

Автоматическая ночная лампа с использованием Arduino — код, работа и моделирование

Автоматизация в основном означает изобретение метода, который уменьшает или устраняет человеческие усилия. В этом уроке мы собираемся объяснить, как автоматизировать ночную лампу с помощью простого интерфейса Arduino и реле с помощью программного обеспечения Proteus. Автоматизация является потребностью времени, поскольку область применения варьируется от управления котлом с помощью простого термостата до управления крупной промышленностью с большим объемом входных и выходных данных. Сложность автоматизации может варьироваться от простого управления «вкл/выкл» до очень сложных многовариантных алгоритмов, таких как система промышленной автоматизации. Системы управления для целей автоматизации могут быть либо с разомкнутым контуром, либо с замкнутым контуром, что означает, что они могут работать либо с одним входным параметром, либо в ответ на выход, подаваемый в качестве входа, как в случае систем с замкнутым контуром.

Как и в случае с любой технологией, автоматизация также имеет свои плюсы и минусы:

Плюсы

  1. Увеличение производительности
  2. Предсказуемое качество (улучшение качества)
  3. Повышенная надежность
  4. Отличная согласованность вывода
  5. Снижение трудозатрат
  6. Высокая точность
  7. Снижает усилия человека при монотонной работе.

Минусы

  1. Подвержен угрозам безопасности
  2. Стоимость разработки может превысить прогнозируемую.
  3. Высокая стоимость настройки
  4. Причина безработицы во многих секторах

Упомянутые плюсы намного перевешивают минусы, и именно поэтому весь мир вступает в эру автоматизации.

В этом уроке мы пытаемся сделать так, чтобы лампа включалась или выключалась сама по себе, когда схема обнаруживает заметное изменение интенсивности света, и для достижения этого мы собираемся использовать два наиболее распространенных инструмента, используемых для автоматизации, т. е. Arduino и Relay, а также взаимодействие с симуляцией будет осуществляться с помощью программного обеспечения Proteus.

Необходимые компоненты

  1. Ардуино УНО
  2. Реле 5 В
  3. LDR (светозависимый резистор)
  4. Резистор 10 000 Ом
  5. Транзистор BC547
  6. Питание постоянного тока 5 В
  7. Питание переменного тока 220 В

Необходимо программное обеспечение

  1. Интегрированная среда разработки Arduino
  2. Протей

Схема автоматического включения ночника

Описание компонента

Arduino UNO

Arduino — это, по сути, плата для разработки с открытым исходным кодом, использующая в основном микроконтроллер Microchip ATmega328P и производимая Arduino.cc. Плата поставляется с набором входных/выходных контактов, состоящих из цифровых и аналоговых, которые могут быть подключены к различным платам расширения и внешним схемам. Плата поставляется с 14 цифровыми контактами и 6 аналоговыми контактами, которые используются или программируются с помощью IDE (интегрированная среда разработки). Программа записывается через USB-кабель типа B.

Методы питания платы могут быть либо через USB-кабель, либо через подключение источника постоянного тока 12 В. С точки зрения дизайна и работы он не слишком отличается от других членов своего семейства, а именно Arduino Nano и Arduino Leonardo.

STK500 по-прежнему является исходным протоколом для связи Uno. Основное отличие от своих предшественников заключается в том, что он не использует FTDI (чип драйвера USB-to-serial).

Ретрансляция

Реле — это электромагнитный переключатель, который может управляться электрически и предназначен для включения и выключения приборов переменного/постоянного тока. Им можно управлять даже при низком напряжении 5 вольт, таком как выход, обеспечиваемый контактами Arduino. Он состоит из катушки с металлическими контактами на одной стороне (сторона низкого напряжения), которую можно намагничивать и размагничивать, чтобы размыкать или замыкать цепь, присоединенную к другой стороне (сторона высокого напряжения). Сторона высокого напряжения состоит из разъема с 3 розетками, а именно общей (COM), нормально замкнутой (NC) и нормально разомкнутой (NO). Реле бывает разных номиналов:12 В, 9 В, 5 В и 3 В.

LDR

LDR (Light Dependent Resistor) — это компонент с переменным сопротивлением, который может изменять свое значение сопротивления в зависимости от интенсивности света и работает по принципу фотопроводимости. Величина сопротивления уменьшается с увеличением интенсивности света. Он используется в схемах светочувствительных детекторов и переключающих схемах, активируемых светом.

LDR состоит из полупроводника с высоким сопротивлением, сопротивление которого составляет мегаомы в отсутствие света и несколько сотен омов в присутствии света.

BC547 — транзистор NPN

Транзистор — это полупроводниковое устройство, которое используется для усиления или переключения электронных сигналов и питания. Он изготовлен из полупроводникового материала и имеет 3 клеммы для подключения к внешней цепи. В этой схеме мы использовали BC547, который представляет собой транзистор с биполярным переходом NPN.

Небольшое значение тока на клеммах базы управляет большим значением тока на клеммах эмиттера и коллектора. На клеммах транзистора требуется фиксированное постоянное напряжение, чтобы работать в нужной области его характеристических кривых. Транзистор, когда он используется для усиления, остается смещенным, так что он частично открыт для всех входов, а усиленный выходной сигнал снимается с эмиттера. Для коммутационных приложений транзистор смещен так, что он остается полностью включенным, если присутствует сигнал на базовой клемме, и полностью закрывается при отсутствии базового сигнала.

Оценки

Описание программного обеспечения

Proteus

Программный пакет Proteus относится к категории проприетарного программного обеспечения, используемого для автоматизации проектирования электроники. Это программное обеспечение очень удобно для инженеров-проектировщиков электроники и соответствующих техников с целью создания схем и распечаток в электронной форме, называемой компоновкой печатной платы. Программное обеспечение было разработано в Йоркшире, Англия, компанией Labcenter Electronics Ltd. и поставляется с поддержкой нескольких языков:английского, французского, испанского и китайского.

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

Это программное обеспечение широко используется благодаря его способности моделировать схемы или микроконтроллеры. Моделирование помогает понять работу и тестирование спроектированной схемы, даже не используя физические компоненты. Его пользовательский интерфейс также дает преимущество перед другим программным обеспечением на рынке. В разделе библиотеки доступно более 15 миллионов компонентов, поэтому пользователям не нужно тратить время на создание посадочных мест или компонентов.

IDE Arduino

Arduino IDE — это программное обеспечение, которое можно использовать на различных платформах. Следовательно, это кроссплатформенное приложение, разработанное с использованием языка программирования java. Его главная цель — написать скетч и загрузить его на платы, совместимые с Arduino. Поддерживаемые языки — C и C++, которые немного изменены и зависят от используемой библиотеки. Различные библиотеки предоставляются встроенными в программное обеспечение, а другие библиотеки можно загрузить у сторонних поставщиков. IDE использует программу avrdude для преобразования кода в файл с шестнадцатеричной кодировкой, который загружается на плату с помощью программы-загрузчика, предварительно установленной в прошивке платы.

Код проекта

Объяснение кода

Прежде всего, мы определяем две глобальные переменные целочисленного типа. Переменная analogIN используется для обозначения аналогового вывода, который будет получать аналоговое значение от схемы и второй переменной trigger обозначает цифровой контакт, который подает на триггерный выход достаточное напряжение.

int AnalogIN =A3;

int Trigger =12;

Скорость передачи установлена ​​на 9600 бит/сек, что соответствует скорости передачи данных. Функция pinMode() используется для определения состояния контакта. Здесь мы устанавливаем контакт 12 в качестве выхода и контакт A3 в качестве входа. Все эти операторы записаны в функции void setup() и будут выполняться только один раз за все время выполнения.

void setup()

{

  Serial.begin(9600);

  pinMode(analogIN, INPUT);

  pinMode(Trigger, OUTPUT);

}

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

Теперь мы получаем это аналоговое значение с аналогового вывода A3, а затем сохраняем его значение в переменной «value».

Эта переменная будет содержать целочисленное значение в диапазоне от 0 до 1234 и будет варьироваться в зависимости от аналогового входа. Это 10-битное значение АЦП, поскольку Arduino поставляется с 10-битным преобразователем АЦП.

Значение, хранящееся в переменной value, используется для выполнения условного оператора (if-else). С помощью этого оператора мы устанавливаем состояние триггера цифрового вывода как ВЫСОКОЕ или НИЗКОЕ для включения и выключения лампы. Основное преимущество печати данных, хранящихся в переменной «значение», заключается в том, что мы можем связать интенсивность света с определенным значением и включить лампу при желаемой интенсивности света.

Код, находящийся внутри функции «void loop()», будет выполняться многократно, пока на Arduino не будет подано питание. Таким образом, чтобы убедиться, что проект вообще находится в рабочем состоянии, необходимо обеспечить круглосуточное питание используемого здесь Arduino Uno.

void loop() {

  int value =AnalogRead(analogIN);

  Serial.println(value);

если (значение <692)

  {

    digitalWrite(Trigger, HIGH);

    Serial.println("лампа включена");

 

  else {

    digitalWrite(Trigger, LOW);

    Serial.println("лампа выключена");

 

 }

Как получить расположение кода в шестнадцатеричном файле?

В вашей среде разработки Arduino нажмите «Файл»> «Настройки», а затем в «Показать подробный вывод» отметьте параметры компиляции и загрузки, а после компиляции кода в окне ниже выберите и скопируйте расположение шестнадцатеричного файла и в Proteus дважды щелкните Arduino, вставьте расположение файла в параметр «Файл программы» и нажмите «ОК». Теперь ваша схема готова к моделированию.

Видео моделирования

Скоро

Работа цепи ночного фонаря

Теперь мы обсудим работу схемы, здесь мы использовали источник постоянного тока 5 В (5 В Arduino) и подключили резистор 10 кОм и LDR в цепи делителя напряжения. Напряжение, которое можно снять с резистора или LDR и подать на аналоговый контакт Arduino, в данном случае на контакт A3.

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

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

Теперь, когда выполняется условное утверждение, т. е. интенсивность света падает ниже значения, предоставленного вами (в эквивалентной форме АЦП), плата будет генерировать выходной сигнал «ВЫСОКИЙ» на выводе. 12 Под «HIGH» подразумевается, что он выдает 5 В на выводе 12.

В этом случае на базе транзистора создается достаточное напряжение, и транзистор начинает проводить ток. В результате в обмотках реле начинает течь ток и оно включается, что означает, что клемма NO переходит в активное состояние, к которому была подключена цепь лампы, и по завершении цепи лампа включается. ".

Лампа выключается, когда условие else в коде становится истинным, т. е. интенсивность света увеличивается по сравнению с заданным нами пороговым значением. Следовательно, выход на контакте 12 становится «НИЗКИМ», и впоследствии реле выключается, что выключает лампу.

Итог:

Все мы хотим облегчить себе жизнь, и вот что делает автоматический ночник. Вам даже не нужно включать или выключать ночник. Поскольку он автоматически включается и выключается в зависимости от интенсивности падения света. В дневное время лампа остается в выключенном состоянии, так как над датчиком темнеет, лампа включается. Проект поможет вам спроектировать то же самое, используя основные электронные компоненты. Мы также объяснили код, чтобы вам не было сложно начать работу с Arduino.

Связанные проекты:


Промышленные технологии

  1. Как производители используют автоматизацию для управления бумом электронной коммерции
  2. Создание монитора Ambilight с помощью Arduino
  3. Вольтметр своими руками с использованием Arduino и смартфона
  4. Монитор сердечного ритма с использованием Интернета вещей
  5. WebServerBlink с использованием Arduino Uno WiFi
  6. Автоматизированная игра Дино с использованием arduino
  7. FM-радио с использованием Arduino и RDA8057M
  8. BLUE_P:беспроводной экран программирования Arduino
  9. Свет с сенсорным управлением с использованием Arduino
  10. Как работают устройства автоматической смены инструмента?