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

来自Labplus盛思维基百科
跳转至: 导航搜索
引脚定义
第26行: 第26行:
 
=== 连接示意图 ===
 
=== 连接示意图 ===
 
=== Arduino示例 ===
 
=== Arduino示例 ===
 +
<pre style="color:blue">
 +
 +
#include <Wire.h>
 +
 +
void setup()
 +
{
 +
Serial.begin(115200);
 +
  /* add setup code here */
 +
Wire.begin();
 +
}
 +
 +
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);
 +
Wire.write(1);                 
 +
Wire.endTransmission();
 +
Wire.requestFrom(0x0b, 2);
 +
while (Wire.available()) {
 +
temp[i] = Wire.read();
 +
i++;
 +
}
 +
return  cm = (temp[0] + temp[1] * 256) / 10;
 +
 +
}
 +
</pre>
 
=== MicroPython示例 ===
 
=== MicroPython示例 ===
 
<pre style="color:blue">
 
<pre style="color:blue">

2017年12月27日 (三) 10:21的版本

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

概述

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

技术参数

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

引脚定义

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

使用教程

连接示意图

Arduino示例


#include <Wire.h>

void setup()
{
	Serial.begin(115200);
  /* add setup code here */
	Wire.begin();
}

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); 
	Wire.write(1);                   
	Wire.endTransmission(); 
	Wire.requestFrom(0x0b, 2);
	while (Wire.available()) {
		temp[i] = Wire.read();
		i++;
	}
	return  cm = (temp[0] + temp[1] * 256) / 10;

}

MicroPython示例

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)

图形化示例