haoDIY创好电子音响电脑科技DIY小制作发明移动版

主页 > 电子DIY > 译文美国DIY综合制作 >

视障的超声波传感装置(Arduino)

视障的超声波传感装置(Arduino)

这个项目是做一个大学班级期末考试。无论是我的搭档,克里斯和我花了几个星期的时间在这个项目上,我们相当满意的结果。

这个项目背后的理念是协助视障人士的出行没有大的长藤,只是帮倒忙的需要。该装置结构紧凑,还允许用户使用他们的手和无需折叠起来,把手杖。

下面将教你如何创建一个设备,使用超声波传感器检测物体的距离,根据距离,给你所需的振动强度输出帮助用户“感觉”用振动环境。这个项目是相当复杂的,需要在电路的一些背景焊接,和编码。

步骤1:材料和工具

工具

  • 烙铁
  • 钢丝钳
  • 螺丝刀
  • 激光切割机(可选)
  • 一个Arduino程序计算机

材料

 

  • Arduino Uno
  • 超声波传感器(采用HC-SR04超声波)
  • 触觉电机
  • drv2605l触觉驱动器
  • 小Adafruit永久原板
  • 什锦丝(实芯优先)

 

步骤2:步骤1:通用硬件和布线

视障的超声波传感装置(Arduino)

定位在哪个位置你的微型控制器要对板不用焊锡控制器或电机呢,你会为软件测试需要他们,你可以稍后。

基于你选择开始焊接必要的导线板的位置:在VIN的一根导线,一为GND,一为SCL和SDA(没有一个线是在控制器的需要)。VIN和GND将两端焊接,一侧靠近控制器和板的正面和负面的其他部分。确保使线SCL和SDA足够长的时间来连接到Arduino。

一个更好的范围,不用焊锡超声波传感器直接向董事会,而重视长跳线,然后你将焊料。你将使用相同的布线对于传感器作为你为控制器。无论是VCC和GND导线将两端焊接到电路板上,而制动和回声你将焊料的长导线,以后会连接到Arduino。

最后,钎料在两线,最终连接控制器和传感器的Arduino的5V端口VCC / VIN,和一条线,将连接控制器和传感器的Arduino单接地端口接地。

一旦一切都是焊接,连接SCL的控制器端口A5和SDA的Arduino端口A4。连接传感器的触发的数字4和数字5的回声~ Arduino。

步骤3:步骤2:代码

所以,有趣的故事,当我们第一次开始测试这段代码非常完美。但是,突然,传感器只工作到50厘米而4m没有明显的原因。所以,由于时间的限制,我们的代码的一个单独的版本(就是说0到50)这样我们可以证明我们的设备工作,我们只是在我们的传感器存在的问题。所以,这就是为什么我们有两个版本的代码,一个作品长达4米,高达50厘米的作品。

有一个图书馆,你需要下载,包括在您的代码中包含的所有命令的触觉控制器。你可以找到这个在Adafruit网站您购买设备的地方。所有您需要做的是下载并解压缩到库文件夹在你的Arduino的文件夹在您的计算机上。所以,现在我会尝试打破代码你可以更好的理解它。

#包括这些都是你需要在代码中包括必要的库文件
#包括“adafruit_drv2605。”

<strong>adafruit_drv2605 DRV</strong>;此线只是初始化驱动程序对象基本

<strong>int最大= 400</strong>;-设置最大距离4米

<strong>国际minimumrange = 0</strong>;集的最小距离0米

<strong>长时间、距离</strong>;使变量的时间和距离的脉冲传感器

国际distancegroup,measurecount;

<strong>const int trig_pin = 4</strong>;机组制动销传感器4槽上的Arduino(可以修改)

<strong>const int echo_pin = 5</strong>;集回声引脚的传感器5槽上的Arduino(可以修改)

setup() { void

<strong>pinmode(trig_pin,输出)</strong>;集销的必要设置

digitalwrite(trig_pin,低);

(9600)开始连载;

<strong>DRV。begin()</strong>;-启动驱动器,告诉它使用图书馆的一号

DRV。selectlibrary(1);}

