我有很多钱。但是,放在一个抽屉里不保险而藏起来又担心找不到,这可怎么办呢?然后我又在社区上看到了许多制作保险箱的于是我也想制作一个。接下来就开始找材料。
步骤1 准备材料
步骤2 接线组装
接线图就不需要画了,我就给一个线的连接部分来吧。
物联网模块蓝色接线到D1绿色线接D0。
为了避免出现混接线,MP3使用软串口。绿色的线接D2,蓝色的线接D3。
液晶显示屏接CII
舵机接D3
蜂鸣器接D5
按钮A接D7
按钮B接D8
RGB彩灯带接D6
接好线。把激光切割件。拼成一个木盒子,想办法把元器件放进去,用舵机当锁就可以了。
步骤3 编辑程序,调试程序。
这时,简单的图形化代码就出来了。
这就是简单的程序,下面的就是代码。【记得用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(" ");
}
附件
粒子2020.10.29
不错哦,学习了