0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制作带超声波传感器的无限远镜

454398 来源:工程师吴畏 2019-08-19 16:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:需要的部件

如何制作带超声波传感器的无限远镜

对于这个项目,我从一个旧的阴影盒购买二手商店。由于它的形状很好并且已经安装了一块玻璃,我不需要做任何进一步的工作。任何阴影盒或深框架都可以工作,它只需要足够大,可以将LED灯条固定在里面,并有前玻璃和后视镜的空间。

您需要的其他部件包括

Shadowbox

镜子窗膜

Arduino Uno(或类似的Arduino芯片组)

LED灯条(确保它是5V)

四个超声波传感器

母头(这可能是可选的)

一个电容器(大约100uF到220uF可以工作)

一个电阻器(任何200-600欧姆都可以工作)

电池组(我用18650制造自己的电池,但9V电池可以工作)

你还需要一个少量供应。

烙铁(可以只使用压接机)

热胶枪

玻璃切割器(如果需要镜子或玻璃)

连接线,我使用了一条旧的网络电缆(CAT5)

Dupont压接器(可选,但非常有用)

3D打印机(我的是Robo3D)

我的建议是提示根据你的供应量来确定。这些是我使用过的耗材。

第2步:在胶片上添加胶片

我做的第一步是在我的镜头上添加一个镜像胶片前玻璃。事实证明这是非常容易的。

无限远镜使用后视镜和前玻璃上的“双向”镜子的方式。然后光线会在后视镜和双向镜子之间反弹,最终逃离双向镜子。留下镜子无限深的效果。

我使用的是银色窗帘遮光膜,涂抹后留下非常镜面的效果。您也可以尝试不同的胶片效果以获得其他效果。

只需按照胶片附带的说明将其涂在前玻璃背面即可。对于我的胶片,你将肥皂水涂在玻璃上,将胶片切成精确的尺寸(或略小),涂抹并用刮刀将多余的水挤出。让它干一夜,你就完全了。

第3步:安装LED灯条

衡量你的阴影框的内部尺寸,并确定四个边中的每个边上应有多少个LED。如果每侧有奇数个LED,它将工作得最好。具有奇数将允许一个LED作为灯的中心

一旦确定每侧需要多少个LED,请仔细切割LED灯条,确保只切割指定的LED您可以保持最终切割部件的正确极性。

切割LED后,将它们干燥安装到阴影箱中,并仔细测量需要多少连接线才能将它们重新连接到阴影箱中。角落。你可以避免切割一些角落,这一切都取决于你的影子箱的大小。对于我的,我只需要切割其中一个角落。

用短线焊接切割的LED条带,如果使用裸线,则应用热缩管。通过对齐箭头确保维持LED的正确极性。

在LED灯条的起始处,焊线会导致连接到Arduino。这些引线将通过后视镜进行捕捉。

在正确切割和焊接LED之后,将背胶粘贴并粘贴在框架上,将它们安装在阴影盒内部。不要相信粘合剂会粘住,因此在整个LED灯条的关键位置涂上热胶。在拐角处特别小心,因为它们将首先在那里松散。

步骤4:为超声波传感器构建软件

将超声波传感器连接到该项目的方法有很多种。我通过将电线引线连接到母头的4个引脚上,然后将头部热胶粘到框架的背面。这允许我插入我的超声波传感器并在必要时将其移除。

在每个标题上使用4根不同颜色的电线,并保持顺序与阴影盒周围的顺序完全相同。我们稍后将所有+ 5V和GND线连接在一起,每个ECHO,TRIGG线将连接到Ardiuno。保持颜色一致将使该过程更容易。

将电线焊接到接头后,我为每个接头添加了一小段收缩管。

或者,超声波传感器可以直接焊接到电线上并安装在阴影箱上。

步骤5:安装镜子和背面

超声波传感器接头粘合后,是时候将镜子粘到遮阳板背板上并安装背面。如果您的镜子太大,请使用玻璃切割器将其切割成正确的尺寸。请注意,正确的尺寸可能会比你的支持者小一点1/2英寸。

我的影子盒使用框架中的一个凹槽来固定背部,然后使用两个小金属钩来固定它地方,给我的支持者一个小角度。您的设计可能会有所不同。

使用热胶,在背面涂上一些大胶水,然后将镜子按到位。镜子粘合后,将电线绕在电线周围并将其连接到框架上。如有必要,在每个角落涂抹少量热胶。

