回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

麦昆赛道挑战赛 简单

头像 sunkf 2019.06.20 1062 0

【标题】麦昆赛道挑战赛

【介绍】

最近给麦昆换上了CR123A锂电池电源管理模组,动力十足!

你看,我们的麦昆想要挑战最美的赛道!

为此,我们动手给麦昆造了一条独一无二的赛道,一路它要挑战跨越桥梁、陷阱、可变轨弯道、爬楼梯、坐飞机,才能到达终点。

让我们开始最美赛道的旅途吧!

project-image

材料清单

  • 麦昆机器人 X1 链接
  • 麦昆CR123A锂电池电源管理模组 X1 链接
  • 硬纸板(来源于废旧纸箱) X1
  • 乐高积木块 X1
  • 热熔胶枪 X1
  • 软件Mind+ X1 链接
  • 主控micr:bit X2 链接
  • micro:bit gamepad 遥控手柄 X1 链接

【制作过程】

步骤1 设计赛道

一、绘制赛道草图

project-image

汉堡动手绘制赛道草图—依样画葫芦,像不像O(∩_∩)O哈哈~

project-image

二、准备器材

找来了前阵子买玩具架的大纸箱还有小纸箱,开拆、测量、切割,动手造起来!

project-image

汉堡帮着按住,绘制切线,完成雏形。

project-image

完成整体结构

project-image

步骤2 控制部分—遥控手柄

project-image

这次有小孩子的参与,特给予孩子更多参与机会,使用遥控手柄玩起来。

一、遥控设计

(1)功能说明

project-image

(2)程序编写

project-image

步骤3 麦昆程序

project-image

步骤4 测试视频

步骤5 程序代码-麦昆代码

代码
#include <DFMicrobit_Radio.h>
#include <Maqueen_Motor.h>
#include <DFRobot_NeoPixel.h>
#include <Microbit_Sound.h>

Maqueen_Motor motor;
DFRobot_NeoPixel  rgb_display_15;
void df_zydg();

void df_zydg()
{
	for (int count = 0; count < 3; count++) {
		digitalWrite(8,HIGH);
		digitalWrite(12,LOW);
		delay(200);
		digitalWrite(8,LOW);
		digitalWrite(12,HIGH);
		delay(200);
	}
}

void onRadioReceive(String message)
{
	if (((String(message).toInt()) == 8)) {
		motor.motorRun(motor.LEFT,motor.CW,40);
		motor.motorRun(motor.RIGHT,motor.CW,40);
		digitalWrite(8,HIGH);
		digitalWrite(12,HIGH);
	}
	if (((String(message).toInt()) == 2)) {
		motor.motorRun(motor.LEFT,motor.CCW,30);
		motor.motorRun(motor.RIGHT,motor.CCW,30);
		df_zydg();
	}
	if (((String(message).toInt()) == 4)) {
		motor.motorRun(motor.LEFT,motor.CW,0);
		motor.motorRun(motor.RIGHT,motor.CW,35);
		digitalWrite(8,HIGH);
		digitalWrite(12,LOW);
	}
	if (((String(message).toInt()) == 6)) {
		motor.motorRun(motor.LEFT,motor.CW,35);
		motor.motorRun(motor.RIGHT,motor.CW,0);
		digitalWrite(8,LOW);
		digitalWrite(12,HIGH);
	}
	if (((String(message).toInt()) == 5)) {
		motor.motorStop(motor.LEFT);
		motor.motorStop(motor.RIGHT);
		digitalWrite(8,LOW);
		digitalWrite(12,LOW);
		rgb_display_15.clear();
	}
	if (((String(message).toInt()) == 0)) {
		MSound.play(0, DADADADUM, Once);
		rgb_display_15.setRangeColor(-1, -1, rgb_display_15.rgbToColor(round((random(0, 200+1))), round((random(0, 200+1))), round((random(0, 200+1)))));
	}
}


void setup() {
	Radio.setCallback(onRadioReceive);
	rgb_display_15.begin(15, 4, 255);
	dfrobotRandomSeed();
	Radio.turnOn();
	Radio.setGroup(7);
	rgb_display_15.setRangeColor(-1, -1, 0x00ff00);
}

void loop() {

}

【遇到的困难与解决思路】

赛道的设计稍微偏小一些,还需加大赛道的宽度、优化赛道角度;由于让小孩子参与,为了更多的互动体验没有采用巡线,遥控稍有难度;以后有时间可以采用多种体验形式。

评论

user-avatar