Stap 5: Inzicht in het programma
Download het programma gekoppeld en toegankelijk op opwaarts zodat kunt u verwijzen naar het zoals ik elk deel bespreken.
Het programma schakelt gevallen op de knop geduwd. Vandaar het voorschotten de het volgende geval wanneer de knop wordt ingedrukt. Wanneer in geval 0, is de bicolor leidde rood om aan te geven dat het inactief is. Wanneer de knop wordt ingedrukt en de mode verandert, het groene flitsen en blijft uit.
Modi
1.) warm wit licht
Dit is eigenlijk een eenvoudige warm wit licht.
2.) dag/nacht cyclus
Dit moet mijn favoriete modus uit allemaal en degene besteed ik de meeste tijd aan. Vandaar, zal ik besteden een beetje tijd breken hoe het werkt. Maar eerst, de versnelde video krijgt u een indruk van hoe het zal werken. De werkelijke versie strekt dit gewoon uit meer dan 12 uren van 7: 00 am tot 7.00 pm. Het systeem maakt gebruik van een real-time clock (RTC) module tijd te houden zelfs wanneer de stroom is uitgeschakeld. Dit voorkomt complicaties met het gebruik van een cyclus van circadiane ritmen gebaseerd omdat het betekenen zou dat de gebruiker het systeem inschakelen op een exacte moment om deze moet te laten functioneren.
Ten eerste, het belangrijkste probleem dat ik had om op te lossen hier was om ervoor te zorgen soepele overgang tussen de kleuren, alsmede rekken ze gelijkmatig over per uur perioden. Het netelige deel was elk fading leidde op en neer tussen verschillende waarden tegelijkertijd en tegelijkertijd te garanderen dat de waarden van de PWM zou worden toegewezen aan de seconden elk uur. Ook bleek het noodzakelijk om ervoor te zorgen dat de aanpassing van kleuren gemakkelijk kunnen worden gemaakt. Na het gedoe met de atmega328 de interne timers te bereiken van een hogere PWM was resolutie en met behulp van interrupts, heb ik besloten tegen deze benadering omdat ik vond het niet nodig.
Uiteindelijk besefte ik dat ik het hele ding was overdenken en ik erin geslaagd om uit een veel eenvoudiger en meer effectieve aanpak te werken. Het programma controleert de tijd constant en en berekent het verschil in helderheid tussen elke LED. Vervolgens wordt elk bijgewerkt leidde met het PWM-waarde die het moet op dat moment in het uur. Het is nogal moeilijk voor mij om uit te leggen als het programma een paar kleine aanpassingen maakt om de overgang soepel. Het zou het beste zijn om de code gekoppeld voor aanvullende gegevens te controleren. Deze aanpak kan in principe de gebruiker inschakelen van het systeem op elk gewenst moment zonder de dag/nacht cyclus.
Kleur selectie
Na het doorbrengen van een eerlijke beetje tijd timelapses van zonsopgangen en zonsondergangen te kijken, besloten heb ik op een palet van kleuren die het proces zo nauwkeurig repliceert als ik kon krijgen. De cyclus begint op 7 11.00 uur in de ochtend en eindigt bij 7.00 pm. Het overgangen tussen kleur geleidelijk door de dag. Het omvat een totaal van vijf sequenties, twilight, zonsopgang, middaguur, zonsondergang en schemering. Na 7.00 pm rood het systeem de lichten om na te bootsen van duisternis voor mieren terwijl voor verdere observatie op de nacht.
Als u dit voor een aquarium of terrarium gebruikt, kan u de 'nacht' fase wijzigen naar uw eigen smaak. Ik veronderstel lichtblauw zou leuk zijn, maar dat is aan u.
3.) responsieve verlichting
Deze modus het licht niveau gebaseerd op ambient verlichting dus de helderheid altijd op een comfortabele waarde blijft en niet overdreven dim of oogverblindend licht aanpassen. Als het donkerder wordt, wordt de verlichting donkerder als goed. Dit te wijzigen naar uw eigen smaak.
Een LDR is hier werkzaam in een divider spanning om te meten de helderheid van omgevingslicht dat vervolgens gebruikt wordt voor het berekenen van een juiste helderheid van de led strips. Dit is de modus gebruik ik meestal wanneer er geen in dag/nacht cyclus modus.
4.) willekeurige RGB Fading
Deze modus crossfades tussen een willekeurige selectie van kleuren soepel. De LEDFader-bibliotheek wordt hier gebruikt glad uit het proces van fading en het ziet er inderdaad zeer aardig. Dit wordt weergegeven in de video ook.