版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
------《项目一》参考答案------一、单项选择题(每小题3分,共45分)题号12345678910答案BDCDAABCAC二、判断题(每空1分,共10分)题号12345678910判断√×√×√×√×√×三、填空题(每空1分共20分)1.断开 导通2.常开端 常闭端3.断开 导通4.万用表5.电阻 电容6.不稳定 或 抖动7.硬件消抖法 软件消抖法8.下拉9.标准库函数 用户自定义的函数10.延迟四、操作题1.将按钮模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:当按下按钮时程序消息栏中会弹出“keyPress”提示。importRPi.GPIOasGPIO#导入RPi模块
importtime#使用延时功能
GPIO.setmode(GPIO.BCM)#设置BCM编码
KEY=25#BCM第27引脚
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
whileTrue:
if(GPIO.input(KEY)==0):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY)==0):
print("keyPress")
time.sleep(0.05)#等待将按钮模块按照和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:当按下按钮时后开红色灯,再次按下按钮时红色灯关闭,反复此项操作。importRPi.GPIOasGPIO#导入RPi模块
importtime#使用延时功能
KEY=25#BCM第27引脚
LED_R=23#BCM第21引脚
flag=False
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
whileTrue:
if(GPIO.input(KEY)==0):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY)==0):
time.sleep(0.2)#消抖
ifflag==False:
flag=True
GPIO.output(LED_R,1)
else:
flag=False
GPIO.output(LED_R,0)将按钮模块按照和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:当按下按钮时打开绿色灯,当松开按钮后红色灯亮起。importRPi.GPIOasGPIO
importtime
KEY=25
LED_R=23
LED_G=24
flag=False
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(LED_G,GPIO.OUT,initial=GPIO.LOW)
whileTrue:
if(GPIO.input(KEY)==0):#判断是否按下
time.sleep(0.2)#消抖
if(GPIO.input(KEY)==0):
time.sleep(0.2)#消抖
GPIO.output(LED_R,1)
GPIO.output(LED_G,0)
while(GPIO.input(KEY)==0):pass
GPIO.output(LED_R,0)
GPIO.output(LED_G,1)将按钮模块按照和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:程序运行时三色灯模块以1s的速度进行红绿灯光的闪烁,当按下按钮后暂停闪烁,再次按下按钮时继续闪烁灯光。importRPi.GPIOasGPIO
importtime
KEY=25
LED_R=23
LED_G=24
flag=True
led_mode=1
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(LED_G,GPIO.OUT,initial=GPIO.LOW)
whileTrue:
if(GPIO.input(KEY)==0):#判断是否按下
time.sleep(0.2)#消抖
if(GPIO.input(KEY)==0):
time.sleep(0.2)#消抖
flag=notflag
ifflag:
GPIO.output(LED_R,led_mode)
GPIO.output(LED_G,~led_mode)
led_mode=~led_mode
time.sleep(1)将按钮模块按照和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:单机按钮亮起绿灯,双击按钮亮起黄灯,三击按钮亮起红灯,反复此项操作。#-*-coding:utf-8-*-//支持中文注释
importRPi.GPIOasGPIO#导入RPi模块
importtime#使用延时功能
KEY=27#BCM第27引脚
LED_R=21#BCM第21引脚
LED_R=23
flag=True
count=0
led_mode=1;
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(LED_G,GPIO.OUT,initial=GPIO.LOW)
defKey_count(count):
ifcount==3:return3
time=0
while(time<10):
time.sleep(0.1)
time+=1
if(GPIO.input(KEY)==0):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY)==0):
time.sleep(0.2)#消抖
while(GPIO.input(KEY)==0):pass
count+=1
count=key_count(count)
returncount
whileTrue:
key_count=0
read_key=Key_count(key_count)
ifread_key==1:
GPIO.output(LED_R,0)
GPIO.output(LED_G,1)
ifread_key==2:
GPIO.output(LED_R,1)
GPIO.output(LED_G,1)
ifread_key==3:
GPIO.output(LED_R,1)
GPIO.output(LED_G,0)
time.sleep(1)
将按钮模块按照和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:判断按钮按下的时间,当按钮按下不超过3s则亮起绿灯,超过3s但是小于5s亮起黄灯,超过5s时亮起红灯。importRPi.GPIOasGPIO
importtime
KEY=25
LED_R=23
LED_G=24
count=0
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(LED_G,GPIO.OUT,initial=GPIO.LOW)
whileTrue:
if(GPIO.input(KEY)==0):#判断是否按下
time.sleep(0.2)#消抖
if(GPIO.input(KEY)==0):
while(GPIO.input(KEY)==0):
count+=1
time.sleep(0.1)
ifcount<=30:
GPIO.output(LED_R,0)
GPIO.output(LED_G,1)
if30<count<50:
GPIO.output(LED_R,1)
GPIO.output(LED_G,1)
ifcount>=50:
GPIO.output(LED_R,1)
GPIO.output(LED_G,0)
time.sleep(1)将按钮模块按照触摸开关模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:当按下按钮时程序消息栏中会弹出“keyPress”提示。importRPi.GPIOasGPIO#导入RPi模块
importtime#使用延时功能
GPIO.setmode(GPIO.BCM)#设置BCM编码
KEY=27#BCM第27引脚
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
whileTrue:
if(GPIO.input(KEY)==1):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY)==1):
print("keyPress")
time.sleep(0.05)#等待将触摸开关模块按照和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:当按下按钮时后开红色灯,再次按下按钮时红色灯关闭,反复此项操作。importRPi.GPIOasGPIO#导入RPi模块
importtime#使用延时功能
KEY=27#BCM第27引脚
LED_R=21#BCM第21引脚
flag=False
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
whileTrue:
if(GPIO.input(KEY)==0):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY)==0):
time.sleep(0.2)#消抖
ifflag==False:
flag=True
GPIO.output(LED_R,1)
else:
flag=False
GPIO.output(LED_R,0)a
将触摸开关模块按照、按钮模块和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:当按下触摸开关时开启红色灯光,当按下按钮模块时开启绿色灯光。importRPi.GPIOasGPIO#导入RPi模块
importtime#使用延时功能
KEY1=25#BCM第27引脚
KEY2=27#BCM第27引脚
LED_R=23#BCM第21引脚
LED_G=24#BCM第21引脚
flag=False
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY2,GPIO.IN,GPIO.PUD_DOWN)#设置输入,上拉
GPIO.setup(KEY1,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(LED_G,GPIO.OUT,initial=GPIO.LOW)
whileTrue:
if(GPIO.input(KEY1)==0):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY1)==0):
time.sleep(0.2)#消抖
GPIO.output(LED_R,0)
GPIO.output(LED_G,1)
if(GPIO.input(KEY2)==1):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY2)==1):
time.sleep(0.2)#消抖
GPIO.output(LED_R,1)
GPIO.output(LED_G,0)
time.sleep(0.2)#消抖将触摸开关模块按照、按钮模块和三色灯模块按照表4.1的对应接口连接置开发板,并且编写程序,完成效果如下:当按下触摸开关时开启红色灯光,当按下按钮模块时开启绿色灯光。当两个按钮同时被按下并且松开时亮起黄色灯光importRPi.GPIOasGPIO#导入RPi模块
importtime#使用延时功能
KEY1=25#BCM第27引脚
KEY2=27#BCM第27引脚
LED_R=23#BCM第21引脚
LED_G=24#BCM第21引脚
flag=False
GPIO.setmode(GPIO.BCM)#设置BCM编码
GPIO.setwarnings(False)
GPIO.setup(KEY2,GPIO.IN,GPIO.PUD_DOWN)#设置输入,上拉
GPIO.setup(KEY1,GPIO.IN,GPIO.PUD_UP)#设置输入,上拉
GPIO.setup(LED_R,GPIO.OUT,initial=GPIO.LOW)
GPIO.setup(LED_G,GPIO.OUT,initial=GPIO.LOW)
whileTrue:
if(GPIO.input(KEY1)==0):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY1)==0):
time.sleep(0.2)#消抖
if(GPIO.input(KEY2)==1):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY2)==1):
GPIO.output(LED_R,1)
GPIO.output(LED_G,1)
GPIO.output(LED_R,0)
GPIO.output(LED_G,1)
if(GPIO.input(KEY2)==1):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY2)==1):
time.sleep(0.2)#消抖
GPIO.output(LED_R,1)
GPIO.output(LED_G,0)
if(GPIO.input(KEY2)==1):#判断是否按下
time.sleep(0.1)#消抖
if(GPIO.input(KEY2)==1):
GPIO.output(LED_R,1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纸质档案数字化技术规范
- 耳鼻喉科住院医师培训课件
- 2027届江苏省洪泽外国语中学物理高二第一学期期末统考试题含解析
- 绩效考核指标体系的建立
- 2027届福建省霞浦县第一中学物理高二第一学期期末统考试题含解析
- 2027届福建省漳州市华安县第一中学物理高二上期中质量跟踪监视模拟试题含解析
- 等腰三角形的性质
- 钢筋机械连接技术规程培训JGJ
- 血气分析和酸碱测定
- 颅脑损伤病人的护理
- GMP卫生知识培训课件
- 2024年武汉市市直机关遴选公务员考试真题
- 土建施工安全员培训课件
- 电车充电桩安全管理培训课件
- 浙江省生物安全实验室培训考试试卷及答案
- 员工岗位安全操作规程模板
- 材料与焊接规范 2025
- 2025年高中生物会考测试真题(含答案)
- 电子信息类专业导论(第3版)课件 07 集成电路-信息产业基石
- 八年级上册综合实践活动课教案
- 湛江市市区及下辖各镇国有建设用地基准地价更新项目成果汇编及应用指南
评论
0/150
提交评论