亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino Laser Tripwire

组件和用品

Arduino UNO
或兼容的 Arduino Uno 板
× 1
无焊面包板半尺寸
× 1
电阻 10k ohm
× 3
跳线(通用)
× 1
光敏电阻
× 2
激光二极管
× 1
SparkFun 按钮开关 12mm
× 1
蜂鸣器
× 1

应用和在线服务

Arduino IDE

关于这个项目

制作激光绊线

组件

我们将需要以下内容:

  • 一些跳线
  • 3 x 10k 电阻
  • 2 x 光敏电阻
  • 一个按钮
  • 蜂鸣器
  • 激光
  • 一个 Arduino
  • 面包板
  • 和一面镜子

我还为激光检测电路使用了一个单独的面包板。 (这有助于将激光堆放在光敏电阻上。)

制作激光探测器

我将从电路的激光检测部分开始。

首先抓住两条跳线。我有红色的和黄色的。将两根跨接线放入 2 个单独的端子排中。抓住一个光电阻器并将其连接到红色引线和端子条。将另一个光敏电阻放在不同的端子排和红色引线之间。将一个 10k 电阻从黄色引线连接到一个光敏电阻器,将另一个 10K 电阻器连接到另一个光敏电阻器和黄色引线之间。再取两条引线并将它们连接到光电阻器和 10k 电阻器的每个交叉点。我使用了绿色和橙色跳线。

将黄色引线连接到面包板的负极,将红色引线连接到面包板的正极。将橙色连接到 A0(连接到此的光敏电阻将是激光探测器),将绿色连接到 A1(连接到此的光敏电阻将是环境光探测器)。

接下来让我们做蜂鸣器

将蜂鸣器放在面包板上的任何位置。在负极导轨和蜂鸣器的负极之间连接一根引线。将蜂鸣器的正极连接到Arduino的引脚3。

制作按钮

接下来,我们要制作按钮部分

将按钮放在 2 个端子排之间(确保只有在 2 个端子排之间按下按钮时才接触)。将最后一个 10k 电阻器放在按钮的一端和负极引脚上。我用跳线将它连接到地轨。将按钮的另一端连接到正极导轨。然后将按钮和电阻的交叉点连接到Arduino的引脚4。

是时候使用激光了!

最后让我们将激光器连接到引脚 2 和地。我已经将 Arduino 上的引脚用于这两个方面。我使用了一种廉价的激光器,通过将鳄鱼夹连接到弹簧和外壳,并用一些尼龙搭扣按住按钮来“破解”。

我已经编写了一个程序来运行激光绊线。

它会不断检查按钮是否被按下。如果按下我们进入设置模式,如果再次按下我们进入武装模式。

如果我们处于设置模式,它会执行以下操作:

  • 它将值输出到串行端口。
  • 当光敏电阻上的灯足够亮时,引脚 13 亮起。此功能允许您瞄准激光。

在武装模式下,它执行以下操作:

  • 它每 3 秒通过串行通信报告一次。
  • 它检查光敏电阻的值是否由于激光被破坏而下降,当激光束被破坏时,跳闸模式启动。

在跳闸模式下,绊线已“跳闸”:

  • 蜂鸣3次,数据发送到串口,
  • 然后返回到布防模式。

代码

  • 激光绊线
激光绊线Arduino
// 5 针绊线// Variablesint mode =1;int ambiant;int trip =1000; // 使用laserint时得到的光值 minLight =900;int makeBeep =1; //0 表示没有哔哔声,1 表示哔哔声!int atAverage;long millisCount;// 输出 Pinsint LaserPin =2;int ledPin =13;int buzzerPin =3;String modeNames[3] ={"SETTINGS","ARMED", "TRIP"};// 输入 Pinsint modePin =4; int tripPin =A0;int ambiantPin =A1;void setup() { pinMode(ledPin, OUTPUT); pinMode(laserPin,输出); pinMode(蜂鸣器Pin,输出); pinMode(modePin, INPUT); Serial.begin(9600);}void loop() { // 当按钮被按下 if (digitalRead(modePin) ==1) { trip =analogRead(tripPin);模式=模式+1;如果(模式> =2){模式=0; } 哔(1);延迟(300); } //当模式改变时做一些事情 switch (mode) { case 0://校准模式 digitalWrite(laserPin,HIGH); ambiant =模拟读取(ambiantPin);旅行 =模拟读取(tripPin); atAverage =ambiant + ((trip - ambiant)/2);统计(); if (trip>
=minLight) { digitalWrite(ledPin,HIGH); } else { digitalWrite(ledPin,LOW); } 休息; case 1:// 武装模式 digitalWrite(laserPin,HIGH);数字写入(ledPin,低); ambiant =模拟读取(ambiantPin); atAverage =ambiant + ((trip - ambiant)/2); if (analogRead(tripPin) =3000) { millisCount =millis();统计(); } 休息; case 2://跳闸模式 if ((millis() - millisCount)>=1000) { millisCount =millis();统计();哔(3);模式 =1; } 休息; } 延迟(1); // 稍等一下}//It Beepsvoid beep(int qty) { int count; if (makeBeep ==1) { for (count =1;count<=qty;count++) { digitalWrite(buzzerPin, HIGH);延迟(50);数字写入(蜂鸣器引脚,低);延迟(50); } }}//将统计信息写入串口void stats() { Serial.print("A:"); Serial.print(环境); Serial.print(" T:");串行打印(旅行); Serial.print(" AT:"); Serial.print(atAverage); Serial.print(" 模式:"); Serial.print(modeNames[mode]); Serial.println("");}

示意图

面包板视图 示意图

制造工艺

  1. Squid Games Doll 使用 Arduino UNO
  2. 带有伊斯兰祈祷时间的 Arduino 时钟
  3. 使用 Arduino Uno 的人体检测机器人系统
  4. WebServerBlink 使用 Arduino Uno WiFi
  5. 简单的 UNO 计算器
  6. 使用 Arduino UNO 在 LCD TFT 屏幕上显示图像!
  7. 视觉的坚持
  8. 使用 Arduino Uno 控制 LED 矩阵
  9. Wi-Servo:Wi-Fi 浏览器控制的伺服电机
  10. Arduino Uno + 电子设备(灯泡)+ Android 手机
  11. 智能手机上的温度监控
  12. 25 kHz 4 Pin PWM 风扇控制与 Arduino Uno