MobaLedLib: Arduino-bibliotheek voor het aansturen van LED's en andere componenten via één Signaallijn: LED-test
De originele tekst is hier te vinden:
viewtopic.php?f=7&t=165060&start=235
04 apr 2019 23:29
Hallo allemaal
Hardi schreef: ↑
Ik heb beloofd mijn LED-testprogramma op het forum zetten. Ik wil dit hierbij doen ...
Hiervoor gebruik ik een Arduino met drie knoppen waarmee u de kleuren van afzonderlijke LED's of alle LED's kunt wijzigen.
Het testprogramma is al verborgen op uw computer. Het hoeft alleen te worden geactiveerd in het bestand "Lib_Config.h", dat u kunt vinden in de map "DocumentsArduinolibrariesMobaLedLibsrc", de reactie tekens "//" kunnen uit de volgende twee regels worden verwijderd:
1
2
3
4
#define _TEST_BUTTONS // Enable this to use three buttons connected to the Arduino pins for testing (04.08.18: FLASH: 1390, RAM 18 without DEBUG_PRINT_BUTTONS())
#define _PRINT_DEBUG_MESSAGES // Enable this line to print debug messages to the PC (USB)
en in de routine "setup ()" van het programma ‘LEDs_AutoProg.ino’, moet het volgende worden ingevoegd:
1
2
3
4
5
#ifdef _PRINT_DEBUG_MESSAGES
Serial.begin(9600); // Attention: The serial monitor in the Arduino IDE must use the same baudrate
#endif
Nu moet de Arduino in de IDE opnieuw worden geladen zodat de bibliotheek opnieuw wordt gecompileerd.
Hierna kunt u de LED's testen met drie knoppen. Deze moeten volgens dit schakelschema worden aangesloten:
[/url]
Waarschuwing: als de test is geactiveerd, heeft de bibliotheek aanzienlijk meer geheugen nodig. Bij grote configuraties kan dat tot knelpunten leiden. Daarom is de test standaard gedeactiveerd.
Met behulp van de test:
Als u op de linker knop drukt, wordt de "LED-test" geactiveerd. U kunt dit zien aan de gele LED.
Als u de seriële monitor heeft geactiveerd (met CTRL + SHIFT + M) met de juiste baudrate (9600 of de waarde die u heeft ingesteld) en wordt vervolgens weergegeven:
1
2
3
LED Test 0 Mode 0 (127,127,127)
en de eerste RGB LED licht wit op. Nu kunt u de actieve RGB-led wijzigen met de knop Rechts of Links. De seriële monitor toont dan bijvoorbeeld:
1
2
3
4
5
6
7
LED Test 1 Mode 0 (127,127,127)
LED Test 2 Mode 0 (127,127,127)
LED Test 3 Mode 0 (127,127,127)
LED Test 2 Mode 0 (127,127,127)
LED Test 1 Mode 0 (127,127,127)
De rechterknop verhoogt het LED-nummer, de linker knop verlaagt het. Let op, als je te ver naar links gaat en het maximaal aantal LED’s overschrijdt en deze LED’s bestaan niet in uw testobject, dan licht geen enkele LED meer op! ;-(
Met de middelste knop kunt u de kleur en de helderheid van de LED wijzigen. Dat wordt weergegeven met het modenummer en de RGB-waarden:
1
2
3
4
5
6
7
LED Test 0 Mode 0 (127,127,127)
LED Test 0 Mode 1 (63,0,0)
LED Test 0 Mode 2 (0,63,0)
LED Test 0 Mode 3 (0,0,63)
LED Test 0 Mode 4 (255,0,0)
Als u tegelijkertijd op de toetsen rechts en links drukt, gaan alle LED's branden. Nogmaals, met de middelste Knop de kleur en helderheid van de LED's kunnen worden gewijzigd. Gebruik de rechter- of linker knop om terug te gaan naar een LED geschakeld.
Op deze manier kunt u snel testen of alle LED's correct zijn aangesloten en of ze zelfs bij extreme Temperaturen naar behoren werken (heteluchtdroger of koude spray).
U kunt deze test ook gebruiken voor verschillende spanningen. Dit verkleint het risico dat de LED's later problemen veroorzaken.
Druk 3 seconden op de middelste knop om de test te beëindigen. Daarna wordt het normale programma opnieuw uitgevoerd.
Samenvatting van knoppen:
- Activeer de LED-test: linker knop, gele LED gaat branden
- Wijziging van de LED Testrichting: knop Rechts of Links
- Kleurverandering en helderheid: middelste knop
- Alle LED's: rechter- en linker knop tegelijkertijd
- Testmodus verlaten: middelste knop gedurende 3 seconden
Naast de LED-testmodus bestaan er twee andere testmodi. Vanuit de startpositie (nadat het Programma opnieuw gestart is) wordt deze modus geactiveerd via de middelste of de rechter knop. Ik heb deze modi voor programma-ontwikkeling geïnstalleerd. Ze zijn waarschijnlijk niet zo interessant voor u. Daarom zal ik er slechts kort op ingaan.
Knop TestmodusDe middelste knop activeert de knop Testmodus. Dit wordt aangegeven door de witte LED. Op deze manier kan het normale programma weer normaal draaien en besturen de drie toetsen de ingangen 0 tot 3. Ook deze modus wordt beëindigd met een lange druk op de middelste knop.
DCC/CAN TestmodusDeze test kan worden gebruikt om de DCC/CAN adressen, die in de configuratie worden gebruikt, te activeren. Hij wordt geactiveerd door in de Excel ProgramGenerator de functie ‘TEST_PUSH_BUTTONS’ of ‘TEST_TOGGLE_BUTTONS’ te gebruiken. De test is nuttig als u b.v. gegevens via de CAN-bus of het DCC-protocol wilt versturen om de LED's te besturen, maar momenteel niet over Input via CAN/DCC beschikt.
Om deze test modus te kunnen gebruiken dienen in het bestand "Lib_Config.h", dat u kunt vinden in de map "DocumentsArduinolibrariesMobaLedLibsrc", de reactie tekens "//" te zijn of te worden geplaatst aan het begin van de volgende twee regels:
1
2
3
4
5
// #define _TEST_BUTTONS // Enable this to use three buttons connected to the Arduino pins for testing (04.08.18: FLASH: 1390, RAM 18 without DEBUG_PRINT_BUTTONS())
// #define _PRINT_DEBUG_MESSAGES // Enable this line to print debug messages to the PC (USB)
De linker knop bediend het eerste DCC commando (van boven naar beneden gezien), de middelste knop het tweede DCC commando en de rechterknop het derde DCC commando.

Met de functie ‘TEST_BUTTONS_INCH’ kun je het start adres van ‘TEST_PUSH_BUTTONS’ en ‘TEST_TOGGLE_BUTTONS’ aanpassen. Gebruik je ‘TEST_BUTTONS_INCH’ niet dan staat “Default” het startadres op 0.
Left Button = TEST_BUTTONS_INCH + 1e DCC address,
Middle Button = TEST_BUTTONS_INCH + 2e DCC address,
Right Button = TEST_BUTTONS_INCH + 3e DCC address
Heb ik je helemaal in de war gebracht met alle knoppen?
Probeer het gewoon en neem contact op bij problemen ...
Hardi.
(Vertaald en aangevuld door Misha)