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

Автоматический ночник на Arduino: код, схема и симуляция в Proteus

Автоматический ночник на Arduino — код, работа и симуляция

Автоматизация — метод сокращения или исключения человеческих усилий. В этом уроке: автоматический ночник через Arduino и реле с симуляцией в Proteus. Автоматизация — от термостата котла до управления крупными заводами. Системы: открытый цикл (один вход) или закрытый (обратная связь).

Плюсы и минусы автоматизации

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

Минусы: угрозы безопасности, превышение бюджета разработки, высокая стоимость внедрения, безработица в некоторых сферах.

Плюсы перевешивают — мир входит в эру автоматизации.

Задача: лампа сама включается/выключается при изменении освещенности. Инструменты: Arduino, реле, симуляция в Proteus.

Компоненты

  1. Arduino UNO
  2. Реле 5 В
  3. LDR (фоторезистор)
  4. Резистор 10 кОм
  5. Транзистор BC547 (NPN)
  6. DC 5 В (питание Arduino)
  7. AC 220 В (питание лампы)

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

  1. Arduino IDE
  2. Proteus

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

Автоматический ночник на Arduino: код, схема и симуляция в Proteus

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

Arduino UNO

Открытая плата на ATmega328P (Microchip). 14 цифровых и 6 аналоговых пинов. Программируется через IDE по USB (Type B). Питание: USB (5 В) или DC 12 В. Похожа на Nano и Leonardo. Протокол STK500. Нет FTDI-чипа (в отличие от старых плат).

Автоматический ночник на Arduino: код, схема и симуляция в Proteus

Реле

Электромагнитный ключ, управляется 5 В от пинов Arduino. Катушка с контактами: низковольтная сторона (катушка) и высоковольтная (COM, NC, NO). Рейтинги: 12В, 9В, 5В, 3В.

LDR

Переменное сопротивление по принципу фотоэлектрической проводимости. Сопротивление падает при росте освещенности. В темноте — МОм, при свете — сотни Ом. Для светозависимых детекторов и ключей.

Автоматический ночник на Arduino: код, схема и симуляция в Proteus

BC547 — NPN биполярный транзистор

Полупроводниковый прибор для усиления/коммутации. 3 вывода. В схеме — ключевой режим: ток базы управляет током коллектора/эмиттера. Для ключа: смещение — полностью открыт при сигнале на базе, закрыт без сигнала.

Параметры: VCEO=45 В, IC=100 мА, VCBO=50 В, VEBO=6 В.

Автоматический ночник на Arduino: код, схема и симуляция в Proteus

Описание ПО

Proteus

Проприетарный пакет для EDA (автоматизация проектирования). Схемы, PCB, симуляция схем и микроконтроллеров. Разработчик: Labcenter Electronics Ltd (Yorkshire, Англия). Мультиязычный. Регулярные обновления библиотек (>15 млн компонентов). Удобный интерфейс.

Arduino IDE

Кроссплатформенное приложение (Java). Написание скетчей и загрузка в Arduino. Языки: C/C++ (модифицированные). Встроенные и сторонние библиотеки. Использует avrdude для компиляции в hex-файл, загрузчик в прошивке платы.

Код проекта

int analogIN = A3;
int Trigger = 12;

void setup() {
  Serial.begin(9600);
  pinMode(analogIN, INPUT);
  pinMode(Trigger, OUTPUT);
}

void loop() {
  int value = analogRead(analogIN);
  Serial.println(value);

  if (value < 692) {
    digitalWrite(Trigger, HIGH);
    Serial.println("lamp is ON");
  } else {
    digitalWrite(Trigger, LOW);
    Serial.println("lamp is OFF");
  }
}

Разбор кода

Две глобальные переменные: analogIN (A3 — вход с делителя LDR), Trigger (12 — выход на реле).

Baud rate 9600. В setup(): A3 — вход, 12 — выход.

В loop(): читаем аналоговое значение (0–1023, 10-битный АЦП) в value. Выводим в Serial Monitor для калибровки. Условие: если value < 692 (темнота) → Trigger = HIGH (5 В) → транзистор открыт → реле замыкает NO → лампа ВКЛ. Иначе → Trigger = LOW → реле открыто → лампа ВЫКЛ. Цикл бесконечен — нужен постоянный питание Arduino.

Как получить hex-файл для Proteus

Arduino IDE: File → Preferences → «Show verbose output during:» ☑ compilation, ☑ upload. Компилируем → в консоли копируем путь к .hex файлу. В Proteus: двойной клик по Arduino → Program File → вставляем путь → OK. Готово к симуляции.

Видео симуляции

Coming soon

Принцип работы схемы

Делитель напряжения: 5 В (Arduino) → 10 кОм и LDR. Напряжение на резисторе или LDR → аналоговый вход A3. Код читает значение, соответствующее освещенности. По Serial Monitor калибруем порог (меняем 692 на нужное).

При срабатывании условия (освещенность ниже порога) → пин 12 = HIGH (5 В) → база транзистора → транзистор открыт → ток через катушку реле → реле срабатывает (NO замыкается) → цепь лампы 220 В замкнута → лампа ВКЛ.

При освещении выше порога → else → пин 12 = LOW → транзистор закрыт → реле отпускается → лампа ВЫКЛ.

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

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

  1. Как производители используют автоматизацию для масштабирования выполнения заказов электронной коммерции
  2. Создание потрясающей системы Ambilight для монитора на Arduino
  3. Умный вольтметр на Arduino и смартфоне — простое DIY-проект
  4. IoT-монитор пульса в реальном времени на Arduino и MAX30100
  5. Веб-сервер на Arduino Uno WiFi: управление LED через браузер
  6. Автоматизация игры «Динозавр» в Chrome на Arduino и LDR с Python
  7. Сборка компактного FM-радио на Arduino Nano и RDA5807M
  8. Беспроводная прошивка Arduino через Bluetooth HC-05: щит без USB-кабеля
  9. Сенсорный выключатель LED на Arduino UNO: простой DIY-проект
  10. Как работают автоматические сменщики инструментов: подробное руководство