Stap 2: Diagram & programma
- Diagram
Het diagram is heel eenvoudig met een paar verbindingen tussen de onderdelen.
Neem zorg met + 5V en GND pinnen en ook aandacht met tactiele drukknoppen om te voorkomen dat generlei wanverhouding.
Persoonlijk heb ik het gebruikt van de optionele expansiekaart met Arduino Nano (Zie de foto's) omdat het een compacter vergadering.
Maar natuurlijk heb je de optie voor het gebruik van een Arduino Uno en sluit de draden direct op het.
- Arduino programma
Het programma van de Arduino is aangesloten op deze stap en goed te laten werken moet u van de volgende bibliotheken:
1. draad (ter ondersteuning van de I2C en reeds opgenomen op belangrijkste bibliotheken voor de Arduino)
2. TimerOne (om te lezen de drukknoppen op microseconden intervallen)
3. U8glib (om te controleren de I2C display)
Op de site van de bibliotheek kunt U8glib de weergave u een zelfstudie waarin wordt uitgelegd hoe vindt te werken met het en ook u vinden de omschrijving van alle beschikbare lettertypen die u in uw projecten toepassen kunt.
Maar er is hier een waarschuwing over de grootte van de lettertypen.
Elk lettertype zal worden gecompileerd samen uw Arduino programma en natuurlijk deze lettertypen vindt een aanzienlijk deel van de beschikbare vrije geheugen.
Dit project geldt 3 verschillende lettertypen en na het compileren, 96% van totale 30 KB van het geheugen van de Arduino werden gebruikt.
Elk lettertype is gemiddeld 5 KB van grootte en u ook de nodige ruimte moet overwegen voor uw programma!
Dus zorg met het gebruik van deze lettertypen.
Een ander belangrijke informatie is over welke controller dat u moet gebruiken voor de I2C display.
Op de bibliotheek er zijn veel opties, maar moet u het toepassen van de juiste versie voor uw apparaat.
Voor de weergave moet ik gebruiken met de volgende instructie op het programma:
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST); Snel I2C / TWI
Alle opties zijn als opmerkingen (/ /) en u moet verwijderen van hen om het goed versie volgens met uw display controller (SSD1306 in mijn geval).