写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 --------------------编程问答-------------------- 没房,没车。 --------------------编程问答-------------------- 不错不错,不知道我家的冰箱能不能控制自动关开门 --------------------编程问答-------------------- 遥控视频:http://video.sina.com.cn/v/b/38689146-1804832611.html --------------------编程问答-------------------- 好强....收藏之....我对这些很感兴趣...向楼主学习. --------------------编程问答-------------------- 向lz学习了 --------------------编程问答-------------------- 呵呵 LZ
搞单片机的吗?MSP430是凌阳的板子哦? --------------------编程问答-------------------- 这是 Cortex-M3的开发板,是红牛的 --------------------编程问答-------------------- 最近总是看到别人在做小车,再次学习了。 --------------------编程问答-------------------- 支持一下:我们以前也用自定义类库函数来实现小车的智能化,不过我们用C,C++ ,VB,VF不同语言,由不同学生团队来完成的,你有兴趣的话用C#编一个电脑模拟程序模拟小车全过程,你会有不同的收获的 --------------------编程问答-------------------- 厉害 前几天就是做了个数字温度计还是别人帮做的 --------------------编程问答-------------------- 有点意思,学习了 --------------------编程问答-------------------- 请问是不是要把代码刷到小车芯片里? --------------------编程问答-------------------- 事实上,楼主弄的东西都非常棒。但这个帖子,我没看出你的意图。想表达什么呢? --------------------编程问答-------------------- 可以用VS2008,直接把程序部署到小车上的Flash芯片上。也可以用我专门写的程序把用户程序烧写到Flash上,你可以参考一下我的博客或下面的文章:
博客:http://blog.csdn.net/yefanqiu
文章:http://www.sky-walker.com.cn/yefan/MFV40/MFUserManual.pdf --------------------编程问答-------------------- 收 藏 --------------------编程问答-------------------- @wuyazhe
选择在C#栏目,而不是嵌入式栏目发这个帖子,就是想对说软件人员说,PC软件人员也是有实力做嵌入式开发的,我就是从一个纯软件开发程序员转为一个嵌入式程序员的。
此外以前主要做工控软件,所以有机会接触一些硬件,直到遇到.net mf,使一个windows程序开发爱好者,才终于绕开linux,开始嵌入式开发之旅。
由于是.net mf项目组的,所以也希望有更多的人知道.net mf,并喜欢.net mf --------------------编程问答-------------------- 学 习 --------------------编程问答-------------------- 这个好玩 --------------------编程问答-------------------- 学习了
--------------------编程问答--------------------
让更多windows程序开发爱好者开始嵌入式开发之旅,不错哦 --------------------编程问答-------------------- 不错,我也是使用.NET做windows程序开发的。 --------------------编程问答-------------------- 强啊 不错
好东西
学习了 --------------------编程问答-------------------- 哇,楼主牛人。 --------------------编程问答-------------------- --------------------编程问答-------------------- 想问下做这个嵌入式开发需要什么硬件工具么? --------------------编程问答-------------------- 不错不错!嵌入式开发我都不会。。学习了。 --------------------编程问答-------------------- --------------------编程问答-------------------- 在Windows的环境下驾驶汽车........
不怕蓝屏哈 --------------------编程问答-------------------- 学习了! --------------------编程问答-------------------- 楼主您好 请问要做这种遥控技术方面的 需要学哪方面的技术呢? 单片机? 嵌入式? 求解·· 谢谢! --------------------编程问答-------------------- 有遥控灰机的不? --------------------编程问答-------------------- 不错 有遥控的坦克和神舟9号就好了 --------------------编程问答--------------------
要用什么环境来支持代码的运行?? --------------------编程问答--------------------
这种遥控技术,几乎不涉及到什么高级编程语言的,主要都是硬件技术。
单片机的语言都是结构化程序。 --------------------编程问答-------------------- 这位真犀利,把代码如此引用到生活,太给力了,有机会能教教我这新手吗?还有如何去学,看什么书属于我这样的初学者??
--------------------编程问答-------------------- 以前和同学用c写过小车推箱子 头一次听说C#也可以写嵌入式了 呵呵 C#越来越给力了 --------------------编程问答-------------------- 车速太慢,上不了高速 --------------------编程问答-------------------- C#也能搞单片机?看来Keil要破产了 --------------------编程问答-------------------- 仔细看了下,楼主业余爱好而已,用开发板做,小车走得也很不顺畅(从视频看),遥控距离就这么点,根本没什么适用性,红外遥控一般做15米没什么问题的。
申明下:本人不是有意在贬楼主,从业余的角度,已经不错了。只是从专业角度看,想说这么几句。
因为曾经是电子工程师和单片机工程师,干活从没用过开发板,都是直接上硬件, --------------------编程问答-------------------- 仔细看了下,楼主业余爱好而已,用开发板做,小车走得很不顺畅(从视频看),遥控距离就这么点,根本没什么适用性,红外遥控做个15米,是没什么问题的。
申明下:本人不是有意在贬楼主,其实从业余角度出发,楼主很不错了。只是从专业的角度,想说这么几句。
因为本人曾经是电子工程师和单片机工程师,做事从来没用过开发板,都是直接上硬件。 --------------------编程问答-------------------- 牛人倍出啊 --------------------编程问答-------------------- 很强大呀 --------------------编程问答-------------------- 很强大呀呀呀呀呀
NND,床上等你又抽风了 --------------------编程问答-------------------- 很强大呀 --------------------编程问答-------------------- 受益匪浅啊,C#也能做机器人,我感觉我的前途一片光明啊,楼主最好多给点这方面的知识让大家一起学习啊,说不定哪天就弄个智能高达出来 --------------------编程问答-------------------- 表面是上C#开发 但真正执行的还是C编写的程序 --------------------编程问答-------------------- LZ是来秀的吧,不过确实有秀的本钱啊 --------------------编程问答-------------------- 娃,倒霉兄头像好亮 --------------------编程问答-------------------- 用C#做遥控小车,其实只是.NET Micro Framework (最新V4.2版本目前已经支持VB.net 开发嵌入式了)一个小应用而已,我更关注的还是物联网领域的应用。对于协议转换,生产流程控制方面有更好的发展空间。 --------------------编程问答-------------------- 对于我这样一个只专注web领域的dotnet程序员来说,楼主的贴子和视频确实把我振奋了。。。
支持用dotnet开发神9的飞行控制系统,哈哈哈。
补充:.NET技术 , C#