美文网首页每日来一赞
C2代码学习笔记(31)

C2代码学习笔记(31)

作者: 寸寸生 | 来源:发表于2024-09-25 08:24 被阅读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('滴')#小车鸣笛

    相关文章

      网友评论

        本文标题:C2代码学习笔记(31)

        本文链接:https://www.haomeiwen.com/subject/mrffrjtx.html