Blackberry 发表于 2017-6-2 17:11:50

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

原来程序是8个小小的壁障传感器联通蜂鸣器,切断不同的传感器能发出不同的声音。但有一些结构需要舵机的加入,其他都调试成功,但当舵机的程序加入,烧录后只有舵机在运行了。其他的也不是完全不运行,长时间阻断传感器,也可以发出不可控制的声音。需要舵机以一定的速度左右摇摆180度即可,希望有朋友可以帮忙看一下怎样可以解决问题。

275891381 发表于 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 信号进行舵机定位

Blackberry 发表于 2017-6-2 17:59:28

275891381 发表于 2017-6-2 17:29
//ATMega328(比如UNO)有三个计时器timer 0-2
// 一些延时语句比如delay(), millis() micros() 用的是timer ...

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

275891381 发表于 2017-6-2 18:14:00

Blackberry 发表于 2017-6-2 17:59
没看懂您说的,是试着将pin3,pin11都空出来连接舵机 还是不行~~

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

zjz5717 发表于 2017-6-2 20:50:57

传感器刷新的太慢了。。。
舵机转一圈回来才读一次传感器

duanliangcong 发表于 2017-6-3 09:22:11

因为只有for循环运行完后才会执行你的传感器,而你的for循环需要执行360次。每次延时15ms. 就等于说15*360=5.4秒才会执行你的传感器一次。如果你的传感器在这么长时间无法读取,那你的传感器就毫无用处。本人也是菜鸟,不对之处请楼下纠正

ccchan 发表于 2017-6-4 23:31:16

問題出自你的For loop{},按照你的 寫法你的For loop{} 將会循环不息咝胁粫?V

ccchan 发表于 2017-6-4 23:33:33

問題出自你的For loop{},按照你的 寫法你的For loop{} 將会循环不息咝

ccchan 发表于 2017-6-4 23:35:13

不会執行下一个指令.
页: [1]
查看完整版本: 求问,舵机加入编程后其他编程不运行了是什么原因呢?