2022年11月23日水曜日

DSO 062オシロスコープの不具合を調整しました

前回の続きです。2015年8月に秋月電子通商で購入したDSO 062JYE Tech)というオシロスコープの組立キット(秋月では既に取り扱っていない)を時間を見つけて組み立てたものの、うまく動かなくて残念な気分のまま長いこと放置しておりました。問題点は2つ。1つ目は、LCDには通電するもののコントラストを調整するPOT1を回しても何も映らないこと。2つ目は、LCDと本体基板をつなぐピンヘッダが表面のパネル(これも基板で作られている)と干渉すること。

1つ目については、ハンダがしっかりと付いていないのではないかと考えました。そこで、Amazonで買った顕微鏡カメラ(UVC)を使って確認することにしました。Linux Mintで動かしているPCに、カメラアプリ(WebcamoidKamoso)をインストールして顕微鏡カメラをつなぎました。(UVCカメラで映像を見るだけならKamosoは簡単で良いと思いました)拡大してよく見ると、ブリッジしかけて見えるところやランドにハンダがうまく乗っていないように見えるところが見つかりました。普段使っている2.54mmピッチのものよりも狭い2mmピッチのピンヘッダを使っているため、うまくできなかったのだろうと思います。改めて、フラックス(サンハヤトHB-20F=販売終了)を塗布してハンダの付け直しをしました。作業後、顕微鏡カメラで問題が解消されたことを確認して通電してみたところ、LCDが使えるようになりました。

2つ目については、スペーサーの長さが合っていないのですが、LCD側のピンヘッダと基板側のピンソケットをつないだ状態で、スイッチ類の高さと合わない事がわかりました。おそらく、LCD側のピンヘッダの根本の黒いプラスチック部分を外すとうまく調整できるのではないかと思いました。しかし、これはかなり面倒な作業になります。もしかすると、ピンヘッダ自体をLCDの表側から挿して裏側からハンダ付けしてからニッパーか何かで黒いプラスチック部分を切り取ってしまえばよいのかもしれません。しかし、既に裏側から挿して表側でハンダ付けが終わっているので、これを外すのはもっと面倒です。そこで、スペーサーを少し長いものに換えて干渉しないようにしてみました。この状態で、スライドスイッチは少し動かしにくくなったものの動かすことは可能で、タクティルスイッチも押すことが可能なので良いことにしました。(むしろ出っ張りが少なくて誤作動のリスクが減ったと思えば…)

これで、オシロスコープが使える状態になりました。さらなる問題は、取扱説明書(PDF)が英語であるということです。これをGoogle先生にお願いして翻訳してもらったので、しっかり読み込んで「IchigoJamで楽器づくり」に挑戦していきたいと思います。

2022年11月13日日曜日

IchigoJamを楽器として使うことはできるのか

ScratchPicoBoardで楽器を作る活動(平成20年度21年度←PDFがダウンロードされます)からプログラミング(フィジカル・コンピューティング)の授業を本格的に始めた私としては、Scratchを活用して楽器を作って演奏したり、シーケンサーのように音楽を自動で奏でたりすることを学習活動に取り入れたいし、欲を言えばMIDIなどのインターフェイスを介して外部入出力にも対応させて、様々な楽器をコントロールするところまでやらせてみたいところです。(Extensionを作っている人はいるらしい)

しかし、多くの人が経験している(?)ように、Scratchで曲を演奏させるというのはそう単純なことではなく、遅延やズレなどがなくうまく演奏させるためにはかなり工夫しないといけません。小学校の学習活動として子どもたちに取り組ませるとなると、子どもたちにとってもハードルが高く、かなりの下準備が必要です。

そんな折、そう言えばと思い出したのがIchigoJamでした。その安さと電子工作好きが講じて、手元にはIchigoJam系のものが10個以上(そんなにあって何に使うの?というツッコミはなしで)があります。そこで、このIchigoJamを楽器として使うことはできないかやってみることにしました。(以前、ファームウェアのアップデートをしていたのは、こうした需要があったためでした)

今回使ったIchigoJamは、圧電スピーカーが組み込まれているIchigoJam SSkyBerryJam栃木県立栃木工業高等学校の生徒さんが作ったもの=自宅には赤との2種類ともあります)です。参考にしたのは、「IchigoJamで音を鳴らしてみよう」です。

