|
在本篇文章中,我们使用Arduino开发板设计了一款带警报的激光安全系统,该系统使用了激光模块KY-008。本项目的想法围绕着创建安全系统。只要有任何物体遮挡激光射线,蜂鸣器警报就会响起。
该项目可以在应用在任何地方,不仅是建筑物或房屋,而且还可以使用这种不可见的激光束来保护许多珍贵的物品,例如珠宝、钻石、博物馆中的珍贵古董,等等。许多人使用激光束安全系统来保护自己的房屋、办公室、商店、仓库等。
所需的组件 ● Arduino UNO开发板 ● 激光二极管模块KY-008 ● 蜂鸣器 ● LDR光敏电阻 ● 按钮开关 ● 面包板 ● 连接线
电路图: 以下是使用Arduino的激光安全系统的电路连接图:
激光二极管模块KY-008:
用于Arduino的激光发射器模块KY-008发出点状的红色激光束。 KY-008激光发射器模块包括一个650nm红色激光二极管头和一个电阻。小心操作,请勿直视激光头。
激光发射器模块KY-008的规格如下: ● 工作电压 - 5V ● 输出功率 - 5mW ● 波长 - 650nm ● 工作电流 - 小于40mA ● 工作温度 - -10°C〜40°C ● 尺寸 - 18.5毫米x 15毫米
项目工作原理: 该项目基本上是基于中断的原理进行的。如果以任何方式打断了激光发射灯,将启动警报,只有通过按钮将其复位。激光是一种集中光源,可发出单色的直光束。
LDR对光敏感,当激光打到LDR时会产生电压。当激光束中断且无法到达LDR时,其电压输出会发生变化,最终警报会响起。
源代码/程序: - int laserPin = 3;
- int sensorPin = A0;
- int buttonPin = 12;
- int buzzerPin = 11;
- int laserThreshold = 10;
- void setup() {
- pinMode(laserPin, OUTPUT);
- pinMode(buttonPin, INPUT_PULLUP);
- Serial.begin(9600);
- }
- boolean alarmState = false;
- void loop() {
- if (! alarmState) {
- delay(1000);
- digitalWrite(laserPin, HIGH);
- delay(10);
- unsigned long startTime = millis();
- while (millis() - startTime < 1000) {
- int sensorValue = analogRead(sensorPin);
- Serial.println(sensorValue);
- if (sensorValue > laserThreshold) {
- alarmState = true;
- break;
- }
- delay(10);
- }
- digitalWrite(laserPin, LOW);
- } else {
- tone(buzzerPin, 440);
- if (! digitalRead(buttonPin)) {
- alarmState = false;
- noTone(buzzerPin);
- }
- delay(10);
- }
- }
复制代码
|