三十九、智能体感遥控车
(四)完善程序,智能体感遥控车
1 import ybc_robot #导入 ybc_robot 模块
2 import ybc_tools #导入 ybc_tools 模块
3
4
5 #创建陀螺仪对象 gyr
6 gyr= ybc_robot.Gyro()
7 #创建电机对象 m,接口选择 S1
8 m=ybc robot.Motor('Sl')
9 #创建舵机对象s,接口选择 S2
10 s=ybc robot.Servo('S2')
11 #创建超声波对象 us,接口选择 P1
12 us=ybc robot.UltrasonicSensor('P1')
13 #创建按键对象 but,接口选择 A1
14 but= ybc robot.Button('A1')
15#创建音乐模块对象 mus,接口选择P
16 mus = ybc_robot.Musie('p2')
17
18 #初始化舵机,设置 180 度时,车轮方向向前
19 s.turn_to_degree(180)
20
21#使用循环结构与多分支结构、单分支结构的嵌套
22 #让体感手柄遥控小车移动、避障、按键鸣笛
23 while True:
24 # 获取陀螺仪检测数据,保存在变量 gdic中
25 gdic = gyr.state()
26 gy = gdic['angle_y'] #获取y轴姿态角
27 # 超声波传感器获取的距离值,保存在变量 n1中
28 n1 = us.distance()
29 # 如果体感手柄向前倾斜,且前方没有障碍物
30 if gy > 110 and nl > 25:
31 m.run(10)#小车前进
32 elif gy < 70: # 否则如果体感手柄向后倾斜
33 m.run(-10)#小车后退
34 else:#否则
35 m.run(0)#小车停止
36 gx= gdic['angle_x']#获取x轴姿态角
37 if gx > 110:#如果体感手柄向右倾斜
38 s.turn to degree(140)#小车右转
39 elif gx < 70:#否则如果体感手柄向左倾斜
40 s.turn to degree(220)#小车左转
41 else:#否则
42 s.turn to degree(180)#小车回正
43 # 检测按键状态,保存在变量r中
44 r= but.is pressed()
45 if r == 1:#如果按键是“按下"状态
46 mus.play_music('滴')#小车鸣笛
网友评论