智能车制作

标题: 写C#代码,用红外遥控智能车 [打印本页]

作者: yefanqiu    时间: 2010-10-10 15:33
标题: 写C#代码,用红外遥控智能车

我们把小车分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
作者: MLM    时间: 2011-11-30 22:11
我想制作一台红外遥控小车,能不能请楼主把资料发到506644585@qq.com这个邮箱?
作者: szx7556493    时间: 2012-2-13 14:42

作者: 学之行之    时间: 2012-3-6 22:40

作者: 凌云展翅    时间: 2012-3-25 22:13
楼主,能告知 一下 你的 底层 pwm是怎么样的吗??
作者: 狙击手    时间: 2012-5-2 19:06

作者: 993809188    时间: 2012-9-7 18:16
楼主能否推荐下要学C#哪本教材好呢
作者: Roy罗先森    时间: 2012-11-4 14:48
请楼主发送一些资料让我学习学习,pcb图,代码之类的,谢谢啦!!!295863196@qq.com




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2