CV大师杨某
码龄4年
关注
提问 私信
  • 博客:75,398
    问答:176
    视频:2
    75,576
    总访问量
  • 37
    原创
  • 37,271
    排名
  • 817
    粉丝
  • 30
    铁粉
  • 学习成就

个人简介:为了碎银几两,为了三餐有汤,为了车为了房

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2020-09-25
博客简介:

yc1425869600的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    4
    当前总分
    632
    当月
    18
个人成就
  • 获得103次点赞
  • 内容获得27次评论
  • 获得189次收藏
  • 代码片获得2,477次分享
创作历程
  • 8篇
    2024年
  • 13篇
    2023年
  • 12篇
    2022年
  • 5篇
    2021年
  • 5篇
    2020年
成就勋章
TA的专栏
  • 技术分享
    3篇
  • 电报
    1篇
  • 好记性不如难笔头
    22篇
  • 工作中遇到的问题
    21篇
  • 学习记录
    32篇
  • 面试遇到的问题
    1篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jsreact.jses6前端框架
  • 网络与通信
    https
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

写代码舵机不动怎么办

答:
  1. 查看GPIO初始化部分:
# 确保GPIO初始化正确
fm.register(1, fm.fpioa.GPIO1, force=True)  # 舵机控制引脚
beep = GPIO(GPIO.GPIO1, GPIO.OUT)  # 设置为输出模式

2.修改舵机控制部分:

def control_servo(angle):
    # 添加调试信息
    print("当前角度:", angle)
    
    # PWM控制舵机
    try:
        # 将角度转换为PWM占空比
        duty = (angle / 180.0) * 2000 + 500  # 500-2500us
        beep.value(1)
        time.sleep_ms(int(duty))
        beep.value(0)
        time.sleep_ms(20 - int(duty/1000))
    except Exception as e:
        print("舵机控制错误:", e)

3.在声音定位函数中添加舵机控制:

def get_mic_dir():
    # ... 原有声音定位代码 ...
    
    # 当检测到声音时控制舵机
    if AngleX != 0 or AngleY != 0:
        # 将声源角度转换为舵机角度
        servo_angle = (Angle + 90) % 360  # 确保角度在0-360范围内
        print("声源角度:", Angle, "舵机角度:", servo_angle)
        control_servo(servo_angle)
    
    return mic_list

4.主循环中添加延迟和错误处理:

while True:
    try:
        temp = get_mic_dir()
        gmd.value(0)
        print("当前方向:", temp)
        
        # 添加适当延时
        time.sleep_ms(100)
        
        if key1.value() == 0:
            # ... 原有按键代码 ...
            pass
    except Exception as e:
        print("主循环错误:", e)
        time.sleep_ms(1000)  # 错误发生时等待一段时间

5.网络设备连接:
保证舵机电源供应充足
检查舵机信号线连接是否正确
验证舵机本身是否正常工作
6.发布规格:

def test_servo():
    """测试舵机功能"""
    print("开始舵机测试...")
    for angle in [0, 90, 180, 90, 0]:
        print(f"测试角度: {angle}")
        control_servo(angle)
        time.sleep(1)
    print("舵机测试完成")

# 在主程序开始时运行测试
test_servo()

7.优化声音检测阈值:

# 调整声音检测的灵敏度
if b[i]>=2:  # 可以适当调整这个阈值
    AngleX= b[i] * math.sin(i * math.pi/6)
    AngleY= b[i] * math.cos(i * math.pi/6)

8.+调试输出:

def get_mic_dir():
    # ... 其他代码 ...
    
    # 添加调试信息
    print("声音数据:", b)
    print("计算角度 X:", AngleX, "Y:", AngleY)
    print("最终角度:", Angle)
    
    # ... 其他代码 ...

建议按以下步骤排查:

首先运行舵机测试代码,确认舵机控制基本功能
检查声音检测是否正常工作(通过打印调试信息)
验证角度计算是否正确
确保舵机控制信号正确转换
观察整个过程的调试输出

可能问题原因:

GPIO配置不正确
舵机控制时序错误
角度计算或转换有误
硬件连接问题
检测阈值不合适

手动单步检查这些部分,直到找到问题所在。

回答问题 2024.10.30

如果想实现实时更新,有四种方案

如果想实现实时更新,有四种方案,WebSocket > SSE > 长轮询 > 普通轮询
原创
发布博客 2024.10.28 ·
422 阅读 ·
6 点赞 ·
0 评论 ·
11 收藏

做电报miniapp小程序的api干货分享

TG是一种跨平台的即时通讯应用,允许用户发送文本消息、图片、音频和视频等多种类型的内容。TG还支持群组和频道功能,用户可以创建和加入不同主题的群组,以及订阅自己感兴趣的频道。此外,TG还提供了一些高级功能,如机器人、内联模式和自定义键盘等,使用户可以更好地与其他用户交互和使用平台。TG(Telearama)是一种广受欢迎的社交平台,它提供了丰富的功能和灵活的编程接口,使开发者可以通过编写代码来扩展和定制其功能。在本文中,我们将介绍TG社交平台的一些特点,并提供一些编程实例来说明如何使用它的编程接口。
原创
发布博客 2024.10.15 ·
396 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

