传感器技术项目式教程题库及答案《项目十二 智能拐杖》题库_第1页
传感器技术项目式教程题库及答案《项目十二 智能拐杖》题库_第2页
传感器技术项目式教程题库及答案《项目十二 智能拐杖》题库_第3页
传感器技术项目式教程题库及答案《项目十二 智能拐杖》题库_第4页
传感器技术项目式教程题库及答案《项目十二 智能拐杖》题库_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《项目十二》题库一.单选题(共15题)1.微信中摇一摇功能中使用到了手机中的传感器是:()。A.光照传感器B.声音传感器C.加速度传感器D.震动传感器2.下列不属于加速度传感器的应用场景是:A.智能型手机B.工程测距C.手持行游戏产品D.平衡车3.加速度传感器是一种能够测量()的传感器。A.距离 B.声音 C.倾斜度 D.加速度4.MPU-6050为全球第一款集成6轴运动处理组件,它集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的()。A.数字运动处理器B.数字音频处理器C.数字信号处理器D.变压器5.下列场景中不属于遥感传感器的应用的设备是:A.机动车方向盘B.遥控车C.无人机D.电玩6.双轴遥杆的结构双轴按键摇杆模块主要由两个()(表示X轴和Y轴)以及一个按键开关组成A.电压器B.电阻器C.电位器D.变压器7.双轴遥感器摇动遥杆往上边,可以测得电阻值()。A.先增大后减小B.保持不变C.逐渐增大D.逐渐减小8.双轴传感器遥杆未按时,遥杆开关处于()状态。A.开路B.短路C.闭合D.断开9.调用MPU6050库文件中的read方法实现三轴加速度传感器的数据获取操作read函数分别获取()不同的x、y、z三轴的状态。A.1种B.3种C.6种D.9种10.当双轴遥感传感器按下了“中间”按钮并释放,使用Joy.makerobo_direction()方法来获取摇杆传感器的对应状态则会返回:()。A.homeB.upC.downD.pressed二.判断题(共计10题)1.加速度传感器在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。 ()2.加速度传感器是一种能够测量倾斜度的传感器。 ()3.三轴加速度传感器在预先不知道物体运动方向的场合下,不可以检测加速度信号。()4.三维加速度传感器具有体积小和重量轻的特点,可以测量空间加速度,能够全面准确反映物体的运动性质。 ()5.游戏手柄的按键是采用双轴遥感传感器。 ()6.双轴遥感传感器,具有2轴(X,Y)数字输出,1路(Z)按钮模拟输出。 ()7.两个电位器随着摇杆扭转角度分别输出X、Y轴上对应的电阻值,外加电压后转换为电压输出,在Z轴方向上按下摇杆可触发轻触按键。 ()8.双轴遥感传感器摇动遥杆往下边,可以测得电阻值逐渐减小,当遥杆到达最下边位置时,阻值为0。 ()9.在使用MPU6050库文件时需要在循环程序的外头对设备进行初始化操作。 ()10.PS2游戏摇杆可以被视为一个按钮和两个电位计的组合。它就是两个电位器和按键的组合体。 ()三.填空题(共计15题)1.加速度传感器的线加速度计的原理是牛顿第二定律,即加速度定律,也就是力的平衡,公式为:加速度=。为了进一步测量、了解物体的运动状态,需要测得该物体的三个坐标轴上的。用三轴加速度传感器可以实现双轴或双轴的倾角,再进过校正、其测量的精度要高于双轴加速度传感器。MPU-6050模块的3脚SCL为,4脚SDA为,7脚AD0为I2C的从地址LSB,一般接地,8脚INT为中断输出,漏极开路。遥感传感器,具有2轴(X,Y),1路(Z)按钮。遥感传感器的两个电位器随着摇杆扭转角度分别输出X、Y轴上对应的,外加电压后转换为电压输出,在Z轴方向上按下摇杆可触发轻触按键。遥感传感器在配套机械结构的作用下,无外力扭动的摇杆初始状态下,两个电位器都处在量程的。双轴摇动传感器,摇动遥杆往左边,可以测得电阻值,当遥杆到达最左边位置时,阻值为。使用MPU6050库文件时需要在循环程序的外头写上初始化函数进行设备的。使用摇杆传感器库文件前需要调用初始化函数方法,调用成功后即可获取对应按钮数据。操作题(共10题)树莓派T型转接板三轴加速度传感器T型转接板LCD1602模块SCLSCLSCLG23SDASDASDASDAG24SCL5V5V5VGNDGNDGNDGNDGND5VVCC树莓派T型转接板PCF8591模块PCF8591模块摇杆传感器SCLSCLSCLAIN0VRYSDASDASDAAIN1VRX5V5VVCCAIN2SWGNDGNDGNDVCCVCCGNDGND表4.11.将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当x轴超过100度时程序提示“地面不平请注意安全”,并显示在LCD1602显示屏中。将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当y轴超过100度时程序提示“井盖侧翻请注意安全”,并显示在LCD1602显示屏中。

