C2代码学习笔记(30)
三十九、智能体感遥控车
(三)控制体感小车转向
1 import ybc_robot #导入 ybc_robot 模块
2
3
4 # 创建陀螺仪对象 gyr
5 gyr = ybc_robot.Gyro()5
6 # 创建电机对象 m,接口选择 S1
7 m= ybc_robot.Motor('s1')
8 #创建舵机对象 s,接口选择 S2
gs= ybc_robot.Servo('s2')
10
11#初始化舵机,设置 180 度时,车轮方向向前
12 s.turn to degree(180)
13
14 #使用循环结构与多分支结构的嵌套
15# 前后倾斜陀螺仪,控制体感车前进、后退
16 #左右倾斜陀螺仪,控制体感车左右转向、回正
17while True:
18 # 获取陀螺仪检测数据,保存在变量 gdic中
19 gdic = gyr.state()
20 gy = gdic['angle y']#获取y轴姿态角
21 # 如果 y轴姿态角大于 110 度
22 # 模拟体感手柄向前遥控小车
23 if gy > 110:
24 # 电机以 10 的速度正转,小车前进
25 m.run(10)
26 # 否则如果 y轴姿态角小于 70 度
27 # 模拟体感手柄向后遥控小车
28 elif gy < 70:
29 #电机以 10 的速度反转,小车后退
30 m.run(-10)
31 else:#否则
32 m.run(0)#电机停转,小车停止
33 gx= gdic['angle_x'] #获取x轴姿态角
34 # 如果x轴姿态角大于 110 度
35 # 模拟体感手柄向右遥控小车
36 if gx> 110:
37 # 舵机转动到 140 度,小车右转
38 s.turn to degree(140)
39 # 否则如果 x轴姿态角小于 70 度
40 # 模拟体感手柄向左遥控小车
41 elif gx < 70:
42 # 舵机转动到 220 度,小车左转
43 s.turn to degree(220)
44 else:#否则
45 s.turn_to_degree(180)#小车回正