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

党史学习机 简单

头像 LBL 2021.06.15 681 0

步骤1 项目背景:为了纪念建党100周年,深入学习党的历史,重温党的光辉历程,发扬党的先进性,作为一名党员教师,我制造了这个简易党史学习机。功能原理:作品有三个功能:1、观看文字或视频党史内容,听党史故事、红歌。2、党史学习时间提醒。3、智能风扇降温。工作原理:当电源开关打开时,党旗旗杆上的RGB灯带从0号红色逐渐变到6号金黄色,象征着我们党从红色革命走向灿烂辉煌,当放下时灯带闪烁,也会提醒现在是学习党史的时间;我们拿起学习机时超声波传感器会控制启动风扇,在炎炎夏日学习时可以吹风降温;当按下黄色按钮时,屏幕上会显示党史学习内容,同时播放相应的党史故事或革命歌曲,按钮按一次,学习内容会更新,依次按下,循环学习,达到学习目标。

project-image
project-image
project-image
project-image
project-image
project-image
project-image

材料清单

  • DFROBOT掌控板 * 1 X1
  • 扩展板 * 1 X1
  • 超声波传感器 *1 X1
  • 风扇模块 *1 X1
  • 电源模块 *1 X1
  • 按钮模块 *1 X1
  • RGB灯带 *1 X1
  • 连接线 X1
  • 废旧泡沫块,卡纸,雪糕棒等耗材 X1
代码
 /*!
 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_URM10.h>
#include <DFRobot_NeoPixel.h>

// 动态变量
volatile float mind_n_DangShiGuShi, mind_n_BianLiang_LiangDengShuLiang;
// 创建对象
DFRobot_NeoPixel neoPixel_P8;
DFRobot_URM10    urm10;


// 主程序开始
void setup() {
	mPython.begin();
	mind_n_DangShiGuShi = 0;
	neoPixel_P8.begin(P8, 7);
	mind_n_BianLiang_LiangDengShuLiang = 0;
}
void loop() {
	if (((digitalRead(P13))==1)) {
		delay(300);
		mind_n_DangShiGuShi += 1;
		if ((mind_n_DangShiGuShi==0)) {
			display.fillScreen(0);
		}
		if ((mind_n_DangShiGuShi==1)) {
			display.setCursorLine(1);
			display.printLine("   五四运动,唤醒民众。");
			buzz.play(DADADADUM, Once);
		}
		if ((mind_n_DangShiGuShi==2)) {
			display.setCursorLine(2);
			display.printLine("   一大首聚,开天辟地。");
			buzz.play(ENTERTAINER, Once);
		}
		if ((mind_n_DangShiGuShi==3)) {
			display.setCursorLine(3);
			display.printLine("   八大盛会,确立重心。");
			buzz.play(PRELUDE, Once);
		}
		if ((mind_n_DangShiGuShi==4)) {
			display.setCursorLine(4);
			display.printLine("   科教春天,万众欢腾。");
			buzz.play(NYAN, Once);
		}
	}
	if ((mind_n_BianLiang_LiangDengShuLiang<=6)) {
		neoPixel_P8.showRainbow(0, mind_n_BianLiang_LiangDengShuLiang, 1, 90);
		delay(1000);
		mind_n_BianLiang_LiangDengShuLiang = (mind_n_BianLiang_LiangDengShuLiang + 1);
	}
	else {
		mind_n_BianLiang_LiangDengShuLiang = 0;
		neoPixel_P8.clear();
	}
	if (((urm10.getDistanceCM(P1, P2))<90)) {
		digitalWrite(P16, HIGH);
	}
	else {
		digitalWrite(P16, LOW);
	}
}

评论

user-avatar