将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当z轴超过100度时程序提示“设备被旋转请注意”,并显示在LCD1602显示屏中。

将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当角度发生倾斜时程序提示“井盖异常请注意”,并显示在LCD1602显示屏中。

将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:在LCD1602显示屏中显示模块的三轴数据。将PCF8591模块、遥感传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:当用户按下对应按钮后在LCD1602显示对应的符号,符号如下所示:↑↓←→

将PCF8591模块、遥感传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现如符号↖↗↙↘的判断方式,并在LCD显示屏中进行显示。

将PCF8591模块、遥感传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现如符号↑↓←→↖↗↙↘的判断方式,并在LCD显示屏中进行显示。

将PCF8591模块、遥感传感器模块、三轴加速传感器和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:当加速度模块向前倾倒的时候,LCD屏幕显示“模块向前倾倒!”,然后遥感传感器向前摇动,LCD警示取消。

将PCF8591模块、遥感传感器模块、三轴加速传感器和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:判断三轴传感器倾斜方向,每3秒通过倾斜方向在LCD1602显示对应的符号,符号如下所示:↑↓←→,然后用户可以通过遥感传感器实现符号上的方向操作消掉符号。

五.简答题(共5题)1.请举例说明实际生活中哪些场景使用到加速度传感器?

请描述如何用万用表对遥感传感器Y轴遥杆进行检测。

请描述如何用万用表对遥感传感器遥感开关进行检测。

下面是一段关于双轴遥感传感器模的代码,请详细分析该功能函数的具体作用。并进行代码与注释的填空。#整段代码的作用:

importJoy

importtime

importLCD1602

#程序入口

Joy.makerobo_setup()#此处函数的作用:

LCD1602.init(0x27,1)

makerobo_status=''#状态值赋空值

while(True):

try:

makerobo_tmp=Joy.makerobo_direction()#此处函数的作用;

#'home','up','down','left','right','pressed'

print(makerobo_tmp)

LCD1602.wirte(0,0,makerobo_tmp)

except:

print("发生异常错误")

time.sleep(2)下面是一段关于加速度传感器模的代码,请详细分析该功能函数的具体作用。并进行代码与注释的填空。#此段代码的作用:importtime

importMPU6050

importLCD1602

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()#函数作用:

whileTrue:

try:

x=MPU6050.read_x()#读取:数值

y=MPU6050.read_y()

z=MPU6050.read_z()

gx=MPU6050.read_gx()#读取:数值

gy=MPU6050.read_gy()

gz=MPU6050.read_gz()

LCD1602.write(0,0,'x:'+str(x)+'y:'+str(y)+'z:'+str(z))

LCD1602.write(1,0,'x:'+str(gx)+'y:'+str(gy)+'z:'+str(gz))

except:

print("出现异常")

time.sleep(2)#等待两秒后继续读取------《项目十一》参考答案------一、单项选择题(每小题3分,共45分)题号12345678910答案CBDAACDDCD二、判断题(每空1分,共10分)题号12345678910判断√××√√×√×√×三、填空题(每空1分共20分)1.F(惯性力)/M(质量) 2.加速度分量3.正负90度 0-360度4.I2C的时钟线 I2C的数据线5.模拟输出 数字输出6.电阻值7.中间位置8.逐渐减小 09.初始化操作10.Joy.makerobo_setup()四、操作题1.将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当x轴超过100度时程序提示“地面不平请注意安全”,并显示在LCD1602显示屏中。importtime

importMPU6050

importLCD1602

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()

whileTrue:

try:

gx=MPU6050.read_gx()#读取陀螺仪x数值

gy=MPU6050.read_gy()#读取陀螺仪y数值

gz=MPU6050.read_gz()#读取陀螺仪z数值

ifgx>100:

print("地面不平请注意安全")

LCD1602.write(0,0,"地面不平请注意安全")

except:

print("出现异常")

time.sleep(2)#等待两秒后继续读取将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当y轴超过100度时程序提示“井盖侧翻请注意安全”,并显示在LCD1602显示屏中。importtime

importMPU6050

importLCD1602

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()

whileTrue:

try:

gx=MPU6050.read_gx()#读取陀螺仪x数值

gy=MPU6050.read_gy()#读取陀螺仪y数值

gz=MPU6050.read_gz()#读取陀螺仪z数值

ifgy>100:

