好记性不如铅笔头

linux, 操作系统, 树莓派

树莓派学习笔记:使用HC-SR04传感器测距

最近买了一个超声波测距传感器HC-SR04,网上对它的资料讲解非常多,这里就简单的备份下代码吧。

原理:

转自【 超声波测距模块(HC-SR04).pdf 】

测试代码:

转自【 http://www.raspberrypi-spy.co.uk/2012/12/ultrasonic-distance-measurement-using-python-part-1/ 】

连线方式:

TRIG  === GPIO4

ECHO ===  GPIO5

import time
import time
import RPi.GPIO as GPIO

def getDistanceCM():
	GPIO.setmode(GPIO.BCM);
	GPIO_TRIGGER = 23;
	GPIO_ECHO = 24;
	GPIO.setup(GPIO_TRIGGER,GPIO.OUT);
	GPIO.setup(GPIO_ECHO,GPIO.IN);
	
	GPIO_HIGH = GPIO.HIGH;
	GPIO_LOW = GPIO.LOW;
	
	GPIO.output(GPIO_TRIGGER, GPIO_LOW);
	time.sleep(0.00001);
	
	GPIO.output(GPIO_TRIGGER, GPIO_HIGH);
	time.sleep(0.00001);
	GPIO.output(GPIO_TRIGGER, GPIO_LOW);
		
	while GPIO.input(GPIO_ECHO)==GPIO_LOW:
		pass;
	start = time.time();
	
	while GPIO.input(GPIO_ECHO)==GPIO_HIGH:
		pass;
	stop = time.time();
	
	elapsed = stop-start;
	distance = elapsed * 34000;
	distance = distance / 2;
	GPIO.cleanup();
	return distance;

if __name__ == '__main__':
	distance = getDistanceCM();
	print(distance);

使用方法:

root@raspberrypi:/home/pi# python3 HelloDistance.py 
51.44214630126953

 

Leave a Reply

20 − 13 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据