KY-008 Лазерный модуль. Подключение к Arduino.

Сегодня поговорим о подключении лазерного модуля KY-008 к Arduino. Его можно применить во многих проектах, связанных с Arduino. Но сейчас рассмотрим лишь то, как же его подключить к Arduino, поговорим о технике безопасности, при обращении с лазером.

Технические характеристики модуля KY-008.

Лазерный модуль это 650 нм лазерный диод, запрессованный в цилиндрический радиатор охлаждения, на плате со светодиодом расположен токоограничивающий резистор.

Технические характеристики модуля KY-008.

Модуль расположен на плате с тремя выводами. Обозначения выводов:


  • Первый вывод – GND;
  • Средний вывод - не используется;
  • Последний вывод – сигнальный.

Характеристики модуля KY-008:

  • Питающее напряжение - 5 В;
  • Максимальная мощность - 5 мВт;
  • Длина волны - 650 нм;
  • Рабочий ток - не более 40 мА;
  • Размеры - 18,5 мм х 15 мм.
Техника безопасности при работе с лазерным модулем.

Техника безопасности при работе с лазерным модулем.

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

Схема подключения KY-008 к Arduino UNO.

Схема подключения KY-008 к Arduino UNO.


Схема подключения KY-008 к Arduino NANO.

Схема подключения KY-008 к Arduino NANO.

Первую ногу лазерного модуля подключаем к GND, вторую ногу не используем, третью ногу подключаем контакту 6.

Схема подключения KY-008 к Arduino NANO.

Примеры кода для KY-008 и Arduino.

Рассмотрим несколько вариантов кодов, к данной схеме.

Первый вариант.

#define LASER 6 // задаем имя для Pin лазера

void setup() {
  pinMode(LASER, OUTPUT); // инициализируем Pin выход
}

void loop() {
  for (int i = 0; i <= 5; i++) // мигание лазерным светодиодом
  {
    digitalWrite(LASER, HIGH);
    Delay(500);
    DigitalWrite(LASER, LOW);
    Delay(500);
  }
  delay(3000)
}

В коде, цикл for включает и выключает лазер.

Время задержки измеряется в миллисекундах, чем меньше время, тем чаще мигание светодиода.

Второй вариант с плавным включением лазера.

#define LASER 6 // задаем имя для Pin

void setup() {
   pinMode(LASER, OUTPUT); // инициализируем Pin выход
}

void loop() {
   for (int i=0; i<=255; i++) // плавное включение лазера
   {
      analogWrite(LASER, i);
      delay(5);
   }
   for (int i=255; i>=0; i--) //плавное выключение лазера
   {
      analogWrite(LASER, i);
      delay(5);
   }
}

Контакт для включения лазерного светодиода можно менять, но только на выход с поддержкой ШИМ.

Задержкой delay(5); можно управлять скоростью включения/выключения.

Следующим на очереди рассмотрим использование KY-008 в качестве сигнализации.

В данном примере будем использовать модули из набора: 37 in 1 Sensors Kit for Arduino. Набор датчиков и индикаторов для Arduino

Для этого понадобится:

Следующим на очереди рассмотрим использование KY-008 в качестве сигнализации.

Как это все будет работать, фоторезистор будет принимать лазерный луч от нашего модуля KY-008. Пока лазер попадает на KY-018 Фоторезистор, на его выводах будет выдаваться определенное напряжение. Как только что-то или кто-то преградит путь лазера к KY-018, на выводах фоторезистора не будет выдаваться напряжение, после чего зуммер проинформирует, что лазерный луч был пересечен. Сброс сигнализации будет осуществляться с помощью KY-004 Модуля тактовой кнопки.

Схема подключения сигнализации.

Схема подключения сигнализации.

Рассмотрим код, который нужно будет загрузить в Arduino.

#define LASER 6 // задаем имя для Pin лазера
#define SENSOR A0 // фоторезистор 
#define BUTTON 12 // кнопка 
#define BUZZER 10 // звуковой излучатель

int laserThreshold = 100;// значение при котором сробатывае сигнал

void setup() {
  pinMode(LASER, OUTPUT);
  pinMode(BUTTON, INPUT_PULLUP);
  Serial.begin(9600);
}
boolean alarmState = false;

void loop() {
  if (! alarmState) {
    delay(500); 
    digitalWrite(LASER, HIGH);
    delay(500);
    unsigned long startTime = millis();
    while (millis() - startTime < 1000) {
      int sensorValue = analogRead(SENSOR);
      Serial.println(sensorValue);
      if (sensorValue > laserThreshold) {
        alarmState = true;
        break;
      }
      delay(10);
    }
    digitalWrite(LASER, LOW);
  }
  else {
    tone(BUZZER, 440);
    if (! digitalRead(BUTTON)) {
      alarmState = false; noTone(BUZZER);
    }
    delay(10);
  }
}

На этом можно заканчивать, лазерный модуль KY-008, можно применить во множестве проектов, с помощью него так же можно передавать и информацию на другое устройство, рисовать интересные фигуры и фракталы. Можете сами углубиться в эту тему и открыть множество нового для себя. Удачи вам в изучении Arduino и программирования!

Понравился Урок KY-008 Лазерный модуль. Подключение к Arduino? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Примеры кода. Первый вариант. Примеры кода. Первый вариант..ino0 Kb 24 Скачать
Второй вариант с плавным включением лазера Второй вариант с плавным включением лазера.ino0 Kb 23 Скачать
использование KY-008 в качестве сигнализации использование KY-008 в качестве сигнализации.ino1 Kb 23 Скачать

Комментарии

Ваше Имя*