PIC AXE Morsetaste

picaxe-taste-neuPICAXE! Hört sich so nach PIC Prozessor an. Genau das ist er auch ein PIC mit einen Bootlader drin. Aber das Interessante an dem PICAXE ist zum einen das er mit  zwei Widerständen als Spannungsteiler direkt an den Commport des PCs zum Programmieren angeschlossen werden kann. Und zum Zweiten das er in BASIC programmiert wird. Oder anders ausgedrückt, er ist Kostengünstig und einfach zu Programmieren.

 

Und so sieht das Programm aus:
—————————- Schnipp Schnapp ————————
‚=================================================================
‚= Elektronische Morsetaste (c) by DL8AAX =
‚= =
‚= Wird Taster dit (pin1) gedrückt werden Punkte ausgegeben =
‚= =
‚= Wird Taster dah gedrückt werden Striche ausgegeben =
`= =
`= Wird die Taste Dit und Dah gedrückt werden Punkte und Striche =
`= im Wechsel ausgegeben =
‚= =
`= Solange wie die Taste speed gedrückt ist, kann mit den Tasten =
‚= Dit und Dah die Geschwindigkeit eingestellt werden. =
`= =
‚= Speed 1 WPM (Wort pro Minute) = 1200milliSekunden Punktlänge =
‚= 10 WPM = 120 ms =
‚= 20 WPM = 60 ms =
‚= =
‚=================================================================

#picaxe 08m

eeprom 0,(15)
symbol punktpause = w0
symbol punktpause2= W1
read 0,punktpause

punktpause2=2*punktpause

main:
if pin4 = 1 then taste ‚ Mem, speed
if pin1 = 0 then dit ‚ Dit .
if pin3 = 0then dah ‚ Dah –
goto main

taste: ‚ Geschwindigkeit einstellen

‚ ein v ausgeben
gosub sendDit
pause punktpause
gosub sendDit
pause punktpause
gosub sendDit
pause punktpause
gosub sendDah
pause punktpause2

if pin1 = 0 then
dec punktpause
dec punktpause
dec punktpause
endif
if pin3 = 0 then
inc punktpause
inc punktpause
inc punktpause
endif
if pin4 = 0 then
write 0,punktpause
punktpause2 = 2 * punktpause
goto main
endif
goto taste

dit: ‚ Punkte ausgeben
if pin1 = 0 then
gosub sendDit
pause punktpause
else
goto main
endif
if pin3 =0 then
gosub sendDah
pause punktpause
endif
goto dit
dah: ‚ Striche ausgeben
if pin3 = 0 then `Taste immer noch gedrückt
gosub sendDah
pause punktpause
else
goto main
endif
if pin1 = 0 then
gosub sendDit
pause punktpause
endif
goto dah

sendDit:
sound 2,(102,punktpause)

return
sendDah:

sound 2,(102,punktpause2)
return

—————————- Schnipp Schnapp ————————

Und wie die 2. Version der Morsetaste mit Poti für die Geschwindigkeit funktioniert seht ihr im Video. Alles noch auf ein Testboard.

Ich bedanke mich an dieser Stelle bei den Mitgliedern im Roboter-Teile Forum für die Hilfe.

Den PICAXE Chip kann man im Robotter-Shop beziehen.