每日来一赞

C2代码学习笔记(31)

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

三十九、智能体感遥控车

(四)完善程序,智能体感遥控车

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('滴')#小车鸣笛

上一篇 下一篇

猜你喜欢

热点阅读