Stap 10:
De motor kan worden ingevoegd in een deur om het te vergrendelen. Dit vergt sommige boren en snijden. Zorg ervoor dat u gemachtigd bent om in te voegen van de motor in de deur. Dit is optioneel.
Hier is de code. Kopiëren en verleden in een nieuw bestand in de Arduino software.
---bof RGBL - RGB digitale preambule
RGB LED pinnen
#include < Servo.h >
Servo myservo;
int pos = 0;
int ledAnalogOne [] {A3, A4, A5} =;
de drie digitale pinnen van de eerste digitale LED-14 = redPin, 15 = greenPin, 16 = bluePin
int ledDigitalTwo [] = {3,4,5};
de drie digitale pinnen van de eerste digitale LED-14 = redPin, 15 = greenPin, 16 = bluePin
int ledDigitalThree [] = {6,7,8};
de drie digitale pinnen van de eerste digitale LED-14 = redPin, 15 = greenPin, 16 = bluePin
Const Booleaanse ON = laag;
Definiëren op zo laag (dit is omdat we een gemeenschappelijk Anode RGB LED gebruiken (gemeenschappelijke pin is aangesloten op + 5 volts)
int buttonA = 9;
int buttonB = 10;
int buttonC = 11;
int vergrendeld = 13;
int ontgrendeld = 12;
de geheime nummers zijn de code. 111 is paars bruin paars. Wijzig het nummer als de code wilt wijzigen.
de corispond van de nummers met een kleur. de lijst is hieronder
int secretNumber1 = 1;
int secretNumber2 = 1;
int secretNumber3 = 1;
int key1 = 6;
int key2 = 6;
int key3 = 6;
Boole islocked = 1;
Const Booleaanse OFF = hoog;
Define uit zo hoog
Vooraf gedefinieerde kleuren
Dit is de lijst van kleuren
Const Booleaanse rood [] = {ON, OFF, OFF}; 4
Const Booleaanse groene [] = {OFF, ON, OFF}; //2
Const Booleaanse blauwe [] = {OFF, OFF, ON}; //1
Const Booleaanse gele [] = {ON, op, uit}; //6
Const Booleaanse cyaan [] = {OFF, ON, ON}; 3
Const Booleaanse MAGENTA [] = {ON, OFF, ON}; 5
Const Booleaanse witte [] = {ON, op, ON}; 7
Const Booleaanse zwart [] = {OFF, OFF, OFF}; //0
Een matrix die de vooraf gedefinieerde kleuren worden opgeslagen (stelt ons in staat om later willekeurig een kleur weer te geven)
Const boolean * kleuren [] = {rood, groen, blauw, geel, cyaan, MAGENTA, wit, zwart};
---eof RGBL - RGB digitale preambule
VOID Setup {}
terwijl (!. Serieel);
Serial.begin(9600);
Als trubleshoot, uncomment lijnen hierboven
myservo.attach(2);
myservo.write(0);
for (int i = 0; ik < 3; i ++) {}
pinMode (ledAnalogOne [i], OUTPUT);
Instellen van de drie LED-pinnen als uitgang
pinMode (ledDigitalTwo [i], OUTPUT);
Instellen van de drie LED-pinnen als uitgang
pinMode (ledDigitalThree [i], OUTPUT);
Instellen van de drie LED-pinnen als uitgang
pinMode(buttonA,INPUT_PULLUP);
pinMode(buttonB,INPUT_PULLUP);
pinMode(buttonC,INPUT_PULLUP);
pinMode vergrendeld (, uitvoer);
pinMode(unlocked,OUTPUT);
}
}
void loop {}
Als (islocked == 1)
{
digitalWrite (ontgrendeld, laag);
digitalWrite (vergrendeld, hoog);
}
anders
{
digitalWrite (unlocked, hoog);
digitalWrite (vergrendelde, laag);
myservo.write(90);
}
setColor (ledAnalogOne, COLORS[key1]);
setColor (ledDigitalTwo, COLORS[key2]);
setColor (ledDigitalThree, COLORS[key3]);
Als (digitalRead(buttonA) == laag)
{
Key1 = key1 + 1;
Als (key1 == 8)
{key1 = 0;
}
Serial.println ("buttonA ingedrukt");
Serial.println(Key1);
}
Als (digitalRead(buttonB) == laag)
{
Key2 = key2 + 1;
Als (key2 == 8)
{key2 = 0;
}
Serial.println ("buttonB ingedrukt");
Serial.println(Key2);
}
Als (digitalRead(buttonC) == laag)
{
Key3 = key3 + 1;
Als (key3 == 8)
{key3 = 0;
}
Serial.println ("buttonC ingedrukt");
Serial.println (key3);
}
Als (secretNumber1 == key1 & secretNumber2 key2 & secretNumber3 == == key3)
{islocked = 0;
}
else {islocked = 1;
}
delay(1000);
}
/ * Sets een led op een kleur onder leiding - een matrix van de drie elementen bepalen de kleur van de drie pinnen (leidde [0] = redPin, leidde [1] = greenPin, leidde [2] = bluePin) kleur - een Booleaanse matrix van drie elementen (kleur [0] = waarde voor rood (laag = on, hoog = off), kleur [1] = groenwaarde, kleur [2] = waarde voor blauw) * /
VOID setColor (int * geleid, boolean * kleur) {}
for (int i = 0; ik < 3; i ++) {}
digitalWrite (onder leiding van [i], color[i]);
}
}
/ * Een versie van setColor die het mogelijk maakt voor het gebruik van const Booleaanse kleuren * /
VOID setColor (int * geleid, const boolean * kleur) {}
Booleaanse tempColor [] = {kleur [0], kleur [1], kleur [2]};
setColor (led, tempColor);
}
Dan sluit je Arduino op uw computer en voer de code!
Over de code:
de lijnen:
int secretNumber1 = 1;
int secretNumber2 = 1;
int secretNumber3 = 1;
zijn van de code. Er zijn opmerkingen boven deze lijnen met een beschrijving van hoe het te gebruiken:
de geheime nummers zijn de code. 111 is paars bruin paars. Wijzig het nummer als de code wilt wijzigen.
de corispond van de nummers met een kleur. de lijst is hieronder
de kleuren zijn:
Rood = 4
Groen = 2
Blauw = 1
Geel = 6
Cyaan = 3
Magenta = 5
Wit = 7
Black(off) = 0
U kunt de kleuren instellen, maar de lichten niet beginnen bij #! Zie als u wat het begint achterhalen kunt bij!
Als u problemen ondervindt, probeer dan de knoppen een beetje jiggling terwijl u hen.
Als u vragen hebt, vraag me bij ava2000c of commentaar.
Veel plezier!
-Shadow513