Stap 2: Programmeren
Theorie...
Het Display is een beetje dom, het werkt als een oldscool TV ingesteld, The 32 Pixels van een regel worden opgeslagen in shift registers, zodat U rijden in seriële gegevens voor één regel en selecteer de regel met de ABCD-aansluitingen, deze zijn gedecodeerd in 1 van 16 lijnen en door OE omlaag trekken, de regel oplicht, dan U de regel uitschakelen , serialize gegevens voor de volgende regel in, zet volgende regel enzovoort...
Het doorlopen van de regels moet een beetje slim timing anders zal het flikkeren of te veel CPU-tijd verbruiken. Dat is waarom ik veranderde de code voor het gebruik van de timer onderbreken en de SPI.
De interrupt (Timer1 Overflow) zorgt ervoor dat de gegevens worden vernieuwd maakt niet uit wat je programma bezig met het is en de SPI is gewoon een betere manier om gegevens uit één poort, met behulp van, serialize is veel sneller dan schakelen een pin 8 keer op en neer omdat het gebruik maakt van hardware (de SPI - SerialPeripheralInterface), die het voor ons doet en vereist alleen een schrijfbewerking per byte - Pin schakelen vereist ongeveer 24 digitalWrite gesprekken per byte , bitverschuiving en en en...
De knop is zo eenvoudig zoals in de voorbeelden van bepaalde Arduino. Niets bijzonders hier. De knop wordt gebruikt om de timer wakker te worden en voor Volksgeschiedenis initialen overslaan naar het volgende. Een sensor van de nabijheid, gebruikte ik eigenlijk alleen maar omdat het is koeler, wanneer een knop, u interactief met een knipoog werken kunt... uuuhhh zo coool.
Het programma zal tonen de initialen van de man who's talking en een count down timer, het begint te knipperen wanneer het is dicht bij nul. Op de bovenkant van de bron kunt lijst u het aantal mensen, hun initialen en het tijdstip voor de vergadering instellen.
Broncode is gekoppeld...
- DailyStandupTimer.zip bevat de sketch, meestal gaat naar documenten/Arduino
- TimerAndLED_library.zip zijn de herstelde libs gebruikt. meestal ga naar documenten/Arduino/bibliotheken (herstart de Arduino GUI na het kopiëren van libs er)
Mogelijke verbeteringen:
- Echte slaapstand wanneer uit - waar sommige doc voor die op het web.
- Mooiere graphics, zou vereisen meer vooraf lettertype schilderij, op het moment dat het lettertype net gekopieerde byte verstandig is, dat is de reden waarom kan het alleen worden getrokken bij pos 0,8,16,24. Voor meer flexibiliteit, moet het worden verschoven naar een positie van één pixel en or'ed in de weergavebuffer.