Stap 2: Programma je Arduino
U zult willen uploaden van onze schets alvorens om het even welk van de elektronica te doen zodat we hen testen kunt als we gaan. De code is die hieronder zijn toegevoegd en commentaren door heeft. U wilt uw Arduino software/stuurprogramma's zijn geïnstalleerd voor deze stap!1) download bestand die hieronder zijn toegevoegd
2) sluit je Arduino aan op een USB-ingang op uw computer.
3) open het bestand in een schets van de Arduino (of als dit geeft u moeite, het bestand omzetten in een .txt en kopieer/plak de code in een lege schets) en compile/verifiëren
4) uploaden naar je Arduino!
In de stappen om te komen, ik zal het geven van tips voor probleemoplossing met betrekking tot specifieke delen van de code (bepaalde parameters zal moet worden getweaked voor elk systeem). Voor iedereen die geïnteresseerd is in de specifieke kenmerken van de code, heb ik een overzicht hieronder opgenomen. De schets is goed gereageerd op hele, maar het is een flinke bestand en een beetje onhandig om te interpreteren tijde (voel je vrij om dit meer elegante, en zorg ervoor dat u alle succes in de commentaren delen!).
Lijnen 4-33: definieert de pins Arduino, constanten en variabelen die we zullen gebruiken in de code.
-Je zult waarschijnlijk willen deze voor uw deur/systeem tweak. Ik zal u begeleiden door middel van deze
Lijnen van 35-47 (setup): definieert pin modi en initiëren seriële toezicht
Lijnen 49-84, (lus): het gedrag van het circuit als het wacht te horen (zie) definieert een klop (flash)
-Dit is waar we de achtergrond/gemiddeld functie, die continu gegevens monsters en kalibreert drempelwaarden dienovereenkomstig instellen. Als een signaal licht of geluid boven de drempelwaarde is geregistreerd, dan voert het "listenToSecretKnock"
Lijnen van 86-161 (listenToSecretKnock): de stoten geregistreerd door de microfoon registreert
-Registreert de tijd tussen stoten (de lengte van de vertraging) in een array en stuurt de gegevens naar validateKnock. Deel van deze sectie is gewijd aan de leiding van de LED-lampjes die langs in de tijd met de geregistreerde stoten knipperen. Als de vergrendeling is geverifieerd, de deur zal vergrendelen of ontgrendelen van de deur als afhankelijk van de "doorState" (die vertelt als onze laatst was vergrendeld of ontgrendeld).
Lijnen 163-238 (listenToSecretPhotoKnock): het lampje van de Records die geregistreerd door de fotodiode
-In principe hetzelfde als lijnen 86-161, maar nu met de fotodiode signaal/parameters. Dit is een goede plaats om te starten als u op zoek bent om te stroomlijnen de code een beetje meer, aangezien het herhaalt een heleboel wat eerder (op mijn todolijst) wordt gebruikt
Lijnen 239-255 (triggerDoorUnlock): Hiermee schakelt u de motor om de deur te openen
-Inzicht in deze sectie heeft te maken met de wetenschap van het gedrag van een h-brug, die de richting van de spanning over de motor bepaalt. U kunt het blad speck voor uw chip om te begrijpen meer opzoeken (dit was degene die ik gebruikt: http://html.alldatasheet.com/html-pdf/28616/TI/SN754410NE/24/1/SN754410NE.html)
Lijnen van 257-272 (triggerDoorLock): loopt de motor in omgekeerde om te sluiten van de deur
-Dit gedeelte ook herhaalt wat codage en voordeel kan doen met een beetje opruimen.
Lijnen 274-349 (validateKnock): controleert of het opgenomen patroon een wedstrijd aan de sleutel.
-Dit normaliseert elke klop tot de langste onderbreking en vergelijkt de relatieve intervallen tussen stoten. Dit betekent dat u kunt doen hetzelfde patroon langzaam of snel, en het moet nog steeds leiden tot de motor.