极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16450|回复: 8

求问,舵机加入编程后其他编程不运行了是什么原因呢?

[复制链接]
发表于 2017-6-2 17:11:50 | 显示全部楼层 |阅读模式
原来程序是8个小小的壁障传感器联通蜂鸣器,切断不同的传感器能发出不同的声音。但有一些结构需要舵机的加入,其他都调试成功,但当舵机的程序加入,烧录后只有舵机在运行了。其他的也不是完全不运行,长时间阻断传感器,也可以发出不可控制的声音。需要舵机以一定的速度左右摇摆180度即可,希望有朋友可以帮忙看一下怎样可以解决问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2017-6-2 17:29:32 | 显示全部楼层
本帖最后由 275891381 于 2017-6-2 17:32 编辑

//ATMega328(比如UNO)有三个计时器timer 0-2
// 一些延时语句比如delay(), millis() micros() 用的是timer0,
//6个PWM输出脚当然也要用这些计时器,它们是这样分配的:
//Pins 5 and 6: timer0
//Pins 9 and 10: timer1
//Pins 11 and 3: timer2
官方舵机库用的是timer2
你看看你的程序,别的地方是否也用timer2的功能了,用了再用舵机库就会出错,定时器冲突不够用只能换别的方式驱动舵机
通过Arduino 的普通口产生占空比不同的方波,模拟产生PWM 信号进行舵机定位
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-6-2 17:59:28 | 显示全部楼层
275891381 发表于 2017-6-2 17:29
//ATMega328(比如UNO)有三个计时器timer 0-2
// 一些延时语句比如delay(), millis() micros() 用的是timer ...

没看懂您说的,是试着将pin3,pin11都空出来连接舵机 还是不行~~
回复 支持 反对

使用道具 举报

发表于 2017-6-2 18:14:00 | 显示全部楼层
Blackberry 发表于 2017-6-2 17:59
没看懂您说的,是试着将pin3,pin11都空出来连接舵机 还是不行~~

pin3,pin11只能用一个舵机,他俩是一个定时器,产生的方波,你试着穷一个舵机,要是还有问题,就是你的程序有问题了
回复 支持 反对

使用道具 举报

发表于 2017-6-2 20:50:57 | 显示全部楼层
传感器刷新的太慢了。。。
舵机转一圈回来才读一次传感器
回复 支持 反对

使用道具 举报

发表于 2017-6-3 09:22:11 | 显示全部楼层
因为只有for循环运行完后才会执行你的传感器,而你的for循环需要执行360次。每次延时15ms. 就等于说15*360=5.4秒才会执行你的传感器一次。如果你的传感器在这么长时间无法读取,那你的传感器就毫无用处。本人也是菜鸟,不对之处请楼下纠正
回复 支持 反对

使用道具 举报

发表于 2017-6-4 23:31:16 | 显示全部楼层
問題出自你的For loop{  },按照你的 寫法你的For loop{  } 將会循环不息咝胁粫?V
回复 支持 反对

使用道具 举报

发表于 2017-6-4 23:33:33 | 显示全部楼层
問題出自你的For loop{  },按照你的 寫法你的For loop{  } 將会循环不息咝
回复 支持 反对

使用道具 举报

发表于 2017-6-4 23:35:13 | 显示全部楼层
不会執行下一个指令.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-20 17:37 , Processed in 0.065125 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表