uint8_t效果= 1;

<strong>无效loop() {</strong> -循环包含了一些其他的空隙,将下面

measuredistance();

printdistance();

getdistancegroup();

playeffect();

go() DRV;

延迟(60);}

<strong>无效measuredistance()</strong> {这段基本计算距离传感器读(或厘米)

无符号长T1;

无符号长T2;

无符号长pulse_width;

浮厘米;

浮动英寸;

digitalwrite(trig_pin,高);

(10)delaymicroseconds;

digitalwrite(trig_pin,低);

而(//读出数字接口的值(echo_pin)= = 0);

T1 = micros();

而(//读出数字接口的值(echo_pin)= = 1);

T2 = micros();

pulse_width = T2 - T1;

CM = pulse_width / 58;

英寸= pulse_width / 148;

<strong>距离=厘米</strong>;-您可以设置设备用英寸或厘米来测量

}

<strong>无效printdistance() {</strong>这部分创建组不同的距离,可以修改为你所需要的

如果(距离> =最大| |距离<= minimumrange){

串行out.println(“错误:超出范围”);}

别的{

串行。println(距离);} }

getdistancegroup() { void

如果(0 <=距离和距离<= 30){

distancegroup = 1;}

如果(31 <=距离和距离<= 70){

distancegroup = 2;}

如果(71 <=距离和距离<= 100){

distancegroup = 3;}

如果(101 <=距离和距离<= 200){

distancegroup = 4;}

如果(201 <=距离和距离<= 300){

distancegroup = 5;}

如果(301 <=距离){

distancegroup = 6;

} }

<strong>无效playeffect() {</strong>这段使用上述群体发挥着不同的振动影响基于组

<strong>开关(distancegroup){</strong> -这部分只是一个大的switch语句

案例1:如果(measurecount<1){

measurecount + +;

break;}

<strong>DRV。setwaveform(0,16);//发挥效应</strong>的二号在这里你把号码对你的影响

DRV。setwaveform(1,0);//端波形

串行。println(在“30厘米”);

measurecount = 0;

打破;

案例2:如果(measurecount<2){

measurecount + +;

break;}

DRV。setwaveform(0,15);//发挥作用

DRV。setwaveform(1,0);//端波形

串行。println(在“70厘米”);

measurecount = 0;

打破;

案例3:如果(measurecount<4){

measurecount + +;

break;}

DRV。setwaveform(0,7);//发挥作用

DRV。setwaveform(1,0);//端波形

串行。println(在“100厘米”);

measurecount = 0;

打破;

案例4:

如果(measurecount<4){

measurecount + +;

break;}

DRV。setwaveform(0,9);//发挥作用

DRV。setwaveform(1,0);//端波形

串行。println(在“200厘米”);

measurecount = 0;

打破;

案例5:

如果(measurecount<9){

measurecount + +;

break;}

DRV。setwaveform(0,67);//发挥作用

DRV。setwaveform(1,0);//端波形

串行。println(在“300厘米”);

measurecount = 0;

打破;

案例6:

如果(measurecount<9){

measurecount + +;

break;}

DRV。setwaveform(0,68);//发挥作用

DRV。setwaveform(1,0);//端波形

串行out.println(“300厘米”);

measurecount = 0;突破;

} }

 

有一个图表,可以用于单片机,每个振动的影响数页面上的Adafruit网站发现,所以你可以通过测试来找到你想要的效果。我们有这样的振动变得更加激烈,更加惊人的东西要接近传感器。

一定要运行大量的测试以确保你有你想要的工作。

 
  • 视障的超声波传感装置(Arduino)_0to50haptik.ino
    下载
  • 视障的超声波传感装置(Arduino)haptikcontroller.ino
    下载

步骤4:步骤3:安装

视障的超声波传感装置(Arduino)

(责任编辑:admin)

haoDIY创好电子 版权所有,电话微信13977534587