“超声波”的版本间的差异

来自Labplus盛思维基百科
跳转至: 导航搜索
(Tangliufeng移动页面超声波测距传感器超声波
第24行: 第24行:
  
 
== 使用教程 ==
 
== 使用教程 ==
=== 连接示意图 ===
 
 
=== Arduino示例 ===
 
=== Arduino示例 ===
 
<pre style="color:blue">
 
<pre style="color:blue">
第60行: 第59行:
  
 
=== MicroPython示例 ===
 
=== MicroPython示例 ===
 +
==== <small>连接示意图</small> ====
 +
[[文件:超声波连接图.jpg|800px|居中]]
 
<pre style="color:blue">
 
<pre style="color:blue">
 
from microbit import *
 
from microbit import *

2018年1月5日 (五) 16:58的版本

黑色传感器最终版12.20-36.png

概述

用于超声波定位、测距、避障等应用场景。操作简单采用I2C通讯将测距值返回主控。有效测距范围3~300cm

技术参数

  • 工作电压:VCC 3.3-5V
  • 接口方式:I2C接口
  • 超声波测量范围:3cm~300cm
  • 误差:±1%
  • 模块尺寸:24x46x7.5mm

引脚定义

VCC 电源
ECHO 连接I2C_SDA
TRIG 连接I2C_SCL
GND

使用教程

Arduino示例


#include <Wire.h>
void setup()
{
	Serial.begin(115200);               //串口初始化,波特率115200
	Wire.begin();                        //I2C初始化
}
uint8_t Distance();                         //声明超声波函数
void loop()
{
	Serial.print(Distance());           //打印测距
	Serial.println("cm");
	delay(100);
}

uint8_t Distance()
{
	int i = 0;
	uint8_t cm;
	uint8_t temp[2];
	Wire.beginTransmission(0x0b);              //传输给从机设备0x0B
	Wire.write(1);                             //发送1指令
	Wire.endTransmission();                    //结束传输
	Wire.requestFrom(0x0b, 2);                 //接收从机设备0x0B,长度2字节
	while (Wire.available()) { 
		temp[i] = Wire.read();
		i++;
	}
	return  cm = (temp[0] + temp[1] * 256) / 10;  
}

MicroPython示例

连接示意图

超声波连接图.jpg
from microbit import *

def Distance():
    i2c.write(0x0b, bytearray([1]))
    sleep(2)
    temp=i2c.read(0x0b,2)
    distanceCM=(temp[0]+temp[1]*256)/10
    return distanceCM

# test code
while True:
    print(Distance())
    sleep(100)

图形化示例