Minidot 2 - de holoclock (3 / 6 stap)

Stap 3: Dimmen algoritme - het Kruis fade effect en dubbele buffering


De overgang tussen een patroon en de volgende was eerder onmiddellijk. Voor deze klok die ik wilde laten zien een patroon stilaan minder in helderheid als het volgende patroon geleidelijk toenemende... dwz een kruis vervagen.

Ik hoefde te hebben individuele LED's worden gecontroleerd op aparte helderheidsniveaus te doen op een kruis vervagen. Het eerste patroon bij een helderheid en de tweede bij een lage helderheid nodig. Vervolgens over een korte periode, ik zou de helderheid van de eerste een beetje afneemt, en het verhogen van de tweede... zou dit blijven gaan tot de tweede patroon op volledig. Toen de klok tot de volgende wachten zou patroon moest tonen en zou er een andere overgang.

Dus ik nodig had om op te slaan van twee patronen. Degene die momenteel wordt weergegeven en de tweede patroon, die moest worden weergegeven. Deze zijn in matrices nLedsA [] en nLedsB. (Opmerking niets te maken met poorten in dit geval). Dit is de dubbele buffer.

De update_display() functie was aangepast zodat het doorlopen van acht frames en tonen een aantal frames van de eerste matrix, dan de andere. Wijzigen van het aantal frames die zijn toegewezen aan elke buffer gedurende de acht cycli gedefinieerd hoe helder elk patroon zou worden. Toen we klaar Fietsen tussen buffers we overstapten buffers de 'display' en 'volgende display' rond, zodat het patroon voortbrengende functie zou vervolgens schrijven alleen aan de buffer 'volgende weergeven'.

Het onderstaande diagram toont dit hopelijk. U moet zitten kundig voor zien dat de overgang 64 scan frames duurt. In de afbeelding, de kleine inzet toont de scan fram schema uit de vorige pagina kunstig verkleind.

Een woord op re-vers tarief. Dit alles moet worden gedaan zeer snel. We hebben nu twee niveaus van extra berekening, één voor de ambient weergave-dimmness en één voor de cycli van de acht frame bezig geweest met het doen van een overgang tussen twee buffers. Zo was deze code moet worden geschreven in de vergadering, maar goed genoeg in "C" is.

Gerelateerde Artikelen

Microdot - pols horloge LED patroon uurwerk

Microdot - pols horloge LED patroon uurwerk

een andere RGB-zonsondergang Productions productie!Dit project is een Printplaat voor het maken van een pols horloge grootte versie van mijn minidot-klok:met een paar meer functies meer toepassing naar een draagbaar apparaat. Een heleboel hulp en sug
Charlieplexing LED's - de theorie

Charlieplexing LED's - de theorie

dit instructable is minder een te bouwen uw eigen project en meer een beschrijving van de theorie van charlieplexing. Het is geschikt voor mensen met de basisprincipes van de elektronica, maar niet volslagen beginners. Ik heb het geschreven in antwoo