- 创客玩智能控制电子制作
- DFRobot
- 604字
- 2024-11-02 00:15:16
01 超声波控制的微景观灯光装置
◇KE学怪人
最近我闲下来可以养养花花草草了,不过既然我叫“KE学怪人”,还是手痒,又做了个跟“科学”相关的东西。
微景观是在网上买的,寄到后自己DIY一下就好了。上面的灯原来就有,只不过是手动的,我嫌开关灯太麻烦,而且亮度有些不够,所以动手改了一个超声波控制开关灯和调整亮度的电路,把它加亮后做成个小夜灯,现在分享给大家。
制作所需配件见表1.1。
表1.1 制作所需配件
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0009_0001.jpg?sign=1739332274-1h2mLKhcHHQRoMclQZQCCzggrlYCiE0e-0-c0999c59a4e5181782312ec8f99c54b6)
先来把微景观组装好,如图1.1~图1.3所示。然后我们开始做灯,先来看看所需配件,如图1.4所示。
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0009_0002.jpg?sign=1739332274-Ma1cAQxhdjyp7gQFY4pWrvxQcGT7hduR-0-54eaeadfb3e8b98d77668355831623b7)
图1.1 组装微景观1
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0009_0003.jpg?sign=1739332274-liztgNZJMQPVUZ9tPo4hQECz67ECETcD-0-078288efea7a53473356eec3eaeb2afc)
图1.2 组装微景观2
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0009_0004.jpg?sign=1739332274-lkbM3vD6yQ46H9X8lxgrOKTfsq5dJiuz-0-44e6fe15ec0f650031a68c0df464034d)
图1.3 组装微景观3
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0010_0001.jpg?sign=1739332274-cPYvELS5bdsdCjghZ8Y9PBbLQgrGqWpY-0-6e11d9363c55601b544c4b0276c07596)
图1.4 制作所需配件
电路连接示意图如图1.5所示,专业人士还可以再优化一下。按图1.5连接好各模块,实物如图1.6所示。
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0010_0002.jpg?sign=1739332274-muJkKtgyRWLaSAjb38GJMoIwdZtuZbkZ-0-0844044d7f3a754f19becb0841e4bfed)
图1.5 电路连接示意图
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0010_0003.jpg?sign=1739332274-pHovJdyjfFsyGMnfNKx1oQWGamZFFrVK-0-e5fea296f48e7e68b9f2f8a78c377b6f)
图1.6 连接好的电路
将以下代码上传到Arduino NANO。
const int TrigPin = 6; const int EchoPin = 5; int distance; void setup() { Serial.begin(9600); pinMode(TrigPin, OUTPUT); pinMode(EchoPin, INPUT); pinMode(11, OUTPUT); //led } void loop() { digitalWrite(TrigPin, LOW); delayMicroseconds(2); digitalWrite(TrigPin, HIGH); delayMicroseconds(20); digitalWrite(TrigPin, LOW); distance = pulseIn(EchoPin, HIGH) / 50; int led; if(distance<40) { led=(distance- 10)*(distance-10); if(led>=255) {led=255; } analogWrite(11, led); } if(distance<12) { led=0; analogWrite(11, led); } }
然后在软木盖的顶上开孔,完成后如图1.7所示。
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0010_0004.jpg?sign=1739332274-jnbv1TY03KbaeDQK45GTZsCBjPra1wUW-0-a04c3ade701f031f2dbe261e121a6db3)
图1.7 在软木盖顶上开孔
再把所有模块一并装入软木盖里(装入前先检查一下模块是否工作正常),如图1.8所示。软木盖内侧如图1.9所示,LED灯的外壳是用原来的灯外壳改制的。
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0011_0001.jpg?sign=1739332274-mTVpEYoDgTcfYjK8Y5YR27842NXFCEQE-0-3c1edad00758af65a92c2a49de77bc37)
图1.8 将所有模块装入软木盖中
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0011_0002.jpg?sign=1739332274-GfGCI9Y7k0A1FYXo891gUQdK4a0JC2GF-0-1cf6041f6c2eb5e953b0fa01ae6a6b05)
图1.9 软木盖内侧
这样,我们的超声波控制灯就OK了(见图1.10),它可以根据手和超声波模块的距离来控制:把手放到模块的远端就开灯;手离模块越近,灯光越暗;把手放到最近的地方就关灯了。
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0011_0003.jpg?sign=1739332274-ez3LZbhIqx8PQbipG7rJD71HvW7RXaOE-0-faec1fed5ea7f326cccc1e759661da01)
图1.10 超声波控制灯完工
演示视频:http://v.youku.com/v_show/id_XMTI0OTE0MDE0NA==.html
![](https://epubservercos.yuewen.com/59639E/11229176404756306/epubprivate/OEBPS/Images/figure_0011_0004.jpg?sign=1739332274-M2cMx64fITmxzQU3YfOqhzoGJ6hkWW1q-0-dcfe2791f380a1a5af93ff47f7a2465d)