Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
f11:technik:arduino:programme:arduino-cw-keyer-k3ng [2021/03/13 13:40]
dm3kb [keyer_pin_settings.h]
f11:technik:arduino:programme:arduino-cw-keyer-k3ng [2021/08/30 07:28] (aktuell)
dm3kb [Compile & Upload]
Zeile 68: Zeile 68:
 irgendwas nicht, im dümmsten Fall geht gar nichts und die Fehlersuche ist nicht wirklich einfach.\\ irgendwas nicht, im dümmsten Fall geht gar nichts und die Fehlersuche ist nicht wirklich einfach.\\
 \\ \\
-Hardware Test [[f11:technik:arduino:programme:sketch-basis|Sketch]] (Das ist nur für einen Test, also kein richtig schöner Code, aber es reicht):+Hardware Test [[f11:technik:arduino:programme:sketch-basis|Sketch]] (Das ist nur für einen Test der auf dem Terminal Informationen darstellt und Output-Pin's ansteuert), also kein richtig schöner Code, aber es reicht um zu sehen ob es funktioniert):
 <code> <code>
 /* /*
Zeile 75: Zeile 75:
   Note: It is far mor easy to change the Ardiono pins here as to change the wiring on the board...   Note: It is far mor easy to change the Ardiono pins here as to change the wiring on the board...
  */  */
-  +// Digital
 int         led     = 5;       // Pin with LED for CMD-Indication int         led     = 5;       // Pin with LED for CMD-Indication
 int         sound   = 7;       // Pin to output Sound int         sound   = 7;       // Pin to output Sound
 int         key3    = 3;       // Input from Key pin D03 Right dah int         key3    = 3;       // Input from Key pin D03 Right dah
 int         key4    = 4;       // Input from Key pin D04 Left dit int         key4    = 4;       // Input from Key pin D04 Left dit
 +// Analog
 int         ana6    = 6;       // input pin for the potentiometer A6 int         ana6    = 6;       // input pin for the potentiometer A6
 int         ana7    = 7;       // input pin for the potentiometer A7 int         ana7    = 7;       // input pin for the potentiometer A7
 +//###########################################################################
 int         val     = 0;      // Variables used below int         val     = 0;      // Variables used below
 int         key     = 0;   int         key     = 0;  
-   +// ######## Code ######## 
 // the setup routine runs once when you press reset: // the setup routine runs once when you press reset:
 void setup() {                 void setup() {                
Zeile 95: Zeile 93:
   pinMode(sound, OUTPUT);    pinMode(sound, OUTPUT); 
   digitalWrite(led, LOW);   digitalWrite(led, LOW);
- 
   // Setup control input pins   // Setup control input pins
   pinMode(key3, INPUT_PULLUP);       pinMode(key3, INPUT_PULLUP);    
    pinMode(key4, INPUT_PULLUP);       pinMode(key4, INPUT_PULLUP);   
- 
- 
   Serial.begin(9600);             // open the serial port at 9600 bps:   Serial.begin(9600);             // open the serial port at 9600 bps:
 } }
- 
 // the loop routine runs over and over again forever: // the loop routine runs over and over again forever:
 void loop() { void loop() {
Zeile 129: Zeile 123:
   delay(1000);                  // wait for a second   delay(1000);                  // wait for a second
 } }
 +//#### End ####
 </code> </code>
 \\ \\
 ====== Hardware ====== ====== Hardware ======
-Das Projekt war zwei Stufig, zuerst wurde ein [[http://www.w1hkj.com/FldigiHelp/cw_keying_page.html|Fldigi-Interface]] gebaut, allerdings mit [[http://www.kk5jy.net/a1a-fldigi/|Schotky-Dioden (Idee KK5JY)]] und einem Opto-Koppler anstatt des Übertragers/Transistors.\\ +Das Projekt war zwei Stufig, zuerst wurde ein [[http://www.w1hkj.com/FldigiHelp/cw_keying_page.html|Fldigi-CW-Interface]] gebaut, allerdings mit [[http://www.kk5jy.net/a1a-fldigi/|Schotky-Dioden (Idee KK5JY)]] und einem Opto-Koppler anstatt des Übertragers/Transistors.\\ 
-Danach wurde der Aufbau um den Keyer mit einem [[https://en.wikipedia.org/wiki/Arduino_Nano|Arduino Nano]] erweitert um auch mit einem Iambic Paddel geben zu können und final hat sich dann ergeben das es das Feature Winkeyer sein muß. \\+Danach wurde der Aufbau um den Keyer mit einem [[https://en.wikipedia.org/wiki/Arduino_Nano|Arduino Nano]] und 4 CW-Speicher-Plätzen erweitert um auch mit einem Iambic Paddel geben zu können und final hat sich dann ergeben das es das Feature Winkeyer sein muß. \\
 ==== Bilder ==== ==== Bilder ====
 {{f11:technik:arduino:programme:20210307_114317.jpg?200| }} {{ :f11:technik:arduino:programme:20210311_192015.jpg?200|}} {{ :f11:technik:arduino:programme:20210311_192029.jpg?200|}}\\ {{f11:technik:arduino:programme:20210307_114317.jpg?200| }} {{ :f11:technik:arduino:programme:20210311_192015.jpg?200|}} {{ :f11:technik:arduino:programme:20210311_192029.jpg?200|}}\\
Zeile 145: Zeile 140:
   * Sound-Output: [[https://forum.arduino.cc/index.php?action=dlattach;topic=439305.0;attach=189286|Poti zur Volumenanpassung und eine Klinkenbuchse für Ohrhörer und keinen Piezo-Buzzer]].   * Sound-Output: [[https://forum.arduino.cc/index.php?action=dlattach;topic=439305.0;attach=189286|Poti zur Volumenanpassung und eine Klinkenbuchse für Ohrhörer und keinen Piezo-Buzzer]].
   * Buttons. Ein Command-Button und 4 x Memory macht 5.   * Buttons. Ein Command-Button und 4 x Memory macht 5.
-  * Poti für die CW-Geschwindigkeit: [[https://forum.arduino.cc/index.php?action=dlattach;topic=515262.0;attach=236067|Kondensator vom Abnehmer in Richtung Masse, Wert unkritisch z.B. 100nF ]] macht das Einstellen genauer. +  * Poti für die CW-Geschwindigkeit: [[https://forum.arduino.cc/index.php?topic=515262.0|Kondensator vom Abnehmer in Richtung Masse, Wert unkritisch z.B. 100nF ]] macht das Einstellen genauer. 
-  * Output Line: Eine LED, mit Vorwiderstand gegen Masse, zur Kontrolle eingesetzt+  * Output Line: [[https://learn.adafruit.com/adafruit-arduino-lesson-2-leds/breadboard-layout|Eine LED, mit 270 Ohm Vorwiderstand gegen Masse]], zur Kontrolle des Tastens/Sendens
-  * Output Line: Mit einem Opto-Koppler galvanisch vom Funk-Gerät getrennt.+  * Output Line: Mit einem [[http://www.kk5jy.net/AnyRig-v1/images/optoisolated-ptt-or-key-driver.png|Opto-Koppler galvanisch vom Funk-Gerät getrennt]]. 
 +  * Parallel zum Opto-Koppler Output existiert noch ein Aschluß für einen "Straight-Key".
 \\ \\
 ====== Custom Config ====== ====== Custom Config ======
Zeile 185: Zeile 181:
 #define analog_buttons_number_of_buttons 5  // includes the command button (command button + 3 memory buttons = 4) #define analog_buttons_number_of_buttons 5  // includes the command button (command button + 3 memory buttons = 4)
 </code> </code>
-Am Ende dieses Kapitels gibt es ein Archiv mit den kompletten Files die bei mir geändert wurden!\\+Am Ende dieses Kapitels gibt es ein Archiv mit den kompletten Files die geändert wurden!\\
 \\ \\
 ===== keyer_features_and_options.h ===== ===== keyer_features_and_options.h =====
Zeile 204: Zeile 200:
 //#define OPTION_CW_KEYBOARD_CAPSLOCK_BEEP //#define OPTION_CW_KEYBOARD_CAPSLOCK_BEEP
 </code> </code>
 +\\
 +Am Ende dieses Kapitels gibt es ein Archiv mit den kompletten Files die geändert wurden!
 +\\
 \\ \\
 ===== Archiv Konfig Files ===== ===== Archiv Konfig Files =====
Zeile 210: Zeile 209:
 ====== Compile & Upload ====== ====== Compile & Upload ======
 Nach anpassen der Konfiguration kann der k3ng_keyer Arduino-Sketch in der Arduino-IDE geöffnet werden.\\ Nach anpassen der Konfiguration kann der k3ng_keyer Arduino-Sketch in der Arduino-IDE geöffnet werden.\\
-Nicht erschrecken es werden alle *.h Files mit geöffnet, das ist aber nicht Schlimm.\\ +Nicht erschrecken es werden alle *.h Files mit geöffnet, das ist aber nicht weiter schlimm.\\ 
-Nun den "k3ng_keyer" sketch Kompilieren und auf den Arduino Nano hoch laden.\\ +Nun den "k3ng_keyer" Sketch Kompilieren und auf den Arduino Nano hoch laden.\\ 
-Hinweis: Bei "China" Nachbauten des Nano dabei eventuell den Prozessor auf: Arduino328P(Old Bootloader) stellen!!\\+Hinweis: Bei "China" Nachbauten des Nano dabei eventuell den Prozessor auf: "Arduino328P(Old Bootloader)stellen oder erst mal überhaupt einen Bootloader via ISP-Schnittstelle brennen!\\
 \\ \\
 ===== Fehler ===== ===== Fehler =====
-  * Das Poti zur Regelung der CW Gwschwindigkeit war anfangs ohne Funktion, geholfen hat: In den CMD-Modus gehen, mit "V" (Ja via Paddel!!) das Speed-Poti "inactive" und mit einem weiteren "V" wieder "active"  setzen. (Tipp aus dem Forum)\\ +  * Das Poti zur Regelung der CW Gewschwindigkeit war anfangs ohne Funktion, geholfen hat: In den CMD-Modus gehen, und mit "V" (Ja via Paddel!!) das Speed-Poti "inactive" und mit einem weiteren "V" wieder "active" setzen. (Tipp aus dem Forum)\\ 
-  * In der ersten Version mit der Option **#define OPTION_WINKEY_2_SUPPORT** war nach dem ersten Durchgang Senden Schluss, "Keyer busy", WINKEY Version 1 funktioniert!+  * In der ersten Version mit der Option **#define OPTION_WINKEY_2_SUPPORT** war nach dem ersten Durchgang Senden aus dem Log-Programm Schluss, "Keyer busy", WINKEY Version 1 funktioniert aber!
 \\ \\
 ====== Winkey Daemon ====== ====== Winkey Daemon ======
-Während FLDIGI den Winkeyer wohl auch direkt ansprechen kann nutzen andere Log-Programme unter LINUX oft den "[[http://cwdaemon.sourceforge.net/|cwdaemon]]" via Netzwerk der kann einen Winkeyer aber nicht ansprechen. \\+Während FLDIGI den Winkeyer wohl auch direkt ansprechen kann nutzen andere Log-Programme unter LINUX oft den "[[http://cwdaemon.sourceforge.net/|cwdaemon]]" via Netzwerk der kann aber einen Winkeyer nicht ansprechen. \\
 Es gibt aber Ersatz, und zwar ein Perl Programm das: Einen Netzwerk-Port (Port: 6789) am Loopback-Interface (127.0.0.1) des Linux-Hosts öffnet und die dort empfangen Packete im "[[http://cwdaemon.sourceforge.net/|cwdaemon]]" Dialekt auf die Serielle Schnittselle (z.B. /dev/ttyUSB0) an der der Winkeyer lauscht in den WinKeyer "Dialekt" "übersetzt" und den WinKeyer Version 1 der vom K3NG Keyer abgebildet wird anspricht und darüber das Funk-Gerät tastet.\\ Es gibt aber Ersatz, und zwar ein Perl Programm das: Einen Netzwerk-Port (Port: 6789) am Loopback-Interface (127.0.0.1) des Linux-Hosts öffnet und die dort empfangen Packete im "[[http://cwdaemon.sourceforge.net/|cwdaemon]]" Dialekt auf die Serielle Schnittselle (z.B. /dev/ttyUSB0) an der der Winkeyer lauscht in den WinKeyer "Dialekt" "übersetzt" und den WinKeyer Version 1 der vom K3NG Keyer abgebildet wird anspricht und darüber das Funk-Gerät tastet.\\
 \\ \\
f11/technik/arduino/programme/arduino-cw-keyer-k3ng.1615639208.txt.gz · Zuletzt geändert: 2021/03/13 13:40 von dm3kb
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0