本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Arduino的防睡眠眼镜

发布时间:2021-09-16
分享到:

基于Arduino的防睡眠眼镜

发布时间:2021-09-16
分享到:

我在这里有一个项目,你可以用很少的组件来构建。在本教程中,我将向您展示如何使用 Arduino 和一些非常基本的电子元件制作防睡眠眼镜。每当驾驶员在驾驶车辆时进入睡眠状态,这款眼镜就会提醒驾驶员。因为疲劳驾驶上是危险的,有时它可能会导致为轻微的事故,甚至死亡。所以为了防止这种事故的后果,我们可以使用这个小工具在司机感到困倦时提醒他。所以让我们看看并学习如何自己制作一个简单的防睡眠眼镜。

第 1 步:零件清单:

使用的组件:

  • Arduino Pro Mini X1 
  • 红外传感器 X1
  • 晶体管 BC547 X1
  • 振动器 X1 
  • 5 伏蜂鸣器 X1 
  • 电阻器
  • 4.7K x1
  • 3.7V 电池 X1 
  • 眼镜架 X1 

只需收集上述所有组件

让我们了解一下这个项目是如何运作的?

第 2 步:它是如何工作的?

该项目的工作基于红外传感器,该传感器是该项目的核心。

让我们来看看红外传感器。在图片中,我展示了一个典型的 IR 传感器,基本上它有一个发射器 IR LED、一个光电二极管、一个运算放大器 IC 和一个电位计。

光电二极管放置在 IR LED 旁边,这样它就不能直接接收 IR 射线。光电二极管对红外辐射敏感。它的阴极连接到正电压,即 5 伏,阳极连接到运算放大器的同相输入,该放大器也通过 10 千欧电阻下拉。红外传感器中的电位器用于设置传感器的灵敏度距离,它连接到运算放大器的反相输入端。IR LED 持续发射红外线,如果有任何物体在它前面,红外线会被反射回来,由于红外线辐射的这种变化,它被光电二极管接收,阳极电压发生变化,阳极电压发生变化取决于光电二极管接收到的 IR 辐射。接收到的 IR 辐射更多的是阳极电压的变化。红外传感器的输出取自运算放大器的输出。我们可以通过旋转传感器上的电位器来调整灵敏度距离,旋转电位器意味着我们为运算放大器的同相输入设置了阈值电压。每当同相输入上的电压大于阈值电压时,同相输入上的电压(即来自光电二极管的 +ve 电压)将被转发,并在运算放大器的输出(即传感器的输出)上获得正脉冲。我们旋转电位器,这意味着我们为运算放大器的同相输入设置了阈值电压。每当同相输入上的电压大于阈值电压时,同相输入上的电压(即来自光电二极管的 +ve 电压)将被转发并在运算放大器的输出(即传感器的输出)上获得正脉冲。我们旋转电位器,这意味着我们为运算放大器的同相输入设置了阈值电压。每当同相输入上的电压大于阈值电压时,同相输入上的电压(即来自光电二极管的 +ve 电压)将被转发并在运算放大器的输出(即传感器的输出)上获得正脉冲。

附上典型的红外传感器电路图,以供参考。

我们来看看项目的主电路图。我将一个 IR 传感器连接到 Arduino Pro Mini 板上,作为传感器的 Vcc 连接到 Arduino Pro Mini 的 VCC,接地,传感器的输出连接到 Arduino Pro Mini的模拟引脚一 ( A1 )。我使用了旧手机的 5 伏蜂鸣器和振动电机来发出警报。我并联了蜂鸣器和振动器电机,并使用了通用 NPN 晶体管(BC547) 来驱动它们。三极管的发射极接地,集电极接蜂鸣器和振动电机的负极。振动电机和蜂鸣器的正极进一步连接到Arduino Pro Mini的vcc。晶体管的基极通过 4.7 千欧电阻连接到 Arduino Pro Mini 的引脚 D3。

第 3 步:连接电路板

在这里我没有使用任何 PCB 来制作电路,因为它的电路并没有那么复杂。我使用热胶将传感器粘在 Arduino pro 迷你板上,并用短软线焊接。在它旁边之后,我做了一个蜂鸣器单元,其中包括振动器、蜂鸣器和晶体管,我将它安装在靠近耳朵的眼镜左杆上。还将电池粘在同一根棍子上,并在左眼附近安装一个开关按钮。将传感器贴在框架上,使其靠近眼睛。眼睛和传感器之间的距离不会超过 15 到 20 毫米。

第 4 步:与眼镜连接

将所有组件焊接并粘贴在框架上后,防睡眠眼镜就准备好了,上面是它的一些照片。现在让我们了解一些设置和编程。

第 5 步:传感器设置

如果您在将传感器粘在框架上之前这样做会更好,在连接所有组件后为其通电。现在将传感器灵敏度距离设置为最小值。大约 10 毫米或更小..

第 6 步:编程

Arduino pro mini 不附带任何类型的用于编程的 USB 连接器,这就是为什么初学者很难对其进行编程的原因。但是不用担心,我在这里描述了一种将程序上传到 Arduino pro mini 的简单方法。拿一个 arduino uno 并移除它的主要 IC,即 AtMEGA328P。然后将它与 arduino pro mini 连接起来,如上图所示。

  • Vcc -------------------------------- Vcc
  • 地线 ------------------------------ 地线
  • 接收 --------------------------------- 接收
  • 发送 ---------------------------------- 发送
  • Rst --------------------------------- Rst

接线后使用 USB 电缆将 Arduino Uno 与计算机连接。复制以下 Arduino 代码并将其放入 Arduino ide。现在转到工具菜单并选择板 Arduino Pro mini,再次转到工具菜单并选择 COM 端口。现在点击上传按钮。上传程序全部完成并准备播放后。

<p>int Sinput = A1;    // creating or assigning an int type variable for sensor input signal<br>int Buz=3;            // creating or assigning an int type variable for output buzz and vibrator</p><p>void setup()      /// in void setup we make the selected pins output or input.
{
  
</p><p>pinMode(Sinput, INPUT);  /// here it is sensors pin  so we are defining here that this pin is input pin 
pinMode(Buz, OUTPUT); /// here it is the pin used for transistor to control it,   so we are defining here that this pin is output pin</p><p>}
void loop()  
{
 
   
    if(digitalRead(Sinput)==LOW)
     {
       delay (2000);    // we are waiting for two second after the input pulse from the sensor. if the pulse is for more than  2 second then buzzer get triggered
  
       digitalWrite(Buz, HIGH);
     }
     else
      {
   
        if(digitalRead(Sinput)== HIGH)
            {
              
               digitalWrite(Buz, LOW);
           }
 
      }
   }</p>

第 7 步:组装完成

以上就是项目的全部内容,希望您能够喜欢我们的项目。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论