言うまでもありませんが、BEEPやPLAYコマンドで音を鳴らす方法では、簡単に音が出ました。SNDとGNDに別の圧電スピーカーをつないでみると、基板に組み込まれている圧電スピーカーと同時に音が出ました。

〈音を出したコマンド例〉

  • BEEP 1 〜 255
    ※1〜255までのいずれかの数値を入力すると音が出る。1が一番高く、数値が大きくなるにつれて低い音になる。
  • PLAY “C” 〜 ”B”
    ※MML(Music Macro Language)によりプログラムできる。C(ド)〜B(シ)までの12音のいずれかを入力するとその音が出る。半音上は「+」、音符の長さは「数値」(2=二分音符、4=四分音符…)、「T数値」はテンポ、「O数値」は音域(オクターブ)の設定ができる。連続した音をプログラムすることができるので、楽曲の演奏も可能。

耳で確かめた感じだと、「BEEP 60,30」と「PLAY “C”」が同じ音かなというところ。単音なので、この程度ならScratchでやっても同じかなと思いました。曲の演奏にも挑戦してみましたが、IchigoJamの方がテンポやリズムに安定感があるように思いました。(音程は?)音を出す仕組みがScratchとは全く違うから、楽器のベースにするのはIchigoJamの方が向いているのかもしれません。(電子工作好きの個人的な感想かもしれませんが)

さて、圧電スピーカーから音が出るということは、何らかの電気が流れているということなので、その正体がわかれば楽器への応用が可能かどうかもわかりそうです。テスターとかオシロスコープとかで調べてみたいと思います。(テスターはすぐに使える状態だけど、組み立てキットで購入したオシロスコープが不調で調整が必要なため、すぐにはできませんorz)

DTMへの道として和音が鳴らせると良いなと思って調べてみると、PanCakeを使った「4和音ミニDTM」というやり方や「PWM機能による2和音」というやり方もあるようで、だんだん沼にハマっていく予感がしています。一方で、MIDIインターフェイスへの出力が可能という情報もあり、IchigoJamから他の楽器をコントロールすることもできそうです。

2022年11月7日月曜日

JamToastを使ってIchigoJamのファームウェアのアップデートをやってみた

以前IchigoJam系のマイコンボード(NXP LPC1114搭載)のファームウェアを更新するためにJamToastを使おうと思って挫折したままになっていました。JamToastはMMC(MultiMediaCard)を使うということでいろいろと調べてみたのですが、MMC規格はSDカード規格ができる前にできた規格であり、形状がSDカードに似ていてカードリーダー等の中にはSDカードスロットでMMCに対応しているものもあるとか。そもそも規格的な互換性は微妙なので、別物と考えた方が良いことがわかりました。ただ、SDカードの中にはMMC規格と互換性があるものもあるとか。少なくとも以前の動作確認では、手元にあるSDカード(2GB以上のものしか在庫がない)ではダメでした。
#Wikipedia「マルチメディアカード

日本ではあまり普及していないMMCですが、JamToastがあるのに使えないというのもどうかと思うので、思い切ってMMCを準備することにしました。とは言え、ネットで探しても思ったより情報が少なく、秋葉原あたりに行けば見つかるかもしれませんが、電車賃をかけて収穫なしということになったら洒落にならないし…と逡巡していたところ、Amazonで中古のMMC 16MB(1MB100円超!)があったのでポチッとしてしまいました。

数日後、届いたカードには「SDC-16M」の文字が。完全にSDカードなのでした。写真にはMMC-16Mとあったのに、商品説明にはSDC-16Mと確かに書かれています。「やっちまった!」と思ったのですが、過去にこんな小容量のSDカードを使ったことがなく、写真のMMCと同じメーカーの「Canon」のロゴがあったためダメ元で使ってみることにしました。
#16MB程度のメモリーカード類を必要としていた時期は、オリンパスのデジカメを使っていたのでSDカードではなくスマートメディアを使っていたのでした。

SDカードならカードリーダーを選ぶ必要もなく、いつも使っているMacBook Proに挿しているカードリーダーでこのSDカードをマウントしてから、IchigoJam 1.4.3(ダウンロードサイト)の「ichigojam-jp-ntsc-uskbd.bin」(zipファイルを解凍した中にある)を16MBのSDカードにコピーしました。ここでファイル名を「jam.bin」に変更します。(大文字or小文字はどちらでも良いらしい)この状態でSDカードをJamToastに差し込んでIchigoJamに載せて電源を入れたところ、Cardへのアクセスを示すLEDがしばらく点灯し、LEDが消えたところで画面にアップデートされたJamBasicのバージョンが表示されました。無事にファームウェアのアップデートができました。