运行 Deno 项目方法步骤

运行 Deno 项目方法步骤。
原创
发布博客 2024.10.10 ·
228 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

解决弹出层滚动穿透

应用场景:当一个能滚动的页面,打开了弹出层,在滚动弹出层时底部页面跟着滚动,看着非常的不丝滑。解决思路:当打开弹出层时,控制底层页面不滚动,当关闭弹出层时,打开底层页面滚动。
原创
发布博客 2024.08.23 ·
144 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

uniapp做小程序内打开地图展示位置信息

uniapp做小程序内打开地图展示位置信息
原创
发布博客 2024.07.02 ·
768 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

原生小程序项目总结--时尚妈咪

OK,先记录这些,记录的意义在于有些功能点是从网上翻阅的,那如果以后在遇到且别人的文章被删除,可以打开自己的csdn快速解决当前问题。这里用到的是wx.navigateToMiniProgram。1、首先第一步要去微信公众平台去申请使用api资格。2、申请成功后要现在app.json声明。创建公共request.js。在页面js引入并使用。
原创
发布博客 2024.05.17 ·
445 阅读 ·
7 点赞 ·
0 评论 ·
9 收藏

修水管

发布视频 2024.05.17

原生小程序获取定位信息数据

发布资源 2024.05.17 ·
zip

论如何在小程序展示超链接在线网页

但是web-view只能在开发阶段手机上展示,一旦小程序发布线上,就会出现下面这种情况“无法打开该网页”添加完成之后,回到小程序使用web-view标签把添加的链接加入,小程序发布上线就可以正常使用打开了。首先第一步:把需要在小程序上展示的网页链接,添加在微信公众平台上。
原创
发布博客 2024.04.08 ·
966 阅读 ·
3 点赞 ·
0 评论 ·
3 收藏

project.config.json 文件内容错误] project.config.json: libVersion 字段需为 string, string

project.config.json 文件内容错误] project.config.json: libVersion 字段需为 string, string
原创
发布博客 2024.02.27 ·
2461 阅读 ·
19 点赞 ·
1 评论 ·
16 收藏

电脑如何激活windows

电脑如何激活windows。
原创
发布博客 2023.10.27 ·
1241 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

轻身经历之面试篇

把这两天面试遇到的问题记录一下,自己做个汇总,路过的小伙伴可以看看2023年面试问那些问题
原创
发布博客 2023.10.18 ·
347 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

安装React脚手架

React脚手架让创建和管理React应用程序变得非常简单。这个命令将使用Webpack来将应用程序打包到build目录中。要发布应用程序,只需要将build目录中的文件上传到你的web服务器即可。这个命令将启动应用程序,并在你的默认浏览器中打开它。现在你应该能够看到一个欢迎页面,说明你已经成功安装了React脚手架。这个命令将创建一个包含React基础的新应用程序,包括Webpack、Babel和热加载功能。这个命令会在全局安装React脚手架工具create-react-app。
原创
发布博客 2023.09.05 ·
806 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

git代码上传仓库,过滤依赖包上传

根目录找到名为:.gitignore文件。
原创
发布博客 2023.08.24 ·
300 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

判断是否在当前页面事件方法

【代码】判断是否在当前页面事件方法。
原创
发布博客 2023.08.08 ·
354 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

微信小程序:获取用户手机号(前端)

然后我们需要编写js文件,当用户允许获取手机号后调用相关逻辑,将手机号加密信息发送给用户服务器,以便进行进一步的解密操作获取用户真正的是手机号信息。获取手机号的开发过程可以分为三部分:微信前端设置,微信js文件编写,服务器端程序开发.js获取到iv和encryptedData两个参数发送给用户服务器。剩下的事情都交给后端,后端出接口返给你手机号。
原创
发布博客 2023.07.19 ·
1223 阅读 ·
1 点赞 ·
4 评论 ·
0 收藏

微信小程序上传图片写法

在这个示例代码中,首先使用wx.chooseImage()方法让用户选择一张图片,然后通过wx.uploadFile()方法将选中的图片上传到指定的接口地址。在上传成功后,我们可以在success回调函数中获取上传成功后的返回数据,这里的返回数据是由接口返回的。需要注意的是,上传图片的接口地址需要根据实际情况进行替换,另外还需要根据具体的业务需求对上传的图片进行大小和来源的限制。success:表示选择图片成功后的回调函数,函数中的 参数包含选择的图片的本地临时文件路径列表。
转载
发布博客 2023.07.12 ·
224 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

根据调整微信开发者工具的调试基础库能解决那些问题?(收集中)

Fatal: unexpected loadSdkSubPackage caserouteDone with a webviewId 2 that is not the current page
原创
发布博客 2023.06.30 ·
664 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

element日历组件获取值为Mon Jun 26 2023 00:00:00 GMT+0800 (中国标准时间)转,需要得到的值2023-06-26

【代码】element日历组件获取值为Mon Jun 26 2023 00:00:00 GMT+0800 (中国标准时间)转,需要得到的值2023-06-26。
原创
发布博客 2023.06.25 ·
494 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多