SunGlass-BOT [一副自动太阳镜]
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
一副可自动检测光线强度并关闭或打开其黑色阴影的太阳镜。
所以从现在开始,您无需担心眼睛。取而代之的是,这副眼镜可以自动保护您的眼睛,并可以打开窗帘以便在低光下观看。
这个机器人是使用 Arduino 和一些基本部件制成的。听起来很酷是不是?
更新:该机器人已被 HAckSpace 杂志评为最佳项目 https://hackspace.raspberrypi.org/issues/9
第 1 步:零件
- 1x Arduino Pro Mini (5v 16 MHz)
- 1x 微型伺服电机(任何型号都可以,但需要很小)
- 1x LDR(光敏电阻)
- 1x 10k 欧姆电阻
- 一副太阳镜
对于编程,您需要一个 USB 到 TTl 转换器或 Arduino Uno。我将使用 Uno 上传代码。
第二步:原则
我们将制作一个分压器电路并将其与 Arduino 连接。现在我们知道LDR是一个可变电阻,它的阻值会随着光强的变化而变化。由于我们的电阻是 10k,所以我们的值将在 0 到 1023 之间。如果有明亮或中等阳光,该值将小于 100。在室内光线下,该值将在 500 到 600 左右。如果太黑暗,金额将是 1023。你明白了,对吗?让我们继续!
第 3 步:电路
该电路很简单,可以构建。我已经在面包板上对其进行了测试,然后将其焊接到 Arduino Pro Mini 上。为 LDR 留出空间,因为它必须检测光线。
第 4 步:对 Arduino Pro Mini 进行编程
如您所见,我们在 Pro Mini 上没有 USB 编程选项。使用 USB 转 TTL 转换器或使用 Arduino Uno。毕竟,我们都有一个Uno,对吧?那为什么要浪费钱呢?
只需使用螺丝刀将 ATmega328P IC 从 Arduino Uno 上取下即可。然后按如下方式连接引脚:
- UNO -------- Pro mini
- 5v--------------vcc
- 地线------------地线
- tx----------------tx
- rx----------------rx
- 重置----------- 第一次
您可以观看视频(语言不同):
而已!然后连接 Arduino Uno USB 电缆并连接到您的 PC 或 Android 以上传代码。在上传之前转到工具>板类型>选择Arduino Pro Mini(在我们的例子中也选择正确的处理器5V 16 MHz)。看图。
然后上传代码。
代码链接:https://github.com/ashraf-minhaj/SunGlass-Bot-Auto...
//*SunGlass-Bot 一个由 ashraf minhaj 提供的自动太阳镜。//youtube 上的完整教程:www.youtube.com/c/fusebatti//如有必要,请联系 [email protected]#include伺服玻璃; //伺服名称int ldr=0; //将LDR连接到A0int value=0; //定义值 0void setup() { Serial.begin(9600); //这不是必需的-而是为了向pc显示价值 sglass.attach(9); //声明您连接的伺服器在哪个引脚}void loop(){ value =analogRead(ldr); //从A0 Serial.println(value)中读取值模拟;延迟(100); if(value<100) //根据需要更改值 { sglass.write(155); //黑玻璃下降延迟(100); //伺服器移动到那里的一点延迟 } else { sglass.write(80); //黑玻璃上升延迟(100); }}
上传它,看看它是如何工作的!
第 5 步:准备太阳镜
用力取下黑色眼镜,然后像这样将它们粘在硬线上。然后安装伺服器并添加一个伺服臂,将其与我们制作的额外玻璃框架粘合。您可以使用任何 5V 1A 电源为其供电。我将使用自制的移动电源。
第 6 步:完成!
给电路加电,你应该会看到 Arduino 亮起。现在出去玩这个看起来很奇怪但很神奇的太阳镜机器人吧!
代码
- subglass-bot.code.c
subglass-bot.code.cC/C++
//*SunGlass-Bot 由 ashraf minhaj 制作的自动太阳镜。//youtube 上的完整教程:www.youtube.com/c/fusebatti//如有必要,请联系 [email protected]#includeServo玻璃; //伺服名称int ldr=0; //将LDR连接到A0int value=0; //定义值 0void setup() { Serial.begin(9600); //这不是必需的-而是为了向pc显示价值 sglass.attach(9); //声明您连接的伺服器在哪个引脚}void loop(){ value =analogRead(ldr); //从A0 Serial.println(value)中读取值模拟;延迟(100); if(value<100) //根据需要更改值 { sglass.write(155); //黑玻璃下降延迟(100); //伺服器移动到那里的一点延迟 } else { sglass.write(80); //黑玻璃上升延迟(100); }}
sunglass-bot.code
https://github.com/ashraf-minhaj/SunGlass-Bot-Automatic-SunGlass-Robot-示意图
制造工艺