回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页
best-icon

小麦昆也玩麦克纳姆轮 简单

头像 肥罗-阿勇 2019.11.11 4313 13

今年是建国70周年,DFROBOT很有前瞻性的举办了创意花车的比赛

我也参加了,为祖国献礼。

运气不错,获得了三等奖,得到了一台麦昆小车。

project-image

想想第一次参加DFROBOT的活动也是参加麦昆挑战赛

但是最近一直忙着比赛,很久没和小麦昆一起玩了

最近在网上也很少见到大家玩小麦昆了,为什么呢?

因为最近大家都流行玩麦克纳姆轮,玩四驱了

小麦只有两驱,装不了麦克纳姆轮,所以暂时被大家冷落了

今年在逛MFSZ的时候突然发现一种很小的麦克纳姆轮

立马觉得这个和小麦昆很配,于是买了两套

project-image

一开始想法很简单,加一个支架把轮子装上就好

可是忘记了,麦昆只有两个驱动

难道要再加两个驱动?

想来想去,灵光一现,我可以用两个小麦昆连起来啊

说干就干,用3D打印机做了两个连接板

(如下图绿色那块就是我自己做的连接板,那个位置麦昆本身就留有孔洞,看来一开始麦昆就预想了这种连接方式,实在是太牛了,赞)

project-image

我这上面用一块大点的板子连起来,其实不必一定要这样,我这样是为了装18650电池

这个可以忽略

project-image

装好之后就是程序了,在这里我是用一块MICROBIT板来控制这辆小麦昆

要注意的是:连接的小麦昆,一个是前车,一个是后车

前车比较容易控制,后车要注意整体前进的时候,后车实际是往后走,整体左转的时候,后车是右转

记住了这个程序就很简单了

前车程序如下:

(特别表扬一下mind+1.6.0版本的截图功能,按一下 CTRL+G就截了下面的图,发帖非常方便,赞)

project-image
代码
/*!
 * MindPlus
 * maqueen
 *
 */
#include <Maqueen_Motor.h>
#include <Microbit_Matrix.h>
#include <DFMicrobit_Radio.h>
// 函数声明
void onRadioReceive(String message);
void goahead();
void goleft();
void goright();
void gostop();
// 静态常量
const uint8_t bbcBitmap[][5] = {
	{B00000,B11011,B00000,B01010,B00100}
};
// 创建对象
Maqueen_Motor motor;


// 主程序开始
void setup() {
	Radio.setCallback(onRadioReceive);
	Radio.setGroup(7);
	Radio.turnOn();
	MMatrix.show(bbcBitmap[0]);
	digitalWrite(8,HIGH);
	digitalWrite(12,HIGH);
	goahead();
}
void loop() {

}

// 自定义函数
void goahead() {
	motor.motorRun(motor.LEFT,motor.CW,200);
	motor.motorRun(motor.RIGHT,motor.CW,200);
}
void goleft() {
	motor.motorRun(motor.LEFT,motor.CCW,200);
	motor.motorRun(motor.RIGHT,motor.CW,200);
}
void goright() {
	motor.motorRun(motor.LEFT,motor.CW,200);
	motor.motorRun(motor.RIGHT,motor.CCW,200);
}
void gostop() {
	motor.motorRun(motor.LEFT,motor.CW,0);
	motor.motorRun(motor.RIGHT,motor.CW,0);
}

// 事件回调函数
void onRadioReceive(String message) {
	if ((message=="goleft")) {
		goleft();
		delay(1000);
	}
	if ((message=="goright")) {
		goright();
		delay(1000);
	}
	if ((message=="goahead")) {
		goahead();
		delay(1000);
	}
	if ((message=="gostop")) {
		gostop();
		delay(1000);
	}
}

后车程序如下:


project-image
代码
/*!
 * MindPlus
 * maqueen
 *
 */
#include <Maqueen_Motor.h>
#include <Microbit_Matrix.h>
#include <DFMicrobit_Radio.h>
// 函数声明
void onRadioReceive(String message);
void goahead();
void goleft();
void goright();
void gostop();
// 静态常量
const uint8_t bbcBitmap[][5] = {
	{B00000,B01010,B00000,B11011,B00100}
};
// 创建对象
Maqueen_Motor motor;


// 主程序开始
void setup() {
	Radio.setCallback(onRadioReceive);
	Radio.setGroup(7);
	Radio.turnOn();
	MMatrix.show(bbcBitmap[0]);
	goahead();
}
void loop() {

}

