所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
麦昆赛道挑战赛
sunkf sunkf 2019-06-23 23:46:46
0
0
简单

【标题】麦昆赛道挑战赛

【介绍】

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

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

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

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

projectImage
材料清单 材料清单
1x
麦昆机器人
1x
麦昆CR123A锂电池电源管理模组
1x
硬纸板(来源于废旧纸箱)
1x
乐高积木块
1x
热熔胶枪
1x
软件Mind+
2x
主控micr:bit
1x
micro:bit gamepad 遥控手柄

【制作过程】

步骤1 步骤1
设计赛道

一、绘制赛道草图

projectImage

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

projectImage

二、准备器材

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

projectImage

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

projectImage

    完成整体结构

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

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

一、遥控设计

(1)功能说明

projectImage

(2)程序编写

projectImage
步骤3 步骤3
麦昆程序
projectImage
步骤4 步骤4
测试视频
步骤5 步骤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() {

}
	                    				

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

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

Makelog作者原创文章,未经授权禁止转载。
0
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]