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

智能密码箱 简单

头像 二哈666 2020.10.28 928 1
project-image
project-image

我有很多钱。但是,放在一个抽屉里不保险而藏起来又担心找不到,这可怎么办呢?然后我又在社区上看到了许多制作保险箱的于是我也想制作一个。接下来就开始找材料。

步骤1 准备材料

材料清单

步骤2 接线组装

接线图就不需要画了,我就给一个线的连接部分来吧。

物联网模块蓝色接线到D1绿色线接D0。

为了避免出现混接线,MP3使用软串口。绿色的线接D2,蓝色的线接D3。

液晶显示屏接CII

舵机接D3

蜂鸣器接D5

按钮A接D7

按钮B接D8

RGB彩灯带接D6

接好线。把激光切割件。拼成一个木盒子,想办法把元器件放进去,用舵机当锁就可以了。

步骤3 编辑程序,调试程序。

这时,简单的图形化代码就出来了。

project-image

这就是简单的程序,下面的就是代码。【记得用mind﹢里面的手动输入来用】如果不喜欢这样输密码的,最下面的附件里有程序奉上。下载就可以了。

代码
/*!
 * MindPlus
 * uno
 *
 */
#include <UNO_Obloq.h>
#include <SimpleList.h>
#include <DFRobot_Servo.h>
#include <SoftwareSerial.h>
#include <DFRobot_NeoPixel.h>
#include <DFRobot_SerialMp3.h>
#include <DFRobot_Libraries.h>
#include <DFRobot_LiquidCrystal_I2C.h>

// 动态变量
String             mind_s_a, mind_s_b;
volatile float     mind_n_MiMa, mind_n_ShuLiang, mind_n_my_float_variable;
SimpleList<String> mind_l_MiMa;
// 函数声明
void DF_ChuShiHua();
void DF_yes();
void DF_no();
// 静态常量
const String topics[5] = {"E_eikAtGg","","","",""};
// 创建对象
UNO_Obloq                 olq;
DFRobot_LiquidCrystal_I2C lcd1602;
Servo                     servo_4;
DFRobot_NeoPixel          neoPixel_6;
DFRobot_SerialMp3         serialMp3;
SoftwareSerial            softSerialserialMp3(2, 3);
DFRobot_Tone              DFTone;


// 主程序开始
void setup() {
	servo_4.attach(4);
	DF_ChuShiHua();
}
void loop() {
	mind_n_my_float_variable = (map(analogRead(A0), 0, 1023, 0, 9));
	mind_s_b = (String((String((String(mind_l_MiMa[1-1]).toInt())) + String((String(mind_l_MiMa[2-1]).toInt())))) + String((String(mind_l_MiMa[3-1]).toInt())));
	mind_s_a = (ceil(mind_n_my_float_variable));
	if (digitalRead(8)) {
		lcd1602.print(uint32_t(mind_n_MiMa), uint32_t(1), (String(mind_s_a).toInt()));
		mind_l_MiMa.replace((constrain(mind_n_ShuLiang, 1, 3))-1, mind_s_a);
		mind_n_ShuLiang += 1;
		mind_n_MiMa += 1;
		delay(1000);
	}
	if (digitalRead(7)) {
		if ((((String(mind_s_b).toInt())==123) && (mind_l_MiMa.size()>=3))) {
			DF_yes();
		}
		else {
			DF_no();
		}
	}
	if ((olq.getMessage(olq.topic_0)==String("打开"))) {
		olq.publish(olq.topic_0, "输入密码");
		if ((olq.getMessage(olq.topic_0)==123)) {
			olq.publish(olq.topic_0, "ok");
			DF_yes();
		}
	}
}


// 自定义函数
void DF_ChuShiHua() {
	olq.startConnect(0, 1, "HONOR 20 PRO", "lsr22619730621", "Ve1mB0DGR", "V61ifADMgz", topics, "iot.dfrobot.com.cn", 1883);
	olq.publish(olq.topic_0, "hello");
	mind_l_MiMa.clear();
	lcd1602.clear();
	servo_4.angle(abs(0));
	neoPixel_6.begin(6, 7);
	neoPixel_6.setBrightness(255);
	neoPixel_6.clear();
	neoPixel_6.begin(6, 7);
	mind_n_MiMa = 0;
	mind_n_ShuLiang = 0;
	mind_n_my_float_variable = 0;
	lcd1602.begin(0x20);
	lcd1602.printLine(uint32_t(1), "hello");
	delay(2000);
	lcd1602.clear();
	mind_s_a = "    ";
	mind_s_b = "   ";
	lcd1602.printLine(uint32_t(1), "hello");
	mind_l_MiMa.push_back("      ");
	mind_l_MiMa.push_back("      ");
	mind_l_MiMa.push_back("      ");
}
void DF_yes() {
	serialMp3.begin(&softSerialserialMp3);
	serialMp3.play();
	serialMp3.volume(100);
	serialMp3.playList(1);
	lcd1602.printLine(uint32_t(1), "YES");
	neoPixel_6.setRangeColor(0, 4, 0x00FF00);
	delay(1000);
	neoPixel_6.showRainbow(0, 4, 1, 360);
	DFTone.play(5, 988, 500);
	delay(1000);
	DFTone.play(5, 659, 500);
	delay(1000);
	DFTone.play(5, 622, 500);
	delay(1000);
	DFTone.play(5, 932, 500);
	servo_4.angle(abs(90));
	delay(4000);
	servo_4.angle(abs(0));
	mind_s_a = " ";
	mind_s_b = " ";
	mind_n_MiMa = 0;
	mind_n_ShuLiang = 0;
	lcd1602.clear();
	lcd1602.printLine(uint32_t(1), "hello");
	mind_l_MiMa.clear();
	mind_l_MiMa.push_back("      ");
	mind_l_MiMa.push_back("      ");
	mind_l_MiMa.push_back("      ");
}
void DF_no() {
	serialMp3.begin(&softSerialserialMp3);
	serialMp3.play();
	serialMp3.volume(100);
	serialMp3.playList(1);
	neoPixel_6.setRangeColor(0, 7, 0xFF0000);
	lcd1602.printLine(uint32_t(1), "NO");
	DFTone.play(5, 131, 500);
	delay(1000);
	DFTone.play(5, 131, 500);
	delay(1000);
	DFTone.play(5, 131, 500);
	delay(1000);
	DFTone.play(5, 131, 500);
	lcd1602.clear();
	lcd1602.printLine(uint32_t(1), "hello");
	mind_n_MiMa = 0;
	mind_n_ShuLiang = 0;
	mind_s_a = " ";
	mind_s_b = " ";
	mind_l_MiMa.clear();
	mind_l_MiMa.push_back("      ");
	mind_l_MiMa.push_back("      ");
	mind_l_MiMa.push_back("      ");
}
project-image

评论

user-avatar
  • 粒子

    粒子2020.10.29

    不错哦,学习了

    0