yefanqiu 发表于 2010-10-10 14:25:12

红外遥控智能小车(可用C#编程控制)

http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_588640XZLVFX.jpg
红外遥控小车 (原文件名:0_12856853453Y7L.jpg)
目前想用红外进行的遥控控制,过后考虑用Zigbee、蓝牙等无线通信两路试试
我们把小车分5种状态:前进、后退、左转、右转、停止

1、 前进代码

static void MoveForward()

{

Lc.Write(true);

pwm.Start(PWM.Channels.CH1, 1, PWM.Mode.PWM1); //PA6   

Rc.Write(true);

pwm.Start(PWM.Channels.CH2, 1, PWM.Mode.PWM1); //PA7   

}

2、 后退代码

static void MoveBack()
{
Lc.Write(false);
pwm.Start(PWM.Channels.CH1, 99, PWM.Mode.PWM1); //PA6   
Rc.Write(false);
pwm.Start(PWM.Channels.CH2, 99, PWM.Mode.PWM1); //PA7   
}   




3、 左转代码


static void MoveLeft()

{

Lc.Write(false);

pwm.Start(PWM.Channels.CH1, 99, PWM.Mode.PWM1); //PA6   

Rc.Write(true);

pwm.Start(PWM.Channels.CH2, 1, PWM.Mode.PWM1); //PA7   

}


左转代码有两种实现方法,一种是左轮静止,右轮正转,另一种是左轮倒转,右轮正传,这种转圈的速度更快,当然也可以让两轮都正传,左轮转的慢,右轮转的快,也可以进行左转弯。

4、 右转代码

static void MoveRight()

{

Lc.Write(true);

pwm.Start(PWM.Channels.CH1, 1, PWM.Mode.PWM1); //PA6   

Rc.Write(false);

pwm.Start(PWM.Channels.CH2, 99, PWM.Mode.PWM1); //PA7   

}

右转处理代码和左转恰好相反。

5、 停止代码

static void MoveStop()

{

Lc.Write(false);

pwm.Start(PWM.Channels.CH1, 0, PWM.Mode.PWM1); //PA6   

Rc.Write(false);

pwm.Start(PWM.Channels.CH2, 0, PWM.Mode.PWM1); //PA7   

pwm.Stop(PWM.Channels.CH1);

pwm.Stop(PWM.Channels.CH2);

}   

红外遥控器我们也没有必须识别全部的按钮编码,我们仅识别5个按键即可,前后左右和确认键。

1、声明红外控制类,并绑定相关处理事件

IRController IR = new IRController(3, (int)GPIO_NAMES.PB12);

IR.IREvent += new IRController.IREventHandler(IR_Click);

2、红外事件处理函数

static void IR_Click(byte[] buff, DateTime time)

{

IRData.Key key = IRData.GetKey(buff);//编码识别

if (key != IRData.Key.None)

{

switch (key)

{

case IRData.Key.Forward:

MoveForward();

break;

case IRData.Key.Left:

MoveLeft();

break;

case IRData.Key.Right:

MoveRight();

break;

case IRData.Key.Back:

MoveBack();

break;

case IRData.Key.Stop:

MoveStop();

break;

}   

}

}

相关博文:
(1)红外遥控器编码识别 http://blog.csdn.net/yefanqiu/archive/2010/09/25/5906170.aspx
(2)用PWM驱动智能小车 http://blog.csdn.net/yefanqiu/archive/2010/09/05/5865279.aspx
(3)红外遥控智能小车 http://blog.csdn.net/yefanqiu/archive/2010/09/28/5912938.aspx

yefanqiu 发表于 2010-10-10 14:45:26

遥控视频:http://video.sina.com.cn/v/b/38689146-1804832611.html

yaked19 发表于 2011-8-15 10:21:00

标记看看,有兴趣

cadre 发表于 2011-9-27 23:07:13

mark

wpnx 发表于 2011-11-1 11:43:54

mark

zhames 发表于 2011-11-1 12:00:11

MARK

liangyanzhuo11 发表于 2011-11-29 12:06:18

mark

hitor 发表于 2011-12-5 00:27:02

mark

hzc171 发表于 2011-12-5 13:32:05

mark

longxiang 发表于 2011-12-5 13:33:41

mark

zhangjiusheng 发表于 2012-5-7 23:44:21

mark                                 
页: [1]
查看完整版本: 红外遥控智能小车(可用C#编程控制)