每日来一赞

C2代码学习笔记(30)

2024-09-24  本文已影响0人  寸寸生

三十九、智能体感遥控车

(三)控制体感小车转向

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)#小车回正

上一篇下一篇

猜你喜欢

热点阅读