【发布时间】:2015-08-15 00:53:39
【问题描述】:
好的,在过去的几个小时里,我试图用 arduino 做一个锁
-有4个按钮,每个都有数字(1,2,3,4) - 你有 8 个代码空间
所以我开始使用可以更改密码的功能。 (b1s .... 是按钮状态)
问题是,有没有比将数组的每个部分都转换为 int 更容易的方法?感谢您有一个愉快的一天!
int passwordCreate() {
int x1[9];
int x2[9];
int x3[9];
int x4[9];
int a=9;
int c=0;
int space[a];
while(c < a) {
if(b1s==HIGH) {
x1[c]==c+1;
x2[c]==0;
x3[c]==0;
x4[c]==0;
c++;
}
else if(b2s==HIGH) {
x1[c]==0;
x2[c]==c+1;
x3[c]==0;
x4[c]==0;
c++;
}
else if(b3s==HIGH) {
x1[c]==0;
x2[c]==0;
x3[c]==c+1;
x4[c]==0;
c++;
}
else if(b4s==HIGH) {
x1[c]==0;
x2[c]==0;
x3[c]==0;
x4[c]==c+1;
c++;
}
}
【问题讨论】:
-
用户是否最初输入了所需的锁组合并且此信息以字符形式接收?
-
同理,当你使用设置新密码的功能时(它的按钮4,你登录后),你可以将这4个按钮任意组合,最多8次,也就是说你可以设置 b1 b2 b1 b3 b2 b4 b3 等
-
为什么不使用单个数组来存储密码?那会更容易。
[ 1, 2, 1, 3, 2, 4 ,3, 1 ]数组本身存储了序列的顺序和按钮。您可以将它们存储为uint8_t,因为这是所需的最小长度。如果您愿意,我可以为此写下答案,以及您在按下按钮时必须考虑的其他事项。