print("井盖侧翻请注意安全")

LCD1602.write(0,0,"井盖侧翻请注意安全")

except:

print("出现异常")

time.sleep(2)#等待两秒后继续读取

将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当z轴超过100度时程序提示“设备被旋转请注意”,并显示在LCD1602显示屏中。importtime

importMPU6050

importLCD1602

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()

whileTrue:

try:

gx=MPU6050.read_gx()#读取陀螺仪x数值

gy=MPU6050.read_gy()#读取陀螺仪y数值

gz=MPU6050.read_gz()#读取陀螺仪z数值

ifgz>100:

print("设备被旋转请注意")

LCD1602.write(0,0,"设备被旋转请注意")

except:

print("出现异常")

time.sleep(2)#等待两秒后继续读取

将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:编写代码实现当角度发生倾斜时程序提示“井盖异常请注意”,并显示在LCD1602显示屏中。importtime

importMPU6050

importLCD1602

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()

whileTrue:

try:

gx=MPU6050.read_gx()#读取陀螺仪x数值

gy=MPU6050.read_gy()#读取陀螺仪y数值

gz=MPU6050.read_gz()#读取陀螺仪z数值

ifgz>100orgy>100orgz>100:

print("井盖异常请注意")

LCD1602.write(0,0,"井盖异常请注意")

except:

print("出现异常")

time.sleep(2)#等待两秒后继续读取

将三轴加速传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:在LCD1602显示屏中显示模块的三轴数据。importtime

importMPU6050

importLCD1602

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()

whileTrue:

try:

x=MPU6050.read_x()#读取加速度计x数值

y=MPU6050.read_y()#读取加速度计y数值

z=MPU6050.read_z()#读取加速度计z数值

gx=MPU6050.read_gx()#读取陀螺仪x数值

gy=MPU6050.read_gy()#读取陀螺仪y数值

gz=MPU6050.read_gz()#读取陀螺仪z数值

print("加速度x轴:",x)

print("加速度y轴:",y)

print("加速度z轴:",z)

print("陀螺仪x轴:",gx)

print("陀螺仪y轴:",gy)

print("陀螺仪z轴:",gz)

#在LCD显示加速度X轴信息

LCD1602.write(0,0,'x:'+str(x)+'y:'+str(y)+'z:'+str(z))

LCD1602.write(1,0,'x:'+str(gx)+'y:'+str(gy)+'z:'+str(gz))

except:

print("出现异常")

time.sleep(2)#等待两秒后继续读取将PCF8591模块、遥感传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:当用户按下对应按钮后在LCD1602显示对应的符号,符号如下所示:↑↓←→importJoy

importtime

importLCD1602

#程序入口

Joy.makerobo_setup()#初始化

LCD1602.init(0x27,1)

makerobo_status=''#状态值赋空值

while(True):

try:

#调用方向判断函数

makerobo_tmp=Joy.makerobo_direction()

#'home','up','down','left','right','pressed'

print(makerobo_tmp)

show_data=""

ifmakerobo_tmp=='up':

show_data+="↑"

ifmakerobo_tmp=='down':

show_data+="↓"

ifmakerobo_tmp=='left':

show_data+="←"

ifmakerobo_tmp=='right':

show_data+="→"

LCD1602.wirte(0,0,show_data)

except:

print("发生异常错误")

time.sleep(2)

将PCF8591模块、遥感传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现如符号↖↗↙↘的判断方式,并在LCD显示屏中进行显示。

importPCF8591asADC

importtime

importLCD1602

#程序入口

LCD1602.init(0x27,1)

defsetup():

ADC.setup(0x48)#SetupPCF8591

globalstate

defdirection():#获取操纵杆方向结果

state=['home','up','down','left','right','Buttonpressed','right_up','left_up','right_down','left_down']

i=0

ifADC.read(0)<=5:

i=1#up

ifADC.read(0)>=250:

i=2#down

ifADC.read(1)<=5:

i=3#left

ifADC.read(1)>=250:

i=4#right

ifADC.read(1)>=6andADC.read(2)==0:#所以加上ADC.read(1)>=6这个限制,

i=5#Buttonpressed

ifADC.read(0)-125<15andADC.read(0)-125>-15andADC.read(1)-125<15andADC.read(1)-125>-15andADC.read(2)==255:

i=0#home

ifADC.read(0)<=5andADC.read(1)<=5:

i=7

ifADC.read(0)<=5andADC.read(1)>=250:

i=6

ifADC.read(0)>=25andADC.read(1)<=5:

i=9

ifADC.read(0)>=25andADC.read(1)>=250:

i=8

returnstate[i]

defloop():

show_data=''

whileTrue:

tmp=direction()

