Ik heb een Arduino micro kloon gekocht, om een seinsleutel als invoerorgaan voor een computer te gebruiken. Dat gaat hiermee: http://www.elektronik-labor.de/Arduino/MorseKB.html
De arduino emuleert een toetsenbord, waardoor je met je seinsleutel kan seinen en de tekst op je PC verschijnt alsof je aan het typen bent. Probleempje: mijn seinsleutel lijkt te bouncen. Een D wordt soms een B, en een B wordt soms als een 6 herkend.
Hoe kan ik dit oplossen? Van programmeren heb ik geen kaas gegeten, al kan ik wel een paar regels code kopieren en in de sketch plakken. Hardwarematig kan ik zo doorvoeren. Is puur het plaatsen van een condensatortje over het sleutelcontact goed, zoals je dat bij een echte zender zou doen, of is er een betere methode die geschikt is voor digitale ingangen?
Tevens is er nog een probleempje met dat de sketch voor een US/internat toetsenbord geschreven is, en vervolgens is aangepast voor een duits toetsenbord (QWERTZ).
Kan ik dat aanpassen door in dit stukje code het #include "usToDE.H" weg te laten?
Een stukje van "usToDE.H"
code:
// ummappen für deutsches KeyBoard-Layout
unsigned char usToDE[192] = {
// 0, 0, 0, 0, 0, 0, 0, 0, BS, TB, CR, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 8, 9, 10, 0, 0, 10, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// BL, !, Ä, §, $, %, /, ä, ), =, (, `, ,, ß, ., -, US
// " & / ( ) * + - / DE
32, 33, 64, 0, 36, 37, 94, 38, 42, 40,125,184, 44, 47, 46, 38
Begin van de 'hoofdcode'
code:
#include "usToDE.h"
#include "morsedec.h"
static unsigned char key;
static unsigned char keystrokeDE;
static unsigned char morsechar;
Edit: ik zie dat ik er in de code verderop nog verwijzingen staan naar keystrokeDE, dus dat vereist wat meer werk in de code. Als iemand weet hoe ik 't aan kan passen (de volledige broncode staat in de link bovenaan dit bericht), laat maar weten!