庆科社区
直播中

agdhun

9年用户 470经验值
擅长:可编程逻辑 嵌入式技术 EDA/IC设计 处理器/DSP 接口/总线/驱动 RF/无线
私信 关注

【MiCOKit试用体验】项目结贴------四驱调速车

` 本帖最后由 agdhun 于 2015-9-28 15:16 编辑

       这是是我第一次成功申请实用,非常感谢主办方给我这个机会,从两周前申请到板子,到现在,也写了一些贴子,后续我如果能留下这板子,会继续使用,与其他的板子一起使用,会在使用过程中得到的一些小经历、小体验等,会继续发帖。       拿到板子的第一周,我如实按照申请描述,对板子进行了初步学习,掌握了定制APP、微信配置、固件定制等诸多内容,我认为,这些在wiki上都有,就没发帖了,后续我会补上。下面就具体说说我的项目的思路及一些东西。
       我的项目主体思路是利用mico的物联网系统,通过Android端将数据用JSON的格式提交到云端,云端再对设备进行响应,进行数据转发到设备,设备再对数据进行处理,产生指令,利用板子上的pwm引脚与L298N驱动板进行驱动,实现了车速可调的作品。
        下面介绍我的例程,收到板子的第一周,我进行了板子的各种外设的检验,诸如电机、三色灯、红外、温湿度传感器等;之后我开始进行微信控制的实验,配置了微信,配置了git托管,进行了固件烧写,虽然出现了一些问题,但最后终究还是解决了。
        做完了这些,我就开始了APP定制,毕竟我填的项目是基于手机控制的,最后选定了RGB_Cloud这个实例,进行cloud定制,下面是控制界面主要代码:

  1.                
  2.                
  3.                

  4.                         
    title">
  5.                                 电机调速
  6.                         

  •                         
  •                         

  •                                 
  •                                        

  •                                                 

  •                                                 

  •                                                 

  •                                        

  •                                        

  •                                                 

  •                                                 

  •                                                 

  •                                        

  •                                        

  •                                                 

  •                                                 

  •                                                 

  •                                        

  •                                        

  •                                                 

  •                                                         

  •                                                         

  •                                        

  •                                 

  •                                                         

  •                                                                 Motor
  •                                                         

  •                                                 

  •                         

  •                         
  •                

  •                

  •                                 

  •                                 

  •                                 

  •                         

  •         
  • 下面这是按钮控制代码:
    1. //电机开关
    2.                 $("#motorbtn").click(function() {
    3.                         var topic = device_id + '/in';
    4.                         var command;
    5.                         var mtbtn = $("#motorbtn");
    6.                         if (mtbtn.attr("src") == "../image/smallicon-9kaiguan.png") {
    7.                                 mtbtn.attr("src", "//m.obk20.com/bbs/../image/smallicon-8kaiguan.png");
    8.                                 command = '{"switch_motor":false}';
    9.                         } else {
    10.                                 mtbtn.attr("src", "../image/smallicon-9kaiguan.png");
    11.                                 command = '{"switch_motor":true}';
    12.                         }
    13.                         publishcmd(topic, command);
    14.                 });
    15.                
    16.                 //控制RGB的开关
    17.                 /*function powerctrl(pwtag) {
    18.                         var topic = device_id + '/in';
    19.                         var command;
    20.                         if ("on" == pwtag)
    21.                                 command = '{"rgbled_switch":true}';
    22.                         else if ("off" == pwtmotorag)
    23.                                 command = '{"rgbled_switch":false}';
    24.                         publishcmd(topic, command);
    25.                 }*/

    26.                 //速度按钮处理
    27.                 $("#y500btnid").click(function() {
    28.                         var topic = device_id + '/in';
    29.                         var command = '{"motor_speed":200}';//'{"rgbled_switch":true,"rgbled_hues":0, "rgbled_saturation":100, "rgbled_brightness":100}';
    30.                         publishcmd(topic, command);
    31.                 });
    32.                 $("#g2000btnid").click(function() {
    33.                         var topic = device_id + '/in';
    34.                         var command = '{"motor_speed":500}';
    35.                         publishcmd(topic, command);
    36.                 });
    37.                 $("#r3500btnid").click(function() {
    38.                         var topic = device_id + '/in';
    39.                         var command = '{"motor_speed":800}';
    40.                         publishcmd(topic, command);
    41.                 });
    42.                 $("#y1000btnid").click(function() {
    43.                         var topic = device_id + '/in';
    44.                         var command = '{"motor_speed":300}';
    45.                         publishcmd(topic, command);
    46.                 });
    47.                 $("#g2500btnid").click(function() {
    48.                         var topic = device_id + '/in';
    49.                         var command = '{"motor_speed":600}';
    50.                         publishcmd(topic, command);
    51.                 });
    52.                 $("#r4000btnid").click(function() {
    53.                         var topic = device_id + '/in';
    54.                         var command = '{"motor_speed":900}';
    55.                         publishcmd(topic, command);
    56.                 });
    57.                 $("#y1500btnid").click(function() {
    58.                         var topic = device_id + '/in';
    59.                         var command = '{"motor_speed":400}';
    60.                         publishcmd(topic, command);
    61.                 });
    62.                 $("#g3000btnid").click(function() {
    63.                         var topic = device_id + '/in';
    64.                         var command = '{"motor_speed":700}';
    65.                         publishcmd(topic, command);
    66.                 });
    67.                 $("#r4500btnid").click(function() {
    68.                         var topic = device_id + '/in';
    69.                         var command = '{"motor_speed":1000}';
    70.                         publishcmd(topic, command);
    71.                 });

    最后实现效果如下:

    singn.png

    大致解释一下,通过按下图片按钮,会像云端提交一个JSON数据,再被设备解析,设备再改变占空比实现调速。

    设备端借鉴了阿莫william hill官网 上某个人的帖子,这我删除了大量无关代码,具体怎么修改,可以查看一下我上一篇【MiCOKit试用体验】APP端之电机添加

    。其他就不多说了。
    下面这图是运行流程:
    QQ图片20150928102507.png
    下面附上装载图:
    IMG_20150928_123301.jpg IMG_20150928_123306.jpg
    下面是演示效果:
    [media]http://v.youku.com/v_show/id_XMTM0Njk3MjUzMg==.html[/media]
    [media]http://v.youku.com/v_show/id_XMTM0Njk2MDIxMg==.html[/media]







    ` IMG_20150928_123310.jpg

    回帖(4)

    xjallen

    2015-9-28 15:33:01
    抢占沙发,学习了,999赞
    举报

    kiwis_ma

    2015-9-28 21:39:10
    ***分享
    举报

    weslydreamer

    2015-9-30 21:26:50
    做得很好 外观再考究一下会更完美
    举报

    Murphy

    2015-12-15 16:52:11
    彻底醉了,四驱车是这么个四驱车啊,一个DC电机,也不需要PWM。。。大大哥,能不能搞一个PWM的啊
    举报

    更多回帖

    相关帖子

    Android
    发帖
    登录/注册
    ×
    20
    完善资料,
    赚取积分