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

【建党100周年】童心向党 智慧笔筒 简单

头像 勤奋学习 2021.07.02 940 2

一、设计背景

project-image

       “没有……”,从小这首歌就经常在我们耳边回荡,爸爸妈妈告诉我,我们今天的幸福生活是我们的先烈用鲜血换来的,作为新一代的少先队员,中华民族的炎黄子孙,我们是建设祖国的接班人。为纪念建党100周年,我设计制作了“智慧笔筒”,以此传承红船精神,献礼建党百年。

二、功能原理

通过老师的指导,我利用3D软件建模后打印出实物模型,再使用开源硬件和Mind+编写简单的程序实现笔筒的智慧功能。

1.当我们在写作业时,头离书本太近时,超声波传感器就会检测到,然后亮红灯提醒我们,连续达到三次太近时,还会增加声音提醒。

2.当我们做作业达到30分钟后,我们笔筒上的红船模型就会开动。提醒我们要休息一会了,从而保护好视力。

最后希望通过我制作的作品,让更多的同学关注科学,学习科学技术,把我们的祖国建设的更加强大。

三、结构设计

project-image

四、制作过程

材料清单

  • DFRduino UNO X1
  • 超声波传感器 X1
  • 9G舵机 X1
  • 蜂鸣器 X1
  • LED发光二极管 X1
  • 连接线 X1

步骤1 使用3D软件建模

project-image

笔筒主体

project-image

红船模型

project-image

超声波装饰框

步骤2 使用3D打印机打印模型

project-image

步骤3 丙烯颜料美化装饰

project-image

步骤4 硬件连接及组装

project-image

步骤5 使用Mind+软件编写程序

project-image

五、作品图片

project-image
代码

六、编程代码

代码
/*!
 * MindPlus
 * uno
 *
 */
#include <DFRobot_Servo.h>
#include <DFRobot_URM10.h>
#include <DFRobot_Libraries.h>

// 动态变量
volatile float mind_n_my_float_variable, mind_n_jishi1, mind_n_jishi2;
// 创建对象
Servo         servo_11;
DFRobot_URM10 urm10;
DFRobot_Tone  DFTone;


// 主程序开始
void setup() {
	servo_11.attach(11);
	mind_n_my_float_variable = 0;
	servo_11.angle(abs(90));
	mind_n_jishi1 = millis();
}
void loop() {
	mind_n_jishi2 = millis();
	if (((urm10.getDistanceCM(2, 3))<=26)) {
		digitalWrite(13, HIGH);
		delay(1000);
		mind_n_my_float_variable += 1;
		if ((mind_n_my_float_variable==3)) {
			DFTone.play(12, 262, 1000);
			delay(1000);
			mind_n_my_float_variable = 0;
		}
	}
	else {
		digitalWrite(13, LOW);
	}
	if (((mind_n_jishi2 - mind_n_jishi1)>1800000)) {
		for (int index = 0; index < 3; index++) {
			servo_11.angle(abs(85));
			delay(1000);
			servo_11.angle(abs(95));
			delay(1000);
		}
		mind_n_jishi1 = mind_n_jishi2;
	}
}

七、功能演示

评论

user-avatar
  • 糖醋花生

    糖醋花生2022.07.02

    有呀 在这里,给你复制好了 /*! * MindPlus * uno * */ #include &lt;DFRobot_Servo.h&gt; #include &lt;DFRobot_URM10.h&gt; #include &lt;DFRobot_Libraries.h&gt; // 动态变量 volatile float mind_n_my_float_variable, mind_n_jishi1, mind_n_jishi2; // 创建对象 Servo servo_11; DFRobot_URM10 urm10; DFRobot_Tone DFTone; // 主程序开始 void setup() { servo_11.attach(11); mind_n_my_float_variable = 0; servo_11.angle(abs(90)); mind_n_jishi1 = millis(); } void loop() { mind_n_jishi2 = millis(); if (((urm10.getDistanceCM(2, 3))&lt;=26)) { digitalWrite(13, HIGH); delay(1000); mind_n_my_float_variable += 1; if ((mind_n_my_float_variable==3)) { DFTone.play(12, 262, 1000); delay(1000); mind_n_my_float_variable = 0; } } else { digitalWrite(13, LOW); } if (((mind_n_jishi2 - mind_n_jishi1)&gt;1800000)) { for (int index = 0; index &lt; 3; index++) { servo_11.angle(abs(85)); delay(1000); servo_11.angle(abs(95)); delay(1000); } mind_n_jishi1 = mind_n_jishi2; } }

    0
    • rzqWxyp6eBpn

      rzqWxyp6eBpn2022.02.13

      有源代码嘛?

      0