iftmp=="right_down":

show_data+='↘'

iftmp=="left_down":

show_data+='↙'

iftmp=="right_up":

show_data+='↗'

iftmp=="left_up":

show_data+='↖'

LCD1602.wirte(0,0,show_data)

defdestroy():

pass#pass语句就是空语句

if__name__=='__main__':#Programstartfromhere

setup()

try:

loop()

exceptKeyboardInterrupt:#When'Ctrl+C'ispressed,thechildprogramdestroy()willbeexecuted.

destroy()

将PCF8591模块、遥感传感器模块和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现如符号↑↓←→↖↗↙↘的判断方式,并在LCD显示屏中进行显示。

importPCF8591asADC

importtime

importLCD1602

#程序入口

LCD1602.init(0x27,1)

defsetup():

ADC.setup(0x48)#SetupPCF8591

globalstate

defdirection():#获取操纵杆方向结果

state=['home','up','down','left','right','Buttonpressed','right_up','left_up','right_down','left_down']

i=0

ifADC.read(0)<=5:

i=1#up

ifADC.read(0)>=250:

i=2#down

ifADC.read(1)<=5:

i=3#left

ifADC.read(1)>=250:

i=4#right

ifADC.read(1)>=6andADC.read(2)==0:#所以加上ADC.read(1)>=6这个限制,

i=5#Buttonpressed

ifADC.read(0)-125<15andADC.read(0)-125>-15andADC.read(1)-125<15andADC.read(1)-125>-15andADC.read(2)==255:

i=0#home

ifADC.read(0)<=5andADC.read(1)<=5:

i=7

ifADC.read(0)<=5andADC.read(1)>=250:

i=6

ifADC.read(0)>=25andADC.read(1)<=5:

i=9

ifADC.read(0)>=25andADC.read(1)>=250:

i=8

returnstate[i]

defloop():

show_data=''

whileTrue:

tmp=direction()

iftmp=="right_down":

show_data+='↘'

iftmp=="left_down":

show_data+='↙'

iftmp=="right_up":

show_data+='↗'

iftmp=="left_up":

show_data+='↖'

iftmp=='up':

show_data+="↑"

iftmp=='down':

show_data+="↓"

iftmp=='left':

show_data+="←"

iftmp=='right':

show_data+="→"

LCD1602.wirte(0,0,show_data)

defdestroy():

pass#pass语句就是空语句

if__name__=='__main__':#Programstartfromhere

setup()

try:

loop()

exceptKeyboardInterrupt:#When'Ctrl+C'ispressed,thechildprogramdestroy()willbeexecuted.

destroy()

将PCF8591模块、遥感传感器模块、三轴加速传感器和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:当加速度模块向前倾倒的时候,LCD屏幕显示“模块向前倾倒!”,然后遥感传感器向前摇动,LCD警示取消。importtime

importMPU6050

importLCD1602

importJoy

#程序入口

Joy.makerobo_setup()#初始化

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()

Staus=''

whileTrue:

try:

makerobo_tmp=Joy.makerobo_direction()

gx=MPU6050.read_gx()#读取陀螺仪x数值

gy=MPU6050.read_gy()#读取陀螺仪y数值

gz=MPU6050.read_gz()#读取陀螺仪z数值

ifgx>100:

LCD1602.write(0,0,"模块向前倾倒")

Staus='UP'

ifmakerobo_tmp=='up'andStaus=='UP':

LCD1602.write(0,0,"模块状态正常")

LCD1602.write(1,0,'x:'+str(gx)+'y:'+str(gy)+'z:'+str(gz))

except:

print("出现异常")

time.sleep(2)#等待两秒后继续读取

将PCF8591模块、遥感传感器模块、三轴加速传感器和LCD1602模块按照表4.1的对应接口连接至开发板,并且编写程序,实现效果如下:判断三轴传感器倾斜方向,每3秒通过倾斜方向在LCD1602显示对应的符号,符号如下所示:↑↓←→。importtime

importMPU6050

importLCD1602

importJoy

#程序入口

Joy.makerobo_setup()#初始化

LCD1602.init(0x27,1)#初始化显示屏

MPU6050.makerobo_MPU_Init()

show_data=''

whileTrue:

try:

makerobo_tmp=Joy.makerobo_direction()

gx=MPU6050.read_gx()#读取陀螺仪x数值

gy=MPU6050.read_gy()#读取陀螺仪y数值

ifgx>100:

show_data+="↑"

ifgx<-100:

show_data+="↓"

ifgy<-100:

show_data+="←"

ifgy>100:

show_data+="→"

LCD1602.wirte(0,0,show_data)

except:

print("出现异常")

time.sleep(2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论