Система обнаружения света LDR
FreeAuthor confirmed hardware testing.
Components
- Arduino nano
- Набор из 70 светодиодов диаметром 50мм
- LDR
- Активный зуммер(Buzzer)
Warnings
Всегда перепроврйте все ли правилно мы не несем ответственности
Description
Это очень эффективная система оповещения на основе светового сигнала, использующая фоторезистор (LDR), зуммер и светодиод. Идея заключалась в измерении уровня окружающего освещения и запуске ответной реакции всякий раз, когда яркость падала ниже определенного порогового значения. Фоторезистор непрерывно подает аналоговое напряжение на АЦП (аналого-цифровой преобразователь) Arduino, который преобразует интенсивность света в цифровые значения, понятные микроконтроллеру. Используя эти показания, я запрограммировал систему на автоматическое включение светодиода и звукового сигнала, когда в помещении становится слишком темно. Этот проект помог мне четко понять, как работает АЦП, как считывать показания аналоговых датчиков и как использовать эти показания для управления реальными выходными сигналами. Он также укрепил мой опыт работы с логикой микроконтроллеров, пороговыми значениями и основами автоматизации.
Assembly & checks
- Соберите цепь по таблице при отключённом USB.
- Подключите плату и загрузите скетч.
Code
int ldrPin=A0; int ldrread; int dl=500; int orange=3; int green=4; int buzzer=2; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(ldrPin, INPUT); pinMode(green, OUTPUT); pinMode(orange, OUTPUT); pinMode(buzzer, OUTPUT); } void loop() { // put your main code here, to run repeatedly: ldrread=analogRead(ldrPin); Serial.println(ldrread); delay(dl); if(ldrread>=60){ digitalWrite(orange, HIGH); digitalWrite(green, LOW); digitalWrite(buzzer, LOW); } else{ digitalWrite(green, HIGH); digitalWrite(orange, LOW); digitalWrite(buzzer, HIGH); } }