Stap 5: programmering
Voor dit project gebruikte ik een Arduino Uno code uploaden naar een Atmega328. In deze sectie zullen zeer zware met code, maar ik zal wijzen op de belangrijke dingen die nodig zijn voor elk afzonderlijk project wijzigen. Ik gebruik de pinnen en de variabelen als volgt
A0 = fotoweerstand-gedefinieerd als lightPin
A5 = Neopixels
D9 = Servo
drempel = de waarde van de laser-interferentie. Vindt u de waarde die het aan zit, zonder inmenging, dan gaan over 10 gehele getallen naar beneden, gewoon om zeker te zijn. Wanneer het zintuigen iets minder dan deze waarde, zal de code controleren of het de sleutel of niet is.
UpperKeyThreshold en LowerKeyThreshold = de boven- en ondergrenzen van de sleutel. Ik geef de voorkeur deze methode, omdat als u een organisch materiaal, zoals een kristal, you gonna get alot van onzuiverheden, waardoor de positionering van het kristal een stuk moeilijker om mee te werken. Op deze manier kunt u de sleutel om te zoeken naar een bereik dat u vertrouwd met bent testen. Remember, hoe kleiner het bereik, de moeilijker het zal zijn om het openmaken van de doos met een bepaald object, en hoe groter het bereik, hoe makkelijker het zal zijn het gebruik van andere objecten in het vak te krijgen.
Het eerste ding u wilt doen testen het vak Zoeken naar de specifieke waarden. Ik beveel het programma dat Arduino levert, want het is snel, eenvoudig en efficiënt te gebruiken. Zodra geupload, sluit het vak zoals getoond in het diagram op de website. Zodra het wordt vastgehaakt, en de laser macht gegeven, kunt u dan testen voor uw variabelen. Op deze manier kun je de positie u wilt uw sleutel en vind de waarden aan. Zodra je merkt dat ze kunt u verplaatsen op naar de eigenlijke programma.
In plaats van de ontploffing de gids met mijn code, zal ik het als een bestand, dat u kunt downloaden en aanpassen als u pasvorm ziet hecht aan deze stap.
Je moet downloaden van twee bibliotheken: de Adafruit Neopixel library, en de Adafruit TiCoServo bibliotheek.
Kunt u niet de reguliere servo-bibliotheek in combinatie met de neopixel library als gevolg van sommige gegevens stream conflicten tussen de twee; dat is waarom Adafruit maakte een servo controller bibliotheek die mee zou werken. Het artikel opgenomen is een nette lezen op de redenering achter het, zodat er informatie erover in de link als je geïnteresseerd bent.