Hur man gör en elektroniskt lås med en Arduino UNO (10 / 10 steg)
Steg 10:
Motorn kan sättas in i en dörr att låsa den. Detta kräver vissa borrning och skärning. Kontrollera att du har behörighet att infoga motorn i dörren. Detta är frivilligt.
Här är koden. Kopiera och förbi den i en ny fil i programvaran Arduino.
---bof RGBL - RGB Digital ingress
RGB LED stift
#include < Servo.h >
Servo myservo;
int pos = 0;
int ledAnalogOne [] = {A3, A4, A5};
de tre digitala stiften på den första digitala LED 14 = redPin, 15 = greenPin, 16 = bluePin
int ledDigitalTwo [] = {3,4,5}.
de tre digitala stiften på den första digitala LED 14 = redPin, 15 = greenPin, 16 = bluePin
int ledDigitalThree [] = {6,7,8}.
de tre digitala stiften på den första digitala LED 14 = redPin, 15 = greenPin, 16 = bluePin
CONST booleska ON = låg;
Definiera på så lågt (detta beror på att vi använder en gemensam anod RGB LED (gemensamma pin är ansluten till + 5 volt)
int buttonA = 9;
int buttonB = 10;
int buttonC = 11;
int låst = 13.
int olåst = 12.
de hemliga nummer är koden. 111 är lila lila lila. Ändra numret om du vill ändra koden.
nummer corispond med en färg. listan är under
int secretNumber1 = 1;
int secretNumber2 = 1;
int secretNumber3 = 1;
int Nyckel1 = 6;
int key2 = 6;
int key3 = 6;
boolesk är låst = 1;
CONST booleska OFF = hög;
Definiera så hög
Fördefinierade färger
Detta är en lista av färger
CONST boolean [röd] = {ON, OFF, OFF}; 4
CONST boolean [grön] = {OFF, på OFF}; //2
CONST boolean [blå] = {OFF, OFF ON}; //1
CONST boolean [gul] = {ON, ON, OFF}; //6
CONST booleska CYAN [] = {ON, ON OFF}; 3
CONST booleska MAGENTA [] = {ON, OFF ON}; 5
CONST boolean [vit] = {ON, ON, ON}; 7
CONST boolean [svart] = {OFF, OFF, OFF}; //0
En matris som lagrar de fördefinierade färgerna (tillåter oss att senare slumpmässigt Visa en färg)
CONST boolean * färger [] = {röd, grön, blå, gul, CYAN, MAGENTA, vit, svart};
---eof RGBL - RGB Digital ingress
void setup() {
tag (!. Seriell);
Serial.BEGIN(9600);
om trubleshoot, avkommentera raderna ovan
myservo.attach(2);
myservo.write(0);
för (int jag = 0; jag < 3; i ++) {
pinMode (ledAnalogOne [i], produktionen);
Ange tre LED stift som utgångar
pinMode (ledDigitalTwo [i], produktionen);
Ange tre LED stift som utgångar
pinMode (ledDigitalThree [i], produktionen);
Ange tre LED stift som utgångar
pinMode(buttonA,INPUT_PULLUP);
pinMode(buttonB,INPUT_PULLUP);
pinMode(buttonC,INPUT_PULLUP);
pinMode låst (, OUTPUT);
pinMode(unlocked,OUTPUT);
}
}
void loop() {
om (är låst == 1)
{
digitalWrite (olåst, låg);
digitalWrite (låst, högt);
}
annat
{
digitalWrite (olåst, högt);
digitalWrite (låst, låg);
myservo.write(90);
}
setColor (ledAnalogOne, COLORS[key1]);
setColor (ledDigitalTwo, COLORS[key2]);
setColor (ledDigitalThree, COLORS[key3]);
om (digitalRead(buttonA) == låg)
{
Nyckel1 = Nyckel1 + 1.
om (Nyckel1 == 8)
{Nyckel1 = 0;
}
Serial.println ("buttonA tryckte");
Serial.println(key1);
}
om (digitalRead(buttonB) == låg)
{
key2 = key2 + 1.
om (key2 == 8)
{key2 = 0;
}
Serial.println ("buttonB tryckte");
Serial.println(key2);
}
om (digitalRead(buttonC) == låg)
{
key3 = key3 + 1.
om (key3 == 8)
{key3 = 0;
}
Serial.println ("buttonC tryckte");
Serial.println (key3);
}
om (secretNumber1 == Nyckel1 & secretNumber2 == key2 & secretNumber3 == key3)
{är låst = 0;
}
annat {är låst = 1;
}
Delay(1000);
}
/ * Uppsättningar en ledde till någon färg led - en matris med tre element definierar tre färg stiften (ledde [0] = redPin, ledde [1] = greenPin, ledde [2] = bluePin) färg - en boolesk matris med tre element (färg [0] = röd värde (= låg på, hög = off), färg [1] = grön värde, färg [2] = blå värde) * /
{Ogiltig setColor (int * ledde, boolean * färg)
för (int jag = 0; jag < 3; i ++) {
digitalWrite (ledde [i], color[i]);
}
}
/ * En version av setColor som gör för att använda const booleska färger * /
{Ogiltig setColor (int * ledde, const boolean * färg)
booleska tempColor [] = {färger [0], färg [1], [2]};
setColor (led, tempColor);
}
Sedan ansluter din Arduino till datorn och köra kod!
Om koden:
raderna:
int secretNumber1 = 1;
int secretNumber2 = 1;
int secretNumber3 = 1;
är koden. Det finns anteckningar över dessa rader som beskriver hur man använder det:
de hemliga nummer är koden. 111 är lila lila lila. Ändra numret om du vill ändra koden.
nummer corispond med en färg. listan är under
färgerna är:
Röd = 4
Grön = 2
Blå = 1
Gul = 6
Cyan = 3
Magenta = 5
Vit = 7
Black(off) = 0
Du kan ställa in färgerna, men lamporna börjar inte på #! se om du kan lista ut vad det börjar på!
Om du har problem, försök jiggling knapparna lite medan du trycker på dem.
Om du har några frågor, fråga mig på ava2000c eller kommentar.
Ha det så kul!
-Shadow513