色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

聚豐項目 > 基于IntoRobot創客開發板的遠程云遙控小車

基于IntoRobot創客開發板的遠程云遙控小車

基于IntoRobot創客開發板的遠程云遙控小車,通過網絡遠程進行小車的遙控控制。

機器人工作者 機器人工作者

分享
3 喜歡這個項目
團隊介紹

機器人工作者 機器人工作者

團隊成員

秦嘉 創客

分享
項目簡介
基于IntoRobot創客開發板的遠程云遙控小車,通過網絡遠程進行小車的遙控控制。
硬件說明

硬件準備:1.小車底盤(鋁基板加四個減速電機)
               
                  2.電機驅動板(TB6612是最常用的電機驅動模塊體積小發熱小效率高)
                                                             
                  3.電源模塊(DC-DC降壓模塊用來做5V供電電源)LM2596 DC-DC
                                          
                 4.底板(用來連接各模塊,這個底板是覆銅板自己做的,前一段時間做的用來做底板非常合適)
                                            
                5.下面這個就是今天的主角核心控制器(IntoRobot Neutron  開發板
                                          
         6.鋰電池(為整個系統供電)11.1V  600MAH
                                         
            7。BB響(這個可有可無因為我的鋰電池懷孕了必須實時進行檢測電壓保護,所以接上了一個BB響提示電過低)
                                         
              8.電位器(作為本工程里面用來調節小車速度的)20K的滑動變阻器,官方控件不能自己編輯所以調速的東西還是用硬件來實現,畢竟速凍控制在調試的時候很重要。
                                             

軟件說明

首先建立一個新的工程(新建工程連接WIFI等..在前幾期已經介紹過了這里就不再一一敘述了)

在線編輯主要介紹一下帶碼,之前想用按鈕來控制前進后退,后面發現自編應用里沒用合適的控件按鈕,僅有的按鈕是單擊的不能自己復位,會出現一直點擊的情況,最后在官網看到有個虛擬手柄的控件是個好東西,于是就載入到應用里面,在這個控件上走了不少彎路自己寫的代碼跟這個控件不能對接導致不能進行遙控,后面在官網查詢不少資料后發現有個例程可以參考

下面就直接貼出我的全部代碼了:
編輯代碼前一定要添加一個按鍵解析的官方庫,不然編譯會出錯的。

/*該頭文件引用由IntoRobot自動添加.*/
#include "WidgetJoypad/WidgetJoypad.h"

#define        A_IN0                  D0        //   A 電機驅動IO                 電機接口
#define        A_IN1                D1       //    A 電機驅動IO

#define        B_IN0            D3      //    B 電機驅動IO
#define        B_IN1            D4       //   B 電機驅動IO

#define        AB_EN                  D2       //    A B 電機使能

#define        LED                     D7                     狀態指示燈調試程序用的

const int analogInPin = A2;                    定義一個電位器的模擬量輸入接口

const int analogOutPin_A  = A0;            定義一電機速度控制的兩個PWM輸出接口
const int analogOutPin_B  = A1;

int sensorValue = 0;                                   定義模擬量輸入輸出變量
int outputValue = 0;

int outputValue_A = 0;
int outputValue_B = 0;

WidgetJoypad joypad;

void SwitchCb(void)                      按鍵解析函數的(解析收到的按鍵信號并進行處理)
{
    if(joypad.getUpkey())                   檢測前進按鍵
    {
        goahead();                                 小車前進
        delay(300);                                  延時(這個是我一直困惑的問題按道理是不用加延時的,但是實際情況不                                                                         加延時會出現不前進的情況,后續還會繼續研究這個問題,官方的例                                                                        子就是帶延時的所以先按照官方的來)
    }
    else
    {
        stopm();                                        小車停止
    }

    if(joypad.getDownkey())                       后退檢測
    {
        goback();
        delay(300);
    }
    else
    {
        stopm();
    }
     if(joypad.getRightkey())                   右轉
    {
        trunright();
        delay(300);
    }
    else
    {
        stopm();
    }
     if(joypad.getLeftkey())                       左轉
    {
        trunleft();
        delay(300);
    }
    else
    {
        stopm();
    }
}

void setup()                                         初始化
{
    // put your setup code here, to run once.
        pinMode(A_IN0, OUTPUT);
        pinMode(A_IN1, OUTPUT);                               電機接口初始化
        pinMode(B_IN0, OUTPUT);
        pinMode(B_IN1, OUTPUT);
        pinMode(AB_EN, OUTPUT);
        
        pinMode(LED, OUTPUT);                                      指示燈初始化

    pinMode(analogInPin,AN_INPUT);                           模擬量輸入

        pinMode(analogOutPin_A,OUTPUT);                   PWM輸出
        pinMode(analogOutPin_B,OUTPUT);
        
   joypad.begin(SwitchCb);

}

void goahead()                                       前進子函數
{
    digitalWrite(AB_EN, HIGH);
     digitalWrite(A_IN0, HIGH);        //燈亮
        digitalWrite(A_IN1, LOW);        //燈滅
        digitalWrite(B_IN1, HIGH);        //燈亮
        digitalWrite(B_IN0, LOW);        //燈滅
}


void goback()                                               后退子函數
{
    digitalWrite(AB_EN, HIGH);
         digitalWrite(A_IN1, HIGH);        //燈亮
        digitalWrite(A_IN0, LOW);        //燈滅
        digitalWrite(B_IN0, HIGH);        //燈亮
        digitalWrite(B_IN1, LOW);        //燈滅
}


void trunright()
{
    digitalWrite(AB_EN, HIGH);
         digitalWrite(A_IN0, HIGH);        //燈亮
        digitalWrite(A_IN1, LOW);        //燈滅
        digitalWrite(B_IN0, HIGH);        //燈亮
        digitalWrite(B_IN1, LOW);        //燈滅
}


void trunleft()
{
    digitalWrite(AB_EN, HIGH);
         digitalWrite(A_IN1, HIGH);        //燈亮
        digitalWrite(A_IN0, LOW);        //燈滅
        digitalWrite(B_IN1, HIGH);        //燈亮
        digitalWrite(B_IN0, LOW);        //燈滅
}


void stopm()
{
    digitalWrite(AB_EN, LOW);
         digitalWrite(A_IN0, LOW);        //燈亮
        digitalWrite(A_IN1, LOW);        //燈滅
        digitalWrite(B_IN1, LOW);        //燈亮
        digitalWrite(B_IN0, LOW);        //燈滅
}

void loop()
{
    sensorValue = analogRead(analogInPin);                            讀取模擬量數據

    outputValue = map(sensorValue, 0, 2047, 0, 255)/4;              數值轉換(實驗發現結果除4速度比較穩定)

    outputValue_A = outputValue;                                                
    outputValue_B = outputValue;  
    analogWrite(analogOutPin_A, outputValue);                            輸出PWM
    analogWrite(analogOutPin_B, outputValue);
}


代碼調試:

142917i2j92y2csjsy8xus.jpg

演示效果

調試完畢后將小車進行組裝:

最后打開控制軟件進行遙控:(可以手機電腦同時控制,由于本人條件有限使用手機錄制視屏只好用電腦進行演示)


PS:勾選下面的按鍵控制可用電腦鍵盤進行操作

總結一下:使用電位器可將車速控制在合適的范圍,擰動電位器可進行調節,速度控制非常流暢,全部功能都都可以實現,方向控制是我想說的重點也是和上面延時函數可能也有關系,在控制過程中有時會出現動作延時的情況,還有不能連續控制的情況,這些問題我還在繼續研究,可能其他小伙伴已經解決了(有的話請高手留言賜教非常感謝),下面我就想說下關于控件的使用,控件的種類個人感覺還需要再增加一些,如果控件可以自己設計那就更完美了,整個開發過程相對來說非常之快,歸功于這個開源的平臺使項目開發變得非常容易,如果使用傳統的方法以我這個菜鳥的技術不知道什么時候才能搞出來。

評論區(1 )
  • 大樹林218: 你做的云遙控小車遙控距離是多少?

    回復

主站蜘蛛池模板: 国产亚洲精品AV麻豆狂野| 日日噜噜大屁股熟妇| 成人国产在线不卡视频| 亚洲AV成人无码网天堂| 欧美人与动牲交A免费| 久久囯产精品777蜜桃传媒| 帝王被大臣们调教高肉| 5g天天奭视频| 亚洲免费在线观看| 她也色在线视频站| 欧美性视频xxxxhd| 久欠热视频精品首页| 好色美女小雅| 国产精品一区二区在线播放 | 动漫美女的禁| 最近2019中文字幕免费| 亚洲乱码AV久久久久久久| 三级黄色网| 女人高潮久久久叫人喷水| 久久99re6热在线播放| 国产在线精品亚洲观看不卡欧美| 波多野结衣教师系列6| 99久久国产视频| 999资源站| 最近中文字幕免费高清MV视频| 亚洲精品美女久久777777| 色综合色综合久久综合频道| 欧美性爱 成人| 欧美极限扩肛| 欧美性xxx18一20| 欧美videos人牛交| 蜜芽在线影片| 女人十八毛片水真多啊| 暖暖日本手机免费完整版在线观看| 久青草国产在视频在线观看| 久久久久毛片免费观看| 久久99影院| 久久视频这里只精品6国产| 久久精品国产亚洲AV未满十八 | 男欢女爱免费视频| 麻花豆传媒剧国产免费mv观看|