当初予定していたMMCとは違うSDカードが届いてしまいましたが、そもそもの目的は達成することができました。JamToastを使うと、ファームウェアのアップデートだけでなく、IchigoJamで作ったデータを保存することも可能なようなので、今回のように使えるSDカードを探しつつデータの保存にも挑戦したいと思います。

〈参考Webサイト〉

2022年11月6日日曜日

カブトムシの世話(2022秋)〜ベランダ飼育でこれまでとの違いはあるのか

前回の世話から2ヶ月あまりが経ちました。この間も、折に触れてコンテナのフタを開けて中を覗いて様子を見ていましたが、このところ腐葉土のかさが減ってきて、そろそろ冬眠の時期にもなることから、餌となるマットを足してあげなければと思い作業をはじめました。(使っている腐葉土は、無添加の落葉広葉樹の葉のみを使ったものです)

カブトムシ用の飼育マットと違い、腐葉土は保水力が弱いので表面から5cm程はすっかり乾いています。カブトムシたちもこの当たりまで食べに来ることはありません。前回の世話の直後に、表面に出てきて亡くなっている個体が1頭ありましたが、何らかの原因で環境が合わなかったものと考えています。

乾いた腐葉土を取り除くと、フンが大量にある層が現れました。これらをどんどん取り除いていくと、くぬぎマットの塊が数箇所見つかりました。くぬぎマットにはきのこの菌糸が絡んでいて、その近くにカブトムシの幼虫(3令虫)が集まっていました。もともとは、くぬぎマットをまんべんなく敷いていたのですが、食べ進んでいるうちにきのこの菌糸が繁殖してしまったのか、きのこの菌糸があったため食べ残したのか真相はわかりません。いずれにしても、くぬぎマットもしっかりと食べていて、まるまると太った幼虫になっていました。全部で18頭(前回20頭)でした。

底の方は再び腐葉土の層で、こちらはかなり湿り気がありました。新しくくぬぎマット10Lを加えてよく混ぜ合わせ、その上にフンを取り除いた腐葉土&くぬぎマット(加水した朽木も一緒)を入れて、幼虫たちを放しました。さらにその上から腐葉土を20L程度入れてコンテナを満タンにしました。(朽木や腐葉土の中に農作業等で使うプラスチックと思われるものが混じっていることがあるので、取り除きながら作業をしました)

新居になってカブトムシ飼育をベランダで行っていますが、風があまり通らない構造になっているためか、コンテナ内があまり乾燥せず、きのこの菌糸がかなり広がっていました。カブトムシにとってどれだけの影響があるのかわかりませんが、大きなものは取り除いたので今後の経過を見ていきたいと思います。(取り除いたフンは、いつものように植栽に使います)

2022年11月3日木曜日

KORGのSQ-1(ステップシーケンサー)でlittleBits Synth Kitを鳴らせるかやってみた

少し前の続きです。KORGSQ-1(ステップシーケンサー )にはlittleBits Synth Kitをつなぐコネクタ(TSミニジャック)があります。これを試してみない手はありません。SQ-1のFAQを参考にして、鳴らせるか試してみることにしました。期待とは裏腹に、残念ながら簡単につなぐ道具はないようで、ちょっとだけ自分で工夫しないといけないようです。

まず、littleBitsのw9 Protoモジュールを用意します。私はAmazonで購入しましたが、いいお値段だなと思いました。これに、TSミニプラグの配線をする必要があるのですが、別の用事でたまたま寄ったHARD OFFで偶然にもTSミニプラグに導線がついていて被覆まで剥いてあるというおあつらえ向きのものが2本110円で売っていたので、迷わず購入してきました。これを、先程のFAQを参考にしてw9(proto)につなぐことにしました(私が買ったものは、片側に白い線が入っているものでした。白い線の方が+極です)