在安装背面之前,最好先测试一下LED灯条,确保所有接线都正确无误。此外,确保在连接之前将LED线引线从背面拉出,因为我们将在下一步中需要这些引线。

步骤6:连接Arduino Uno和Ultra Sonic传感器

收集超声波传感器的所有GND线,并将尾纤线连接到束上,然后将它们全部焊接在一起。这将成为我们所有传感器的共同基础。尾纤线将插入Arduino UNO。

对所有超声波传感器的+ 5V线路重复此过程。你应该将所有的线束都焊接在一起,并将一根引线插入Arduino。

接下来,LED灯条的GND和+ 5V应该在其电源上获得一个100-200uF的电容。确保观察到正确的极性,电容的负极在GND线上。我使用与传感器公共电线相同的技术将我焊接在一起。

最后,在LED灯条的DATA线上,串联一个200-500欧姆的电阻器。这将确保我们的LED灯带不会产生电流涌入,导致我们的第一个LED烧坏。

在所有连接处添加热缩管。下一步显示电路图是否有用。

完成所有接线后,将每根导线连接到Arduino。 GND至GND,+ 5V至+ 5V,LED数据至PIN 10,传感器至PIN 2-9。

我用我的压接器将杜邦端部添加到每根电线上。如果您没有压接器,可以将连接线焊接到每根导线或将它们焊接到插头引脚。

步骤7:电路图

这是我设计的电路图。乍一看可能看起来很复杂,但它只有4个传感器,每个传感器有4根线和LED灯条。

步骤8:Arduino代码

我选择使用传感器周围的脉冲LED制作橙色中心点,以测量最近的物体。当然,由于你有传感器和基本代码,你可以做一些完全不同的事情。

注意:

这使用Adafruit NeoPixel库,确保你正确安装该库。

传感器的确切顺序及其PIN码。

调整阴影框使用的总像素数。

根据需要调整颜色。

告诉代码“角落”的位置,这些是盒子每一边的中心点。

#include

const int NUMPIXELS = 26;

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, 10);

const int NUMPIXELS = 26;

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, 10);

const int topTrigPin = 2;

const int topEchoPin = 3;

const int leftTrigPin = 4;

const int leftEchoPin = 5;

const int botTrigPin = 6;

const int botEchoPin = 7;

const int rightTrigPin = 8;

const int rightEchoPin = 9;

void setup() {

Serial.begin(9600);

pixels.begin();

}

int corners[4] = {16, 23, 3, 10};

int focusPoint = 20;

int focusMoveTo = 20;

int rainbow = 0;

uint32_t rainbowColor = Wheel(0);

unsigned long previousMillis = 0;

void loop() {

unsigned long currentMillis = millis();

if (currentMillis - previousMillis 》= 500) {

previousMillis = currentMillis;

long top = readSensor(topTrigPin, topEchoPin);

long left = readSensor(leftTrigPin, leftEchoPin);

long bot = readSensor(botTrigPin, botEchoPin);

long right = readSensor(rightTrigPin, rightEchoPin);

Serial.print(“t:”);

Serial.print(top);

Serial.print(“l:”);

Serial.print(left);

Serial.print(“b:”);

Serial.print(bot);

Serial.print(“r:”);

Serial.println(right);

rainbowColor = (Wheel((rainbow) & 255));

rainbow = (rainbow + 1) % 255;

if (top 《 left && top 《 bot && top 《 right ) {

// move to top

focusMoveTo = corners[0];

} else if (left 《 top && left 《 bot && left 《 right) {

// move to left

focusMoveTo = corners[1];

} else if (bot 《 top && bot 《 left && bot 《 right ) {

// move to bot

focusMoveTo = corners[2];

} else if ( right 《 top && right 《 left && right 《 bot ) {

// move to right

focusMoveTo = corners[3];

}

}

if (focusPoint != focusMoveTo) {

if (focusPoint 》 focusMoveTo) {

focusPoint--;

} else {

focusPoint++;

}

}

bounceAround(focusPoint);

delay(30);

}

int pos = 0;

long readSensor(int trigPin, int echoPin) {

pos++;

if (pos == 5) {

pos = 0;

}

return pos;

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

long duration, cm;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

return microsecondsToCentimeters(duration);

}

long microsecondsToCentimeters(long microseconds)

{

return microseconds/29/2; // to convert time into distance

//The speed of sound is 340m/s or 29 microseconds per centimeter.

//the ping travels out and back so distance from the obstacle is half of the distance travelled

}

int bounceSize = 5;

int bounceSizeMax = 5;

int bounceDirection = 1;

void bounceAround(int point) {

setAll(rainbowColor);

if (bounceSize 《= 0) {

bounceDirection = 1;

} if (bounceSize 》= bounceSizeMax) {

bounceDirection = -1;

}

bounceSize += bounceDirection;

pixels.setPixelColor(point, pixels.Color(0,250,0));

for(int i = 1; i 《= bounceSize; i++ ){

pixels.setPixelColor(point - i, pixels.Color(40*i,40*i,40*i));

pixels.setPixelColor(point + i, pixels.Color(40*i,40*i,40*i));

}

showStrip();

}

void showStrip() {

pixels.show();

}

void setAll(uint32_t color) {

for(int i = 0; i 《 NUMPIXELS; i++ ) {

pixels.setPixelColor(i, color);

}

}

void setAll(byte red, byte green, byte blue) {

for(int i = 0; i 《 NUMPIXELS; i++ ) {

pixels.setPixelColor(i, red, green, blue);

}

}

// Input a value 0 to 255 to get a color value.

// The colours are a transition r - g - b - back to r.

uint32_t Wheel(byte WheelPos) {

WheelPos = 255 - WheelPos;

if(WheelPos 《 85) {

return pixels.Color(255 - WheelPos * 3, 0, WheelPos * 3);

}

if(WheelPos 《 170) {

WheelPos -= 85;

return pixels.Color(0, WheelPos * 3, 255 - WheelPos * 3);

}

WheelPos -= 170;

return pixels.Color(WheelPos * 3, 255 - WheelPos * 3, 0);

}

步骤9:3D打印支架

背面有Arduino和电池,它不适合贴合墙壁,所以我决定设计和3D打印一个简单的立场。经过4次修改,这是我提出的立场。它有足够的空间放置底部超声波传感器并紧紧握住我的影子盒。

你可能决定用你的影子箱做一些不同的事情。

第10步:总结

将Arduino和电池组粘贴到框架的背面,你就完成了!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 超声波传感器

    关注

    18

    文章

    633

    浏览量

    38298
  • 远镜
    +关注

    关注

    0

    文章

    6

    浏览量

    6086
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2026 SENSOR+TEST精彩预告 | 奥迪威将现场展出超声波流量传感器

    2026年6月9日至11日,全球传感器与测试测量行业的目光将再次聚焦德国纽伦堡——SENSOR+TEST展会即将盛大开幕。奥迪威诚邀您莅临1-521号展位,亲身体验智能超声波流量传感器的卓越性
    的头像 发表于 05-22 10:52 238次阅读
    2026 SENSOR+TEST精彩预告 | 奥迪威将现场展出<b class='flag-5'>超声波</b>流量<b class='flag-5'>传感器</b>

    原理、材质、抗干扰、成本:超声波与涡流单双张传感器终极对比

    单双张检测传感器选择超声波型还是涡流型? 涡流型与超声波单双张传感器的核心区别在于:涡流只测金属、靠电磁感应;超声波金属 / 非金属通用、靠
    的头像 发表于 05-21 14:53 136次阅读
    原理、材质、抗干扰、成本:<b class='flag-5'>超声波</b>与涡流单双张<b class='flag-5'>传感器</b>终极对比

    超声波压力传感器:精准感知,开启智能监测新时代

    在工业自动化、环境监测、智能家居等众多领域,压力监测的精准度与可靠性至关重要。超声波压力传感器,凭借其独特的原理和卓越的性能,正逐渐成为这些领域中不可或缺的关键设备,为各行业的智能化发展注入强大
    的头像 发表于 03-30 08:43 322次阅读
    <b class='flag-5'>超声波</b>压力<b class='flag-5'>传感器</b>:精准感知,开启智能监测新时代

    为什么超声波传感器不能直接显示氧气浓度?

    超声波氧气流量传感器是一种常用于便携式制氧机的核心部件,它利用超声波技术来感知氧气流动和浓度变化。虽然名字里带有“浓度”二字,但很多用户在实际使用中会发现:它并不能像其他传感器那样,直
    的头像 发表于 03-20 12:04 347次阅读
    为什么<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>不能直接显示氧气浓度?

    哪些因素影响超声波传感器检测范围与精度

    超声波技术,以其可靠性高和适应范围广而闻名,它能够适用于不同的应用场合。因其可靠的测量方法,超声波传感器可以承担各类复杂的检测和监控任务。
    的头像 发表于 03-10 14:02 428次阅读

    倍加福超声波传感器的选型攻略

    超声波传感器凭借非接触、高精度的测距能力,广泛应用于各类场景。但面对不同的工作模式与应用需求,如何快速准确地完成选型?
    的头像 发表于 02-02 11:42 781次阅读

    ICU-30201:超远距离超声波飞行时间测距传感器的卓越之选

    ICU-30201:超远距离超声波飞行时间测距传感器的卓越之选 在电子设计领域,传感器的性能和特性对于产品的功能和质量起着至关重要的作用。今天,我们要深入探讨一款备受瞩目的传感器
    的头像 发表于 12-25 14:20 900次阅读

    通用型液位超声波传感器GPLUS:设计与应用的绝佳之选

    通用型液位超声波传感器GPLUS:设计与应用的绝佳之选 在电子工程师的日常设计工作中,液位监测是一个常见且关键的需求。今天,我要为大家介绍一款来自SSI Technologies, LLC(安费诺
    的头像 发表于 12-11 14:25 607次阅读

    超声波传感器:安防领域的“隐形守护者”

    在科技飞速发展的今天,安全防护已成为社会各界关注的焦点。无论是住宅小区、商业场所,还是工业园区,一套高效可靠的安防系统都是保障人员与财产安全的关键。而在众多安防技术中,超声波传感器凭借其独特的优势
    的头像 发表于 11-26 08:44 468次阅读
    <b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>:安防领域的“隐形守护者”

    什么是超声波原理的液位传感器

    超声波液位传感器是一种基于超声波反射测距原理的非接触式液位测量设备,核心功能是通过发射与接收超声波信号,计算声波传播时间差来反推容器内液位高
    的头像 发表于 11-25 11:32 1338次阅读
    什么是<b class='flag-5'>超声波</b>原理的液位<b class='flag-5'>传感器</b>?

    超声波传感器线圈:自动驾驶实现精确实时近距离感知的关键

    超声波传感器线圈是自动驾驶系统中不可或缺的组成部分。随着自动驾驶技术的快速发展,各类传感器成为智能汽车感知环境的关键,不仅保障行车安全,也提升了驾驶效率与体验。在这其中,超声波
    的头像 发表于 11-12 16:03 534次阅读

    无线超声波测距传感器:精准感知,开启智能测距新时代

    在科技飞速发展的今天,距离测量不再局限于传统的卷尺、激光等工具,无线超声波测距传感器凭借其独特的优势,正逐渐成为工业自动化、智能家居、汽车安全等领域的“智慧之眼”,为我们的生活和工作带来前所未有
    的头像 发表于 09-09 08:35 1111次阅读

    高频超声波传感器:科技浪潮中的“隐形守护者”

    在科技飞速发展的今天,高频超声波传感器正以“隐形守护者”的姿态,悄然渗透进工业、医疗、交通、家居等各个领域,用无声的超声波编织起一张智能感知的网,为人类生活带来前所未有的便捷与安全。 工业制造
    的头像 发表于 09-05 08:32 867次阅读
    高频<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>:科技浪潮中的“隐形守护者”

    微型超声波传感器:小身躯里的探测革命,开启智能感知新维度

    在智能家居的自动窗帘随光而动、无人机的避障飞行穿梭楼宇、智能医疗设备的精准监测守护健康时,一个不起眼的“微型卫士”正悄然改变着科技与生活的交互方式——它就是微型超声波传感器。凭借毫米级的身材与毫米波
    的头像 发表于 07-11 08:42 1177次阅读
    微型<b class='flag-5'>超声波</b><b class='flag-5'>传感器</b>:小身躯里的探测革命,开启智能感知新维度

    超声波换能器:原理与多领域应用解析

    、重量轻的特点,便于集成到一些小型化的设备中,如微型传感器、小型超声成像探头等 。静电式换能器的频率响应特性较好,能够产生高频、高精度的超声波信号,在一些对信号精度和频率要求苛刻的科研和医疗领域具有
    发表于 06-28 15:09