目录
简介:HC-SR04读卡器模块,以减轻Arduino
HC-SR04超声波距离传感器在机器人技术中非常流行。基本上,任何避障机器人的物体都使用这种传感器,它很好用,易于使用便宜又准确,但是一旦你开始做一些更复杂的机器人,你就可以开始看到问题,而这个问题就是时间。使用此传感器测量距离需要花费大量时间,有一些替代方法,如精密的传感器,可以超快速地检测物体,但它们的输出是二进制的,因此您可以检测是否存在指定范围内的物体,但您不知道多远。对于一些机器人来说,这些传感器是完美的,但还有另一个问题 – 价格。它们几乎是HC-SR04的10倍。所以在这里我开始考虑将这两者结合起来。我想出了一个模块,你可以将其插入HC-SR04,并将读取距离的数值给Attiny微控制器,输出可以是二进制的,你的主处理器就可以解除了!简单但美观的解决方案,同时便宜:)想知道在哪里可以使用这种传感器?那就继续往下看吧!
第一步:零件清单
零件清单不是很多,您可以在任何店找到它们中的大部分,如果我发现了某些东西,或者在我们的商店进行购买:
- HC-SR04
- Attiny45 / 85
- 电位器
- 1206贴片电阻
- 1206 LED
您还需要一些工具,例如:
- 烙铁
第二步:PCB,原理图和文件
您可以在上面找到所有文件,包括原理图和PCB设计,还有可用于制造该PCB的Gerber文件。您可以根据自己的需要随意修改文件,记住我的所有项目都是非商业性的,因此不能拿来销售。
原理图非常简单,只有几个组件,您可以使用它来正确安装PCB上的所有内容。
如果您不想在这个项目中使用PCB,您可以将所有这些连接到面包板上,只是会更大一些,但如果您不会焊接,那么这对您来说是最简单的方法!下面是设计图文件下载:
设计图
第三步:焊接
焊接非常简单。从最小的元件(电阻器和LED)开始,然后继续焊接更大的元件,这样就可以更简单地焊接所有元件。确保所有元器件焊接正确,并且没有任何短路。如果您不想在此项目中使用PCB,并且想要在面包板上连接所有这些,请跳过此步骤并按照上面步骤中的原理图进行操作。
第四步:上传代码
一旦所有东西都焊接在PCB上,我们就可以将程序上传到Attiny。下面是程序:
#define TRIG 2
#define ECHO 3
void setup() {
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
}
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
float t = pulseIn(ECHO, HIGH);
float distance = t*0.017015;
Serial.print("Distance: ");
Serial.println(distance);
delay(500);
}
我们必须将USBasp下载器(或任何其他适用于Arduino IDE的下载器)连接到微控制器,然后将程序烧录进去:
第五步:测试和调整
当您的程序都调好了的时候,您可以插入HC-SR04模块(请查看上面的照片以正确插入,否则可能会损坏主板)。
您可以使用4V和5V之间的电压为其供电。当距离小于您使用电位计设置的距离时,电路板上的LED将亮起。要改变距离,可以使用螺丝刀。当一切正常时,您可以继续下一步。如果不是,请检查您的焊接并确保您的电路和我的原理图匹配。
第六步:可能的应用
恭喜你,你完成了最后一步!要将此模块与Arduino一起使用,您必须将模块的VCC连接到Arduino的5V,模块的GND连接到Arduino的GND,并将模块的引脚连接到任何Arduino引脚。
你怎么用它?嗯,可能性是无穷无尽的。您可以将它用于您的机器人项目,因为我将为我的下一个项目做更多关于这一点:)您可以修改代码,将舵机连接到它并直接从该板控制舵机。您无需任何额外的外部微控制器即可对其进行修改和使用。它是一块具有很大潜力的小板,它将使我的下一个项目变得更加容易。