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

Сборка датчика освещенности на фоторезисторе и LED: пошаговое руководство

Компоненты и расходные материалы

Arduino UNO (подойдет любая плата с 1 аналоговым и ≥2 цифровыми пинами, ≥3 GND) ×1
Фоторезистор (LDR) ×1
Светодиоды разного цвета ×2
Резистор 1 кОм — для фоторезистора ×1
Резисторы 100 Ом (автор использовал 220 Ом, но 100 Ом лучше) — для LED ×2
Перемычки ×1 набор
Макетная плата ×1

Приложения и онлайн-сервисы

О проекте

Давно использую Arduino, и пришло время создать свой проект с нуля. Модифицировал схемы из интернета (Alex Glow, Joe Coburn) под свои нужды. Если найдете ошибки или лучшие решения — пишите в комментариях!

Схема подключения

Фоторезистор подключен к аналоговому пину A0 (любой аналоговый подойдет) и 5V. Через резистор 1 кОм к земле. На другой стороне макетки — светодиод (любой цвет) на цифровой пин 13 через резистор 220 Ом к земле (100 Ом тоже сойдет). Рядом — второй светодиод другого цвета так же, но на другом цифровом пине.

Принцип работы

Если фоторезистор выдает значение выше 450 — в Serial Monitor печатается «It is quite light!» (Очень светло!), оба LED гаснут.

if (light > 450) {
  Serial.println("It is quite light!");
  digitalWrite(13, LOW);
  digitalWrite(12, LOW);
}

Если значение 230–450 — «It is average light!» (Среднее освещение!), левый LED горит, правый — нет.

else if (light > 229 && light < 451) {
  Serial.println("It is average light!");
  digitalWrite(13, HIGH);
  digitalWrite(12, LOW);
}

Если ниже 230 — «It is pretty dark!» (Довольно темно!), оба LED горят.

else {
  Serial.println("It is pretty dark!");
  digitalWrite(13, HIGH);
  digitalWrite(12, HIGH);
}

В конце цикла задержка 1000 мс — чтобы не заспамить Serial Monitor.

delay(1000); // don't spam the computer!

Проверьте схему и код перед загрузкой.

Код

LED_PR_Light_Read (Arduino)
int light = 0;
void setup() {
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
}
void loop() {
  light = analogRead(A0);
  Serial.println(light);
  if (light > 450) {
    Serial.println("It is quite light!");
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
  }
  else if (light > 229 && light < 451) {
    Serial.println("It is average light!");
    digitalWrite(13, HIGH);
    digitalWrite(12, LOW);
  }
  else {
    Serial.println("It is pretty dark!");
    digitalWrite(13, HIGH);
    digitalWrite(12, HIGH);
  }
  delay(1000);
}

Схемы

Сборка датчика освещенности на фоторезисторе и LED: пошаговое руководство

Производственный процесс

  1. Цветовые датчики: принцип работы и ключевые применения
  2. OPT3007 — ультратонкий датчик освещенности: точное измерение света для умных устройств
  3. Датчики окружающего света: функциональность, дизайн и ключевые применения
  4. Оптические датчики: основы, типы и практические применения
  5. Создание удалённого датчика температуры на Raspberry Pi и Python — пошаговое руководство
  6. Управление светодиодом с PIR-датчиком движения на Raspberry Pi
  7. Создание многодатчиковой системы мониторинга температуры и света с Raspberry Pi и DS18B20
  8. Датчик занятости ванной комнаты на Raspberry Pi с голосовыми и SMS-уведомлениями через Twilio
  9. Умная банка на ESP8266 + Arduino: мониторинг наполненности в реальном времени
  10. Расшифровка приборной панели: лампы, индикаторы и их значение