🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🔴 Проект: лазерная растяжка на KY-008 и фоторезисторе

Лазерный модуль KY-008 и фоторезистор KY-018

Лазерный модуль KY-008 постоянно светит на фоторезистор KY-018, установленный напротив. Как только луч пересекают — освещённость резко падает, и включается сирена.

Как это работает

Принцип классический для охранных растяжек: лазер создаёт на фоторезисторе постоянное яркое пятно света, и плата непрерывно измеряет уровень освещённости через аналоговый вход. Пока луч не прерван, показания держатся примерно на одном уровне (`baseline`) с небольшими колебаниями от фоновой засветки. Когда кто-то пересекает луч — даже на долю секунды — освещённость резко падает, и если это падение больше порога `dropThreshold`, плата считает это срабатыванием и включает сирену.

Важная особенность именно лазера (в отличие от обычного ИК-барьера) — узкий, хорошо видимый луч, который легко направить точно в одну точку на расстоянии нескольких метров, и его сложнее перекрыть случайно (например, рукой при уборке), если правильно выбрать высоту растяжки.

Пошаговая сборка

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

  1. Подключите лазерный модуль KY-008: VCC → 5V, GND → GND, S (сигнал) → 5V напрямую, чтобы лазер горел постоянно, не мигая.
  2. Установите фоторезистор KY-018 напротив лазера на нужном расстоянии: AO → A0, VCC → 5V, GND → GND.
  3. Подключите пассивный зуммер: сигнал → D8, GND → GND.
  4. Перед включением тщательно выставьте лазер точно в центр фоторезистора — чем точнее попадание, тем стабильнее показания `baseline` при включении.
  5. Закрепите оба модуля неподвижно (на скотч или в держатель) — малейшее смещение от вибрации может увести луч мимо датчика.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

const int sensorPin = A0;    // фоторезистор KY-018
const int buzzerPin = 8;     // пассивный зуммер
int baseline;                 // уровень освещённости при целом луче
const int dropThreshold = 150; // на сколько должна упасть освещённость, чтобы считать срабатыванием

void setup() {
  Serial.begin(9600);
  pinMode(buzzerPin, OUTPUT);
  delay(500); // даём лазеру и датчику стабилизироваться после включения
  baseline = analogRead(sensorPin); // запоминаем "нормальный" уровень освещённости луча
  Serial.print("Базовый уровень освещённости: ");
  Serial.println(baseline);
}

void loop() {
  int value = analogRead(sensorPin);
  if (baseline - value > dropThreshold) {
    // освещённость резко упала — луч пересечён
    tone(buzzerPin, 2000);
    Serial.println("Тревога! Луч пересечён");
  } else {
    noTone(buzzerPin);
  }
  delay(50); // частый опрос, чтобы не пропустить короткое пересечение луча
}

`baseline` считывается один раз при включении — направьте лазер точно на фоторезистор перед подачей питания. `dropThreshold` подбирается опытным путём под освещённость помещения.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🚪 сигнализация двери на геркон-датчике KY-02…📡 включение света по СВЧ-датчику движения RC… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 135 ₽ 122 ₽ (экономия 13 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA