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

来自Labplus盛思维基百科
跳转至: 导航搜索
Arduino示例
第29行: 第29行:
  
 
#include <Wire.h>
 
#include <Wire.h>
 
 
void setup()
 
void setup()
 
{
 
{
 
Serial.begin(115200);
 
Serial.begin(115200);
  /* add setup code here */
 
 
Wire.begin();
 
Wire.begin();
 
}
 
}
 
 
uint8_t Distance();
 
uint8_t Distance();
 
 
void loop()
 
void loop()
 
{
 
{
 
 
Serial.print(Distance());
 
Serial.print(Distance());
 
Serial.println("cm");
 
Serial.println("cm");
 
delay(100);
 
delay(100);
 
 
 
}
 
}
  
第54行: 第47行:
 
uint8_t cm;
 
uint8_t cm;
 
uint8_t temp[2];
 
uint8_t temp[2];
Wire.beginTransmission(0x0b);  
+
Wire.beginTransmission(0x0b); c
 
Wire.write(1);                   
 
Wire.write(1);                   
 
Wire.endTransmission();  
 
Wire.endTransmission();  
第63行: 第56行:
 
}
 
}
 
return  cm = (temp[0] + temp[1] * 256) / 10;
 
return  cm = (temp[0] + temp[1] * 256) / 10;
 
 
}
 
}
 
</pre>
 
</pre>
 +
 
=== MicroPython示例 ===
 
=== MicroPython示例 ===
 
<pre style="color:blue">
 
<pre style="color:blue">

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

黑色传感器最终版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);
	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); c
	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)

图形化示例