|
发表于 19-12-2009 08:04 PM
|
显示全部楼层
本帖最后由 啊寺 于 19-12-2009 08:11 PM 编辑
#include "16F877A.h"
#use delay(clock=10000000)
//PIN_A1 LEFT
//PIN_A2 RIGHT
//PIN_A3 FORWARD
//PIN_A4 BACKWARD
//PIN_A5 ON/OFF
//
void main()
{
int on;
on = 0;
while(1)
{
if(input(PIN_A5)==1&&on==0)
{
on = 1;
}
else if(input(PIN_A5)==1&&on==1)
{
on = 0;
}
//If switch on
if(on == 1)
{
// If press left, left D3,D5,D7 on together
if(input(PIN_A1)==1)
{
output_high(PIN_D3);
output_high(PIN_D5);
output_high(PIN_D7);
delay_ms(50); // IR resense time
}
// If press right, right D3,D4 and D6 on together
else if(input(PIN_A2)==1)
{
output_high(PIN_D3);
output_high(PIN_D4);
output_high(PIN_D6);
delay_ms(50); // IR resense time
}
// If press forward, Forward D3,D5,D6 on together
else if(input(PIN_A3)==1)
{
output_high(PIN_D3);
output_high(PIN_D5);
output_high(PIN_D6);
delay_ms(50); // IR resense time
}
// If press backward, Backward D3,D4 and D7 on together
else if(input(PIN_A4)==1)
{
output_high(PIN_D3);
output_high(PIN_D4);
output_high(PIN_D7);
delay_ms(50); // IR resense time
}
// Forward D3,D5,D6 on together
if(input(PIN_C4)==1)
{
output_high(PIN_D3);
output_high(PIN_D5);
output_high(PIN_D6);
delay_us(50); // IR resense time
}
// Backward D3,D4 and D7 on together
if(input(PIN_C5)==1)
{
output_high(PIN_D3);
output_high(PIN_D4);
output_high(PIN_D7);
delay_ms(50); // IR resense time
}
}
}
请问这样可以吗?我把它转换成c language le... 请问有什么可以改进的地方吗? btw , 我普通的sensor 大概只能量3cm... 因为我不打算买Sharp GP2Y0A21YK , over budget le .. 请问有什么办法可以解决吗? |
|
|
|
|
|
|
|
发表于 22-12-2009 03:32 PM
|
显示全部楼层
请问这样可以吗?我把它转换成c language le... 请问有什么可以改进的地方吗?
啊寺 发表于 19-12-2009 08:04 PM
你的程序只有 if-else 的 algorithm, 这是行不通的。请看 38#:因为2轮平衡机器人的程序,不是简单的 if else 罢了,而是需要一个 closed loop control system (PID, fuzzy 之类)。
btw , 我普通的sensor 大概只能量3cm... 因为我不打算买Sharp GP2Y0A21YK , over budget le .. 请问有什么办法可以解决吗?
普通的 sensor 是应该不可以的。因为当表面的颜色不一样的时候,你拿到的 reading 是不一样的。 |
|
|
|
|
|
|
|
发表于 25-12-2009 12:43 AM
|
显示全部楼层
回复 42# waiweng83
真的如你所说,全部part能functino, 除了我的servomotor=.=" , 完全没反应。但是我单独test motor driver board 的时候,是可以function de. 我完全没有头绪些programming 了== |
|
|
|
|
|
|
|
发表于 29-12-2009 12:09 PM
|
显示全部楼层
你是用什么 servo motor?航模用的?经过改装了的? |
|
|
|
|
|
|
|
发表于 6-1-2010 12:03 AM
|
显示全部楼层
本帖最后由 啊寺 于 6-1-2010 12:50 AM 编辑
回复 44# waiweng83
我用的事cytron c40s 的,在pasar road 买的咯,一套加轮子^^ |
|
|
|
|
|
|
|
发表于 8-1-2010 01:17 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 18-1-2010 10:07 AM
|
显示全部楼层
回复 waiweng83
我用的事cytron c40s 的,在pasar road 买的咯,一套加轮子^^
啊寺 发表于 6-1-2010 12:03 AM
是普通的 servo 还是已经改成可以360度转的 servo? |
|
|
|
|
|
|
| |
本周最热论坛帖子
|