IchigoJamを使ったDDS制御のVFO。
使ったパーツは
・
初代IchigoJam
・
サインスマートAD9851使用DDSモジュール
・
CMOSロジックIC,4050
・
I2C接続LCD(未使用)
あとはUSB-シリアルコンバータがあれば良いでしょう。
プログラムは以下の通り。周波数のステップは約1KHzで計算してます。
DDSの制御線は
OUT1:DATA(D7)
OUT2:W_CLK
OUT3:FQ_UP
OUT4:RESET
加えて
OUT5:PTT
500 CLS:A=0:B=5428:C=22241
501 OUT4,1:OUT4,0:OUT2,1:OUT2,0:OUT3,1:OUT3,0:OUT5,0
502 K=7000:L=0
506 GOSUB2000
510 D=INKEY():IFD=0GOTO510
535 IFD=80GOSUB1500:GOSUB2000
540 IFD=75GOSUB1100:GOSUB2000
545 IFD=76GOSUB1600:GOSUB2000
550 GOTO 510
1100 IFC<8868C=C+23900
1110 IFC>8867ANDB<32767B=B+1
1120 IFC>8867ANDB>=32767A=A+1:B=0
1130 IFC>8867C=C-8867
1140 IFK<32767K=K+1
1150 RETURN
1500 X=A:Y=B:Z=C
1501 IFC>=22026C=C-10741
1510 IFC<22027ANDB>1B=B-1
1520 IFC<22027ANDB<1A=A-1:B=32767
1540 B=B-330
1550 GOSUB2007:OUT5,1:LED1
1555 A=X:B=Y:C=Z
1560 D=INKEY():IFD<>79GOTO1560
1570 OUT5,0:LED0:GOSUB2007:RETURN
1600 IFC>=23900C=C-23900
1610 IFC<23900ANDB>1B=B-1
1620 IFC<23900ANDB<1A=A-1:B=32767
1640 IFK>0K=K-1
1660 RETURN
2000 LOCATE0,0:?K;".";L/10;L%10
2007 OUT3,0:OUT2,0
2010 M=C:I=15:GOSUB3000
2011 M=B:I=15:GOSUB3000
2012 M=A:I=2:GOSUB3000
2013 M=1:I=8:GOSUB3000
2015 OUT3,1:OUT3,0
2020 RETURN
3000 FORJ=1TOI:OUT1,0
3020 IFM&1=1OUT1,1
3030 OUT2,1:OUT2,0:M=M>>1:OUT1,0:NEXT:RETURN
VFO初期値。
PTT("P")を押したとき。
作成したインターフェイス。
IchigoJamの3.3V出力はCMOSロジックの4050を5Vで動作させ、レベル変換を行う。
LCDは
こちらのページを参考にして駆動させる予定だけど、プログラムがほぼ1KBなので、もう一台のIchigoJamをつないで将来的に動作させる予定。
また、現状ではキーボードが必要になってるけど、INポートを使ってプッシュスイッチに変える予定。これでキーボード無しで運用できる様になる。