シン・ココナッツ

プログラム③命令文を追加する」の続きです。

 

このプログラムは、実行すると、最後はLEDが半分点灯し続けます。

これを、すべてのLEDが消灯して終わるプログラムに変えてみます。

 

入力待ちになっているのを確認して、次の命令を入力します。

【3 O=15】

【5 O=0】

 

ここでプログラムを実行すると、【全点灯して、1秒後に半分点灯になって、さらに1秒後に全消灯】とLEDの点灯順が変わっています。

 

プログラムを確認します。

プログラム表示は、【L】と入力します。

3行目と5行目の命令が変わっているのがわかります。

 

入力した命令文は、行番号が重複するときは上書きされます

※行番号が重複しない場合は、追加されます。

 

同様に、命令文の削除も行えます。

命令文を削除するときは、削除したい行番号だけを入力します

今回は3行目と4行目を削除したいので【3】【4】と入力します。

 

プログラムを表示します。

3行目と4行目がなくなっているのが確認できました。

 

ちなみに。

1、2、5…と行番号が不連続になっていますが、行番号が小さい順に実行されていくだけなので、支障はありません。

 

プログラム②簡単なプログラムを作ってみる」を参考にプログラムを作ります。

【R】と入力すると、「LEDをすべて点灯させ、1秒後にすべて消灯させる」プログラムが実行されました。

 

このプログラムは…

1【LEDを全点灯させる】

2【WS1】

3【LEDを全消灯させる】

で1セットになっています。

 

ココナッツのプログラムは、「命令の頭につく数字」の小さい順に命令を実行していくのがルールです

「命令の頭につく数字」を行番号と呼びます。

 

【WS1】は【1秒待て】という命令です。

 

行番号の小さい順に実行していくのがルールなので、【全点灯】→【1秒待つ】→【全消灯】と実行されていきます。

 

このプログラムに新しい命令を追加します

命令はすべて、【▮】が点滅している行で入力します

一番下の【>▮】の行以外では、入力操作はできません。

 

【4 WS1】(4・半角空白・ダブリュ・エス・1)と入力します。

【5 O=15】(5・半角空白・オー・イコール・15)と入力します。

【R】と入力してプログラムを実行すると、「LEDがすべて点灯して、1秒後にすべて消えて、さらに1秒後にLED1からLED4までが点灯」しました。

 

プログラムを表示させてみます。

【L】と入力すると、マイコンに書き込まれているプログラムが表示されます

【L】のあとの【>】の表示されていない部分が、書き込まれているプログラムです。

 

1【LEDを全点灯させる】

2【1秒待て】

3【LEDを全消灯させる】

4【1秒待て】

5【LEDを半分点灯させる】

と、4行目と5行目が追加されているのがわかります。

 

行番号が重なっていなければ、プログラムに追加されていきます

 

プログラムのマイコンへの書き込みは、プログラムの実行時(【R】と入力)やプログラムの表示時(【L】と入力)に行われます

ココナッツをプログラムで動かしてみます

 

世の中には、音楽会のプログラム、運動会のプログラム、テレビのプログラムなどなど様々なプログラムがあります。

プログラムは、「予定表」と呼べるものです。

コンピュータ関係のプログラムは、「計画書」「指示書」といったイメージになるかもしれません。

 

まずは、準備をします。

①パソコンとココナッツをUSBケーブルで繋ぐ

②ココナッツの電源を入れる

③テラタームを起動する

④設定を保存していなければ、必要な設定をする

 

テラターム上で【O=255】と入力すればLEDがすべて点灯します。

また、【O=0】と入力すればLEDがすべて消灯します。

 

ただ。

ココナッツがパソコンと繋がっていない状況下では、LEDを点灯・消灯させることができません。

そもそも。

毎回一つ一つ命令を入力するなら、もっとシンプルな回路を作って、人間の手でスイッチを操作するほうが簡単です。

そこで。

あらかじめココナッツにプログラムを与え、その都度命令を入力しないでも、プログラムで決められた通りに動作させるようにします。

 

とりあえず、簡単なプログラムを作ってみます

入力は、すべて半角英数字で行います。大文字・小文字はどちらでも可です。

