SHIROのIchigoJam日記

IchigoJamの電子工作とプログラミングをメインに

トランシーバー

2台のIchigoJamをケーブルでつないで、交互にお話しします。
子ども達にネットの基礎を理解してもらうのに役立つかもしれません。

  • 2台のIchigoJam(1番・2番)を用意します。1番のTX端子と2番のRX端子、1番のRX端子と2番のTX端子を、それぞれケーブルでつなぎます。
    • (※追記)2台のIchigoJamの電源を別の場所から取っている場合は、GND端子同士もケーブルでつないでください。
  • 両方のIchigoJamでプログラムを実行します。最初にIDをきかれるので、1番のIchigoJamでは「1」、2番のIchigoJamでは「2」を入力します。
  • 先にIDを入力したIchigoJamでは、「*」が画面に連続表示されます。相手がIDを入力すると、「*」表示が止まって交信が始まります。両方でIDを入力しても「*」表示が止まらない時は、ケーブルの接続を確認してください。
  • まず1番のターンになり、「@1=」と表示されます。1番のIchigoJamで文字を入力してください。1文字ずつ転送されて2番でも表示されます。
  • 1番のIchigoJamで文字入力が終わったらEnterキーを押します。今度は2番のターンになり、「@2=」と表示されます。同様に2番のIchigoJamで文字を入力してください。
  • Enterキーを押すごとに、相手のターンへ移ります。相手のターンの時でも割りこんで文字が入力できてしまいますが、入力しないように(笑)

TX・RXと共にIN・OUTをつなぐと、自分のターンでしか文字入力できないようにコントロールもできるでしょう。今回は配線やプログラムを簡単にしたかったので、そこまでやりませんでした。
本当はプログラム名は「チャット」の方が今時の子ども達にわかりやすいかもしれませんが、「基本的に片方ずつしか話せない」という意味で「トランシーバー」にしました。

10 UART 0,0:CLS:T=1
20 ?"ID(1-2)=";:INPUT I:UART 1,1
30 ?"*";:IF INKEY()<>42 GOTO 30
40 UART 0,0:?:?
50 ?"@";T;"=";:CLK:WAIT 30:UART 1,T<>I:IF T=I BEEP
60 K=INKEY():IF !K GOTO 60
70 IF K<>10 ?CHR$(K);:GOTO 60
80 UART 1,0:?:T=3-T:GOTO 50