所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
鸡毛信(心)
huangq1228 huangq1228 2019-06-14 21:21:12
0
0
简单
projectImage

【标题】鸡毛信(心) 

【介绍】接到粒子老师的通知,进入下一阶段的挑战,为麦昆设计一条独一无二的赛道,心中最美的赛道。看了示例蛋蛋君寻梦记,真的是脑洞全开,非常的棒。两个星期的不断思考,设计一条怎样的赛道呢,给我的麦昆赋予更好的本领和能量?我突然想到我小时候看的电影《鸡毛信》,儿童团的团长海娃接受了送鸡毛信的紧急任务以后,经过几番曲折和跋涉,克服了重重困难,发挥自己的聪明才智,终于把信送到了八路军张连长手中。 我决定用麦昆来再现海娃送信的艰难曲折,设计一条送鸡毛信的智慧道路。同时也是科技之路,麦昆将把鸡毛信变成鸡毛心, 用5*5点阵屏显示一颗“爱国心”,最终将鸡毛心的信息传递给张连长手中。(张连长的bit板上会接受到这颗心的信息)。麦昆海娃会用超声波传感器走出鬼子的森林迷宫,用巡线传感穿越鬼子哨兵的封锁,机智通过鬼子岗楼的跷跷板桥,偷偷推开机关,打开通往山区的暗道,胜利的把信息交给张连长(两块bit板之间用无线发送和无线接收,传递鸡毛心)。

材料清单 材料清单
1x
麦昆小车
1x
micro:bit和扩展板
1x
硬板纸
1x
乐高零件
1x
电工胶带
1x
一次性纸杯
1x
热熔胶枪
1x
Mind+
步骤1 步骤1
拿起热熔胶枪,硬板纸,开始制作迷宫、赛道、跷跷板桥、高山等。
projectImage
projectImage
步骤2 步骤2
用废旧的一次性杯子粘上鬼子的图片
projectImage
步骤3 步骤3
制作鬼子把守的桥梁。
projectImage
projectImage
步骤4 步骤4
麦昆送信的赛道完成
projectImage
projectImage
projectImage
projectImage
projectImage
projectImage
步骤5 步骤5
开始编程序:巡线、超声波、遥控、无线发送、无线接收等。不断的调试中,最后整合在一起。
projectImage
projectImage
projectImage
步骤6 步骤6
拍摄视频、编辑视频。
projectImage
代码 代码
	                    					#include <DFRobot_NeoPixel.h>
#include <Microbit_Matrix.h>
#include <Maqueen_Motor.h>
#include <DFMicrobit_Radio.h>
#include <DFRobot_URM10.h>
#include <DFRobot_IRremote_dal.h>

double df_flag;
double df_moshizhi;

DFRobot_NeoPixel  rgb_display_15;
Maqueen_Motor motor;
DFRobot_URM10 urm10(1,2);
DFROBOT_IRremote_Receive remote(16);
void df_dengd();
void df_xunxian();
void df_xin();
void df_bizhang();
void df_jimaoxin();

void df_dengd()
{
	rgb_display_15.setRangeColor(-1, -1, 0xff0000);
	rgb_display_15.rotate(1);
}

void df_xunxian()
{
	MMatrix.show(MMatrix.SMILE);
	if (((String("0") + String("0")) == (String(digitalRead(13)) + String(digitalRead(14))))) {
		motor.motorStop(motor.LEFT);
		motor.motorStop(motor.RIGHT);
	}
	if (((String("1") + String("1")) == (String(digitalRead(13)) + String(digitalRead(14))))) {
		if ((df_flag == 1)) {
			motor.motorRun(motor.LEFT,motor.CCW,20);
			motor.motorRun(motor.RIGHT,motor.CW,50);
		}
		else {
			motor.motorRun(motor.RIGHT,motor.CCW,20);
			motor.motorRun(motor.LEFT,motor.CW,50);
		}
	}
	if (((String("0") + String("1")) == (String(digitalRead(13)) + String(digitalRead(14))))) {
		motor.motorRun(motor.LEFT,motor.CW,120);
		motor.motorRun(motor.RIGHT,motor.CW,120);
		df_flag = 1;
	}
	if (((String("1") + String("0")) == (String(digitalRead(13)) + String(digitalRead(14))))) {
		motor.motorRun(motor.LEFT,motor.CW,120);
		motor.motorRun(motor.RIGHT,motor.CW,120);
		df_flag = 2;
	}
}

void df_xin()
{
	Radio.turnOn();
	Radio.setGroup(7);
	Radio.send("O");
	MMatrix.show(MMatrix.HEART);
	delay(1000);
	MMatrix.show(MMatrix.HEART_SMALL);
	delay(1000);
	MMatrix.clear();
}

void df_bizhang()
{
	rgb_display_15.setRangeColor(-1, -1, 0x00ff00);
	MMatrix.show(MMatrix.COW);
	motor.motorRun(motor.RIGHT,motor.CW,150);
	motor.motorRun(motor.LEFT,motor.CW,20);
	if (((urm10.getDistanceCM()) <= 17)) {
		motor.motorRun(motor.LEFT,motor.CW,150);
		motor.motorRun(motor.RIGHT,motor.CW,0);
		delay(200);
	}
}

void df_jimaoxin()
{
	MMatrix.show(MMatrix.HEART);
}

void onIRReceive(uint8_t data_IR)
{
	if ((data_IR == 207)) {
		df_moshizhi = 1;
	}
	else {
		if ((data_IR == 231)) {
			df_moshizhi = 2;
		}
		else {
			if ((data_IR == 133)) {
				df_moshizhi = 3;
			}
			else {
				if ((data_IR == 239)) {
					df_moshizhi = 4;
				}
				else {
					if ((data_IR == 199)) {
						df_moshizhi = 5;
					}
				}
			}
		}
	}
	if ((data_IR == 253)) {
		motor.motorRun(motor.LEFT,motor.CW,150);
		motor.motorRun(motor.RIGHT,motor.CW,150);
	}
	else {
		if ((data_IR == 103)) {
			motor.motorRun(motor.LEFT,motor.CCW,150);
			motor.motorRun(motor.RIGHT,motor.CCW,150);
		}
		else {
			if ((data_IR == 31)) {
				motor.motorRun(motor.LEFT,motor.CW,0);
				motor.motorRun(motor.RIGHT,motor.CW,150);
			}
			else {
				if ((data_IR == 111)) {
					motor.motorRun(motor.LEFT,motor.CW,150);
					motor.motorRun(motor.RIGHT,motor.CW,0);
				}
				else {
					if ((data_IR == 87)) {
						motor.motorStop(motor.LEFT);
						motor.motorStop(motor.RIGHT);
						rgb_display_15.clear();
						df_moshizhi = 0;
					}
				}
			}
		}
	}
}


void setup() {
	rgb_display_15.begin(15, 4, 255);
	df_moshizhi = 0;
	df_flag = 0;
	remote.begin();
	remote.setCallback(onIRReceive);
}

void loop() {
	if ((df_moshizhi == 1)) {
		df_jimaoxin();
	}
	else {
		if ((df_moshizhi == 2)) {
			df_bizhang();
		}
		else {
			if ((df_moshizhi == 3)) {
				df_xunxian();
			}
			else {
				if ((df_moshizhi == 4)) {
					df_dengd();
				}
				else {
					if ((df_moshizhi == 5)) {
						df_xin();
					}
				}
			}
		}
	}
}

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