一番上の行は【NA】(エヌ・エー)と入力します。

次の行は【1 O=255】(1・半角空白・オー・イコール・255)と入力します。

さらに次の行は【2 WS1】(2・半角空白・ダブリュ・エス・1)と入力します。

最後に【3 O=0】(3・半角空白・オー・イコール・ゼロ)と入力します。

 

これで、プログラムは完成です。

パッと見た感じ、LEDの点灯命令が2つ入っています。

でも、ココナッツには何も起きません。

 

学校の音楽会を想像してみると…

音楽会のプログラムは何日も前から完成しています。

でも、そのプログラムは、開催日になって、全員が会場に集まって、定刻が来て、進行係の先生が「それでは音楽会を始めます。一、開会のあいさつ」と言うまで始まりません。

そして、各クラスは、決められた順番が来るまで待機し、勝手に発表を始めません。

 

ココナッツでも、プログラムを開始する命令が必要です。

そして、プログラムが始まって決められた順番が来るまで、LEDの点灯命令などは実行されません。

 

【R】と入力すると、プログラムが開始されます

 

プログラムの実行中は【>】が表示されません。

この間は、プログラムの停止命令以外、入力を受け付けません。

プログラムが完了すると【>】が表示されて、入力待ち状態になります。

 

で。

 

このプログラムを実行すると、ココナッツのLEDがすべて点灯し(電子メロディも流れます)、1秒後に、LEDがすべて消えました。

 

また、USBケーブルを外した状態でココナッツの電源を入れると、マイコンに書き込まれたプログラムが自動で実行されます。

 

指示を与えておくと、あとは勝手にやってくれる…これがプログラムです☆

 

手始めに、ココナッツのLEDを点灯させてみます

 

そのための準備をします。

先述の「パソコンと繋いでみる」も参考にしてください。

 

①パソコンとココナッツをUSBケーブルで繋ぐ

②ココナッツの電源を入れる

③テラタームを起動する

④設定を保存していなければ、必要な設定をする

 

これで準備完了です。

 

テラタームの画面は上図のようになります。

※「cosmos v4.00」が表示されない場合もあります。

 

【>】マークのあとに【▮】が点滅してたら入力可能です。

 

では、実際に命令を打ち込んでみます

 

入力は、すべて半角英数字で行います。

アルファベットの大文字・小文字の区別はありません。

【O=255】(オー・イコール・255)と打ちENTERキーを押すと、すべてのLEDが光りスピーカから曲が流れます。

【O=0】(オー・イコール・ゼロ)と打ちENTERキーを押すと、すべてのLEDが消えて曲も止まります。

※以下、何かしらの命令を打ってENTERキーを押すことを【入力する】と呼ぶこととします。

 

【O=□】(□は1~255までの整数)と入力すると、数字に対応したLEDの組み合わせで点灯します

O=0】と入力すると、すべてのLEDが消えます

※LED6が光るとき、スピーカから曲が流れます。

 

違う入力方法もあります。

【O=0B11111111】(オー・イコール・ゼロ・ビー・11111111)と入力すると、LEDが全点灯します。

【O=0B00000000】(オー・イコール・ゼロ・ビー・ゼロ・ゼロ…)と入力すると、LEDが全消灯します。

 

【O=0B⑧⑦⑥⑤④③②①】で丸数字に0か1を入れると、LEDがさまざまな光りかたをします

丸数字はLED番号に対応しており、0で対応するLEDが消灯し、1で対応するLEDが点灯します。

 

【O=0B00000001】と入力すると、LED1のみ光ります。

【O=0B11011111】と入力すると、LED6のみ光らずメロディも流れません。

 

テラタームを経由して命令を与えることで、ココナッツのLEDの点灯・消灯を操作しているのがわかります。

センサのような働きをするスイッチもあります。

 

①傾斜スイッチ

このスイッチは、部品の傾きかたによって導通します。

 

金メッキされた真鍮の筒の中に、同じく金メッキされた真鍮の球が入っています。

球が筒の底面に接すると、底面に繋がっているリードと筒に繋がっているリードが、球を経由して電気的に繋がります。

 

②リードスイッチ

このスイッチは、磁力によって導通します。

 