TSミニプラグの方はそのままにして、反対側の被覆が剥いてある方は銅線をていねいによじってハンダメッキを施してから、接点として長過ぎる部分を収縮チューブで覆って熱風で収縮させて他の部品などに触れないようにしました。更に上から収縮チューブで2重に覆って固く固定し断線を防ぐようにしました。こうして専用のTSケーブルが出来上がったので、protoモジュールに接続します。out側の中央が+でその左側がGNDです。中央のジャンパーを外してピンを露出させます。(導通しないようにするということ)

ここまで準備ができたのでSynth Kitを組んでつないでみます。電源(DC9V=006P電池)→proto→oscillator→synth speakerの順でつなぎ、SQ-1の「littleBits OUT」にprotoモジュールからのTSケーブルのミニプラグを挿しました。この状態でSQ-1の電源を入れてスタートボタンを押してみました。はじめは音が出ていないと思っていたのですが、よくよく聴いてみるとブツブツと音がしています。どうも低い音が出ていないということと、鳴らしている音の長さが短すぎてブツブツ切れてしまっているのだということがわかりました。そこで、SQ-1のCV OUT電圧を8V(Hz/V)に設定し、「DUTY」を長めにしてみました。すると、安定して音が出るようになりました。

oscillatorを直列につないでみたり、protoから先を分岐(split)してoscillatorを並列にしてまとめて(mixして)speakerで鳴らしたり、envelopeやfilterを入れてみたり、oscillatorをノイズに変えてみたりといろいろとやってみましたが、音が出るということでは問題ありませんでした。ただし、音程を安定させたり、自分好みの音で鳴らしたい場合はかなりシビアなチューニング作業を求められます。(それはそれで面白いからハマるのだけれど…)

もともとSynth Kitについていた4ステップのステップシーケンサーと比べると、表現力がすごく高まります。しばらくはこれでじっくり遊べそうです。まだ他にもモジュールがあるので、いろいろな組み合わせてみて音作りや音楽づくりを楽しみたいと思います。

2022年10月24日月曜日

IJUtilitiesを使ってMacからIchigoJamのファームウェアを更新する

事情(詳細は後日)により、IchigoJamを使ってみようと思いたち、いろいろ試すために買っておいたIchigoJamたちを引っ張り出してきました。電源をつないでキーボードをつないでモニタをつないで電源スイッチを入れたところ、どうもキーボードの動きがおかしいのです。そもそも自宅にはUS配列のキーボードしかありありません。つまり、ファームウェアを更新してUS配列のキーボードに対応したものにする作業をしていなかったのです。 

以前、IchigoJamのファームウェア更新は経験したことがあります。このときは、Maclsp21isp.appを使ったのですが、その後IJUtilitiesというソフトを使った書き込みを試そうとして、途中で放置してしまったのではないかと思います。そこで今回は、改めてMac上のIJUtilitiesでIchigoJamのファームウェアを更新する作業をしてみたいと思います。

今回更新に使うIchigoJamファームウェアは、1.4.3にしました。1.5はRISC-Vチップ対応ということで、互換性はあるように作られているのでしょうけれど、余計なものが入って動作が不安定になることや新しいものにはバグが存在することを疑って1つ前のものにしました。

まずは、IJUtilitiesをダウンロードしてアプリケーションフォルダに移動(コピー)します。(以前に使っていたものは、フォルダごと削除しました)次に、IJUtilitiesを起動するとFontのインストールを促されます。必要なFont自体は、ダウンロードしたIJUtilitiesの「Font」フォルダに入っているので、.ttfファイルをダブルクリックするとFont Bookが起動して簡単にインストールすることができます。IJUtilitiesが起動したら「環境設定」→「Utilities」と進み、「lpc21isp File」としてIJUtilitiesの「lpc21isp」フォルダ内の「lpc21isp」ファイルを選択します。
#はじめてIJUtilitiesとlpc21ispを起動する際、アプリケーションの開発元が確認できない旨のメッセージが出ることがあります。「システム環境設定」の「セキュリティとプライバシー」の設定で起動することができるようになりますが、自己責任ということで。

ここでUSBシリアル変換モジュール(遠い昔Amazonで購入したFTDIFT232RL搭載のもの=設定は3.3Vでやってみました)を使います。USBシリアル変換モジュールのRXD、TXD、GNDをIchigioJam(NXP LPC1114ARM Cortex-M0)のTXD、RXD、GNDにつなぎます。(RXDとTXDはクロスしてつなげる)IchigoJamのISPとGND(2箇所ある)もつないでおきます。この状態で、MacとUSB接続して準備完了です。(最近のMacBookを使っている場合は、USB-C→USB-A変換ケーブルが必須です。カードリーダーなどがついた多機能なものを使っている場合は、USBシリアル変換モジュール以外のものをつながないで使うと良いようです)

