查看“陈佳怡-2020013369-2021A-M08-91-WW8”的源代码
←
陈佳怡-2020013369-2021A-M08-91-WW8
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只对以下1个用户组开放:
用户
。
您可以查看并复制此页面的源代码:
==智能硬件控制实验== ===RGB LED灯实验=== *实验原理 :使用PWM(脉冲宽度调制)技术来控制RGB LED灯的亮度 (PWM技术是指通过数字信号的方式来控制模拟输出的技术,主要用于控制直流电机的速度、舵机的角度等) *实验效果 :运行后RGB LED灯以程序设定的频率、亮度和颜色闪烁 *实现代码(Python) import RPi.GPIO as GPIO import time colors=[0xFF0000,0x00FF00,0x0000FF,0xFFFF00,0xFF00FF,0x00FFFF] makerobo_R=11 makerobo_G=12 makerobo_B=13 def makerobo_setup(Rpin,Gpin,Bpin): global pins global p_R,p_G,p_B pins={'pin_R':Rpin,'pin_G':Gpin,'pin_B':Bpin} GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) for i in pins: GPIO.setup(pins[i],GPIO.OUT) GPIO.output(pins[i],GPIO.LOW) p_R = GPIO.PWM(pins['pin_R'], 2000) p_G = GPIO.PWM(pins['pin_G'], 1999) p_B = GPIO.PWM(pins['pin_B'], 5000) p_R.start(0) p_G.start(0) p_B.start(0) def makerobo_pwm_map(x, in_min, in_max, out_min, out_max): return (x-in_min)*(out_max - out_min)/(in_max - in_min) + out_min def makerobo_off(): GPIO.setmode(GPIO.BOARD) for i in pins: GPIO.setup(pins[i], GPIO.OUT) GPIO.output(pins[i], GPIO.LOW) def makerobo_set_Color(col): R_val = (col & 0xff0000)>>16 G_val = (col & 0x00ff00)>>8 B_val = (col & 0x0000ff)>>0 R_val = makerobo_pwm_map(R_val, 0, 255, 0, 100) G_val = makerobo_pwm_map(G_val, 0, 255, 0, 100) B_val = makerobo_pwm_map(B_val, 0, 255, 0, 100) p_R.ChangeDutyCycle(100-R_val) p_G.ChangeDutyCycle(100-G_val) p_B.ChangeDutyCycle(100-B_val) def makerobo_loop(): while True: for col in colors: makerobo_set_Color(col) time.sleep(0.1) def makerobo_destroy(): p_R.stop() p_G.stop() p_B.stop() makerobo_off() GPIO.cleanup() if __name__=="__main__": try: makerobo_setup(makerobo_R, makerobo_G,makerobo_B) makerobo_loop() except KeyboardInterrupt: makerobo_destroy() ===轻触按键实验=== *实验原理 :轻触按键模块内部有一个轻触拨盘,当按下轻触按键的时候输出低电平,当松开轻触按键的时候保持高电平,通过LED的颜色判断轻触按键的工作状态 *实验效果 :轻触按键模块后LED灯闪亮 *实现代码(Python) import RPi.GPIO as GPIO makerobo_BtnPin=11 makerobo_Rpin=12 makerobo_Gpin=13 def makerobo_setup(): GPIO.setmode(GPIO.BOARD) GPIO.setwarnings(False) GPIO.setup(makerobo_Rpin,GPIO.OUT) GPIO.setup(makerobo_Gpin,GPIO.OUT) GPIO.setup(makerobo_BtnPin,GPIO.IN,pull_up_down=GPIO.PUD_UP) GPIO.add_event_detect(makerobo_BtnPin,GPIO.BOTH,callback=makerobo_detect,bouncetime=200) def double_colorLED(x): if x==0: GPIO.output(makerobo_Rpin,1) GPIO.output(makerobo_Gpin,0) if x==1: GPIO.output(makerobo_Rpin,0) GPIO.output(makerobo_Gpin,1) def makerobo_Print(x): if x==0: print('HELLO WORLD') def makerobo_detect(chn): double_colorLED(GPIO.input(makerobo_BtnPin)) makerobo_Print(GPIO.input(makerobo_BtnPin)) def makerobo_loop(): while True: pass def makerobo_destroy(): GPIO.output(makerobo_Gpin,GPIO.LOW) GPIO.output(makerobo_Rpin,GPIO.LOW) GPIO.cleanup() if __name__=="__main__": makerobo_setup() try: makerobo_loop() except KeyboardInterrupt: makerobo_destroy() ==语音识别LED灯控制== *实验原理 :利用www.smartpi.cn生成语音SDK,并烧录在语音识别模块中,连接树莓派与语音识别模块,在树莓派上可通过输出端口连接其他模块 *实验效果 :通过语音识别开关灯或进行其他模块的控制 *树莓派代码(仅语音识别模块) import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(25,GPIO.IN) GPIO.setup(26,GPIO.IN) GPIO.setup(5,GPIO.OUT) GPIO.setup(6,GPIO.OUT) while True: input1=GPIO.input(25) input2=GPIO.input(26) if(input1==True): GPIO.output(5,GPIO.HIGH) else: GPIO.output(5,GPIO.LOW) if(input2==True): GPIO.output(6,GPIO.HIGH) else: GPIO.output(6,GPIO.LOW)
返回
陈佳怡-2020013369-2021A-M08-91-WW8
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
实践教学
个性化3D设计与实现
人工智能实践教学
区块链技术及应用
虚拟现实技术与内容制作
超越学科界限的认知基础课程
电子工艺实习
Nand2Tetris Engine Curriculum
TULLL Creative Learning Group
Wiki上手说明
Wiki账户创建
最近更改
工具
链入页面
相关更改
特殊页面
页面信息