磁石が近づくと、それぞれのリードが磁力を帯び、異極が接触して導通します。

※仕組みはシンプルですが、複雑に反応するので、思う通りに動かないことがあります

【磁石をスイッチに平行して近づけるか垂直に近づけるか】と【磁石のN-S極をスイッチに平行にするか垂直にするか】の組み合わせによって、スイッチと磁石の距離が同じでも反応が異なります。

 

③ディテクタスイッチ

非常に小さなスイッチです。

ディテクタは、直訳すると【検知】。

わずかなチカラでもONになるスイッチです。

 

このほかのスイッチも、ココナッツで使うことができます。

スイッチの端子をピンソケットの【VとOに繋ぐ】か【GとOに繋ぐ】かを選んで配置します。

 

プログラム上では、スイッチがOFFの場合は、センサの値は【40から80】になります。

スイッチがONになると、【VとOに繋ぐ】場合は【255】を表示し、【GとOに繋ぐ】場合は【0】を表示します。

 

タッチセンサは、指の接触を感知するセンサです。

静電容量式のタッチセンサです。

センサと指先の間に溜まる電気の量を検知して、触っているか触っていないかを判断します。

 

端子の並びは、ICを手前にして左からG/O/Vです。

ココナッツの外側のピンソケットに配置してください。

センサに触れると、センサに実装されているLEDが点灯します。

 

ココナッツのプログラム上でのセンサの値は、非接触時が【0】、接触時が【222】前後となっています。

 

【補足】

タッチ入力は、従来のスイッチ入力に比べ、部品の故障が少なくコストパフォーマンスに優れるため、多くの分野で浸透しているようです。

先行して採用していただいた学校でのトラブル事例を紹介いたします。

 

①トグルスイッチの配置

他のスイッチにも対応できるように、穴が6つ開いています。

そのため、間違えて配置してしまうことがあるようです。

基板に印刷された四角い枠にリードを3本配置するのが正解です。

 

上図のように配置しないように気をつけてください。

ハンダづけの練習の際などに、不要な穴をハンダで塞いでおくといいかもしれません。

 

②タクトスイッチ(プッシュスイッチ)とスライドスイッチ

タクトスイッチは、両外の端子の穴が小さく、部品を差し込みにくいようです。

端子をまっすぐにすれば入ると思いますが、難しいときは、ドリルで穴を広げてから差し込んでください。

 

スライドスイッチは、端子間のピッチが合っていないため、わずかに浮いてしまうようです。

正規部品の欠品を、他のもので代用したためです。

申し訳ありませんが、操作するときにチカラをかけすぎないようにお願いいたします。

 

③UM66T(メロディIC)

これは、今後プログラムの学習が始まると予想されるものです。

LED6の点灯に合わせてメロディが流れることを止めたい場合、メロディICを基板に実装してしまったあとですと、ICのリードを切り飛ばす以外に手段がなくなります。

ですので、こちらにもピンソケットを配置して、自由にメロディICの抜き差しをできるようにしたほうがいいかもしれません。

サウンドセンサは、を検知するセンサです。

マイクが拾う音の大きさによって信号を出します。

端子の並びは、上図にて左からO/G/Vとなっています。

 

端子の並びに気をつけて、マイコン側のソケットに差して使います。

 

このセンサには、2つのLEDと可変抵抗器が実装されています。

右側のLEDが通電状況、左側のLEDが発信状況を表します。

可変抵抗器は、感度の調整に使います。

 

センサをココナッツに繋げて、ココナッツの電源を入れると、右のLEDが光るはずです。

 

わずかな物音でも反応するように、可変抵抗器を調整します。

無音状態下で、左のLEDがギリギリ点灯しない位置まで可変抵抗器のボリュームを回します。

※ボリュームを時計回りに回していくとLEDが消えて、反時計回りに回していくと点きます。

 

音が鳴った瞬間だけ、左のLEDが点灯すれば準備OKです。

 

ちなみに。

ココナッツのプログラムで、音センサの値の変化を見てみると、無音時は【255】、音に反応すると【8】の値が表示されます。

※センサ自身は【0】か【1】を出力してして、それがココナッツ内で変換処理されて【255】か【8】で表示されています。