raspberry pi (10) 触摸开关传感器,超声波传感器,红外避障传感器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guzhou_diaoke/article/details/89600358

1.触摸开关传感器

#!/usr/bin/env python
import RPi.GPIO as GPIO

TouchPin = 11
Gpin   = 12
Rpin   = 13

tmp = 0

def setup():
	GPIO.setmode(GPIO.BOARD)       # Numbers GPIOs by physical location
	GPIO.setup(Gpin, GPIO.OUT)     # Set Green Led Pin mode to output
	GPIO.setup(Rpin, GPIO.OUT)     # Set Red Led Pin mode to output
    
    # Set BtnPin's mode is input, and pull up to high level(3.3V)
	GPIO.setup(TouchPin, GPIO.IN, pull_up_down=GPIO.PUD_UP) 

def Led(x):
	if x == 0:
		GPIO.output(Rpin, 1)
		GPIO.output(Gpin, 0)
	if x == 1:
		GPIO.output(Rpin, 0)
		GPIO.output(Gpin, 1)
	

def Print(x):
	global tmp
	if x != tmp:
		if x == 0:
			print('    **********')
			print('    *     ON *')
			print('    **********')
	
		if x == 1:
			print('    **********')
			print('    * OFF    *')
			print('    **********')
		tmp = x

def loop():
	while True:
		Led(GPIO.input(TouchPin))
		Print(GPIO.input(TouchPin))

def destroy():
	GPIO.output(Gpin, GPIO.HIGH)       # Green led off
	GPIO.output(Rpin, GPIO.HIGH)       # Red led off
	GPIO.cleanup()                     # Release resource

if __name__ == '__main__':     # Program start from here
	setup()
	try:
		loop()
	except KeyboardInterrupt: 
		destroy()

在这里插入图片描述
在这里插入图片描述
2.超声波传感器

#!/usr/bin/env python3

import RPi.GPIO as GPIO
import time

TRIG = 11
ECHO = 12

def setup():
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(TRIG, GPIO.OUT)
    GPIO.setup(ECHO, GPIO.IN)

def distance():
    GPIO.output(TRIG, 0)
    time.sleep(0.00002)

    GPIO.output(TRIG, 1)
    time.sleep(0.00001)
    GPIO.output(TRIG, 0)
    
    while GPIO.input(ECHO) == 0:
        pass
    time1 = time.time()

    while GPIO.input(ECHO) == 1:
        pass
    time2 = time.time()

    during = time2 - time1
    return during * 340 / 2 * 100

def loop():
    while True:
        dis = distance()
        print(dis, 'cm')
        print('')
        time.sleep(0.9)

def destroy():
    GPIO.cleanup()

if __name__ == "__main__":
    setup()
    try:
        loop()
    except KeyboardInterrupt:
        destroy()

在这里插入图片描述
3.红外避障传感器

#!/usr/bin/env python
import RPi.GPIO as GPIO

ObstaclePin = 11

def setup():
	GPIO.setmode(GPIO.BOARD)       # Numbers GPIOs by physical location
	GPIO.setup(ObstaclePin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def loop():
	while True:
		if (0 == GPIO.input(ObstaclePin)):
			print "Detected Barrier!"
			

def destroy():
	GPIO.cleanup()                     # Release resource

if __name__ == '__main__':     # Program start from here
	setup()
	try:
		loop()
	except KeyboardInterrupt:  # When 'Ctrl+C' is pressed, the child program destroy() will be  executed.
		destroy()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/guzhou_diaoke/article/details/89600358
今日推荐