Создание удлинителя, который работает только в темноте

Из предыдущих статей мы узнали как работать с датчиком освещённости и реле. Каких либо новых элементов нам не понадобится.

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

Для реализации задуманного, нам нужно объединить схемы

light sensor and relay

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

Написание кода

В этом коде добавилось только условие, на которое будет реагировать наше реле.

const int RelayPin = 4;
const int LightSensorPin = A0;

void setup() {
  Serial.begin(9600);

  pinMode(LightSensorPin, INPUT);
  pinMode(RelayPin, OUTPUT);
  digitalWrite(RelayPin, LOW);
}

void loop() {
  int lightCount = analogRead(LightSensorPin);
  Serial.println(lightCount);

  if (lightCount < 300) {
    digitalWrite(RelayPin, HIGH);
  }
  if (lightCount > 400)
  {
    digitalWrite(RelayPin, LOW);
  }
}

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

Если данный код будет работать наоборот, то можно изменить условие на противоположное. Данное поведение зависит от типа реле (низкоуровневое или высокоуровневое). На некоторых реле есть дополнительный переключатель в виде джампера (jumper pins) который позволяет менять состояние тип реле.

Last updated

Was this helpful?