谁说我们工科生不懂浪漫的?
上图:
总感觉少了点。。。艺术气息。
进入正题
树莓派GPIO口有很多用处,比如:设置一键起飞(无人机)、安装超声波测距、装载LED报警、控制小车等等等。最重要的当然是。。。彰显我们工科生的浪漫情怀。
OK,先来看看我用的树莓派型号:
因为要用到树莓派GPIO口,那来看看有什么管脚可用:
我选用了9号的GND和15号的GPIO22(我测了所有管脚,均可用,只是GPIO17输出不稳定)
尽量避开GPIO2、3、10、11、14、15吧,在某些情况下不可用。
接好LED的正负极就可以开始编程了(似不似很简单?其实艺术从来不简单。)
代码:
import RPi.GPIO as GPIO
import time
import random
GPIO.setmode(GPIO.BCM)
TRIG = 22
GPIO.setup(TRIG,GPIO.OUT)
delay = random.random()
start = time.time()
while True:
GPIO.output(TRIG,True)
time.sleep(delay)
GPIO.output(TRIG,False)
time.sleep(delay)
if time.time()-start >= 1 :
delay = random.random()
start = time.time()
说明:
GPIO.setmode(GPIO.BCM) #设置BCM模式,该模式正好与上图中的GPIO号对应
TRIG = 22 #我选用的GPIO22
GPIO.setup(TRIG,GPIO.OUT) #将GPIO22设置为输出模式。如果外接的是按键或者超声波,设置为GPIO.setup(TRIG,GPIO.IN) 输入,意为从此GPIO口读取数据。
delay = random.random() #产生 [0,1) 的随机浮点数,只是为了闪灯随机有艺术一点
start = time.time() #读取现在时刻,也只是为了闪灯随机有艺术一点(在一键起飞里可以用来延时)
GPIO.output(TRIG,True) #输出高电平,False为低电平。使用超声波读取可以写成:while GPIO.input(TRIG)==True
if time.time()-start >= 1 : # 1s 切换一次闪灯模式
delay = random.random()
start = time.time()
运行:
结语:
祝大家表白成功啊。为了更有艺术一点,可以买一个大一点的面包板(人那么大的那种),摆上各种形状、图案、名字呀,安排上各种闪灯模式。