IJUtilitiesに戻って「スキャン」ボタンを押して、「usbserial-xxx…」を選択して「接続」ボタンを押します。ツールの「Firm 書換え」ボタンを押してFirm:にあらかじめダウンロードして展開しておいたフォルダの中から「IchigoJam-jp-ntsc-uskbd.bin」を選択しました。ここでIchigoJamの電源を入れて、IJUtilitiesの「実行」ボタンを押してしばらく待ちます。うまく行かないときは、IJUtilitiesを終了して起動し直すと成功率が高くなるように感じました。(どうしても1つだけうまく行かないものがありました) 

SkyBerryJam取説)とIchigoLatteもそれぞれファームウェアの更新に挑戦しました。感動的だったのはSkyBerryの方。USBシリアル変換モジュールを介さずに、直接Macにつないでファームウェアの更新ができてしまったことでした。これで、それぞれの環境でUSキーボードが使えるようになりました。

2022年10月23日日曜日

N680GTX Twin Frozr III OCを使ってみる

グラボの動作確認に続きができてしまいました。特に何かを探していたわけではなかったのですが、ふらっと寄ったHARD OFFで偶然MSIN680GTX Twin Frozr III OCというグラフィックボードがジャンクのショーケースにあったので衝動買い(税込3,300円の動作未確認ジャンク)してしまいました。自宅には、以前にジャンク品として購入したZOTACGTX 670(税込2,750円)があり、動作確認もできているのですが、80番台は持っていないので10年前のグラボだけれどどのくらい使えるものか試してみたくなってしまったのです。

見た目は比較的きれいな感じでしたが、まずは外側から薄っすらとついていたホコリをエアダスターで取り除きました。次にファンと一体になっているヒートシンクを外してエレクトロニッククリーナーで全体的に掃除をしたあと、グリス(TF8)を塗り直しました。ヒートシンクは掃除機やエアダスターでホコリを取り除き、無水エタノールでグリスを完全に拭き取りました。(表面実装部品を削り取らないよう注意が必要)両方の準備ができたところで元の状態に戻し、各ポートは接点復活剤(KURE CRC 2-26)を塗布しておきました。

一通りメンテナンスが終わったのでLinux Mintで動かしているベンチ台PCにこのN680GTXをセットして電源を入れたところ、何の問題もなく起動してくれました。FANもとても静かで動作も問題ありませんでした。YouTubeで動画を視聴してみましたが、GPU温度が30→33度くらいまで上がることはあるもののFANの回転数も上がらないし、ほとんど変化がないと言って良いくらいです。試しにBlenderで3Dレンダリングをやってみましたが、これも問題なくできました。(他のグラボでやってみてどのくらい違うか試してみるのと、Blenderの日本語対応もやってみようと思いました) 

GPUZooで、手元にあるだいたい同程度の3つのグラボ(GTX 670、N680GTX、GTX 1050Ti)のスペックを確認すると以下のような感じでした。

〈GTX 670〉

  • Architecture : Kepler
  • Process : 28 nm
  • Transistors : 3.54 billion
  • Base clock : 915 MHz
  • Boost clock : 980 MHz
  • Memory : GDDR5 2048 MB
  • Memory clock : 1502 MHz(256 bit)
  • CUDA cores : 1344
  • Maximum power draw : 170 w

〈N680GTX〉

  • Architecture : Kepler
  • Process : 28 nm
  • Transistors : 3.54 billion
  • Base clock : 1058 MHz
  • Boost clock : 1124 MHz
  • Memory : GDDR5 2048 MB
  • Memory clock : 1502 MHz(256 bit)
  • CUDA cores : 1536
  • Maximum power draw : 195 w

〈GTX 1050Ti〉

  • Architecture : Pascal
  • Process : 14 nm
  • Transistors : 3.3 billion
  • Base clock : 1290 MHz
  • Boost clock : 1392 MHz
  • Memory : GDDR5 4 GB
  • Memory clock : 1752 MHz(128 bit)
  • CUDA cores : 768
  • Maximum power draw : 75 w