// 自定义函数
void goahead() {
	motor.motorRun(motor.LEFT,motor.CCW,200);
	motor.motorRun(motor.RIGHT,motor.CCW,200);
}
void goleft() {
	motor.motorRun(motor.LEFT,motor.CW,200);
	motor.motorRun(motor.RIGHT,motor.CCW,200);
}
void goright() {
	motor.motorRun(motor.LEFT,motor.CCW,200);
	motor.motorRun(motor.RIGHT,motor.CW,200);
}
void gostop() {
	motor.motorRun(motor.LEFT,motor.CCW,0);
	motor.motorRun(motor.RIGHT,motor.CW,0);
}

// 事件回调函数
void onRadioReceive(String message) {
	if ((message=="goleft")) {
		goleft();
		delay(1000);
	}
	if ((message=="goright")) {
		goright();
		delay(1000);
	}
	if ((message=="goahead")) {
		goahead();
		delay(1000);
	}
	if ((message=="gostop")) {
		gostop();
		delay(1000);
	}
}

控制板程序如下:

project-image
代码
/*!
 * MindPlus
 * microbit
 *
 */
#include <Microbit_Matrix.h>
#include <DFMicrobit_Radio.h>
#include <Microbit_Sensors.h>
// 函数声明
void TiltLeftEvent();
void TiltRightEvent();
void LogoUpEvent();
void LogoDownEvent();
// 静态常量
const uint8_t bbcBitmap[][5] = {
	{B00100,B01000,B11111,B01000,B00100},
	{B00100,B00010,B11111,B00010,B00100},
	{B00100,B01110,B10101,B00100,B00100},
	{B10001,B01010,B00100,B01010,B10001}
};


// 主程序开始
void setup() {
	Sensors.onGesture(Sensors.TiltLeft,TiltLeftEvent);
	Sensors.onGesture(Sensors.TiltRight,TiltRightEvent);
	Sensors.onGesture(Sensors.LogoUp,LogoUpEvent);
	Sensors.onGesture(Sensors.LogoDown,LogoDownEvent);
	Radio.setGroup(7);
	Radio.turnOn();
}
void loop() {

}

// 事件回调函数
void TiltLeftEvent() {
	Radio.send("goleft");
	MMatrix.show(bbcBitmap[0]);
}
void TiltRightEvent() {
	Radio.send("goright");
	MMatrix.show(bbcBitmap[1]);
}
void LogoUpEvent() {
	Radio.send("goahead");
	MMatrix.show(bbcBitmap[2]);
}
void LogoDownEvent() {
	Radio.send("gostop");
	MMatrix.show(bbcBitmap[3]);
}

先把小麦昆吊起来看看效果

还不错,符合预期

再下地实际测试

运行的很好,因为只用了一个18650电池,跑起来还是有点慢。

后期再慢慢改进。

这个只是抛砖引玉,给大家提供一种小麦昆装麦昆的思路

至于可以做什么,嘿嘿

小麦昆在两驱世界里无所不能,现在可以去四驱麦轮世界里再次展现其强大的能力了

最后建议dfrobot尽快推出四驱的小麦昆

评论

user-avatar
  • _深蓝_

    _深蓝_2024.08.14

    SFSZ是啥商城?

    0
    • Fish01

      Fish012023.08.11

      这个轮子好神奇

      0
      • Fish01

        Fish012023.08.11

        这个轮子好神奇

        0
        • DFrkmdYrty_

          DFrkmdYrty_2021.01.24

          国赛三等奖,勇哥牛逼!

          0
          • DFS1w2cb8o8

            DFS1w2cb8o82020.08.07

            厉害厉害

            0
            • 1775796946

              17757969462019.12.31

              看着很酷啊

              0
              • 肥罗-阿勇

                肥罗-阿勇2019.11.23

                麦昆那个位置本来就有孔洞的,不需要打洞,我是自己用3D打印机做了一块板。当然也可以用激光切割机切一块板,或者直接用一块板,自己钻几个孔都是可以的。

                0
                • Tarzen

                  Tarzen2019.11.22

                  直接麦昆身上打洞?然后两辆连起来?

                  0
                  • 肥罗-阿勇

                    肥罗-阿勇2019.11.22

                    淘宝有卖,85一套,还不错

                    0
                    • 肥罗-阿勇

                      肥罗-阿勇2019.11.22

                      淘宝有卖,85一套,还不错

                      0
                      • 肥罗-阿勇

                        肥罗-阿勇2019.11.22

                        淘宝有卖,85一套,还不错

                        0
                        • 铁熊

                          铁熊2019.11.22

                          那个小的麦轮哪里有卖?多少钱啊?

                          0
                          • laai

                            laai2019.11.17

                            抢勇哥沙发,一边忙比还不忘时刻分享,点赞。

                            0