しぐれめも

何か作る過程をメモとして残したり、あと雑記

“ゲーム”90年の歴史

 先週末ですが、城陽市歴史民俗資料館で開催されている特別展「CONTINUE ~“ゲーム”90年の歴史~」を見に行ってきました。

f:id:mashigure:20180901114607j:plain

 新聞でも紹介されていますね。と言うか私自身も記事を見てこの特別展を知ったのですが^^;

懐かしの「ゲーム&ウオッチ」など並ぶ 京都、変遷たどる企画展 : 京都新聞

続きを読む

Arduino UNOにMocoを導入する2018

 Moco(あるいはMocoLUFA)というのは、Arduino UNOのUSBドライバを書き換えることでArduino UNOをUSB-MIDIバイスとしてPCに認識させることができる、その書き換え用のファームウェアのことで、製作者さんによって公開されています。Mocoを用いることで、USB MIDIキーボードとか、MIDI音源とかを自作することができるようになります。

 公式サイトなどに導入方法が載っているのですが、2018年7月現在、すでに情報が古く、ツールのDL先がリンク切れになっていたり*1してちょっとハマったので、備忘録として導入までの手順を書き残しておきます。ちなみに私が環境構築したPCはWindows 10で、Arduino UNOはリビジョン3です。

*1:Atmel社がMicrochip社に買収された影響

続きを読む

ゲームパッド買って色々調べた

 趣味でゲームパッドを扱うプログラムをPythonで書いているのですが、改めて調べているとWindows向けのゲームコントローラーはXBOXのコントローラーがデファクトスタンダードの様になっているようです。従来のゲームパッドはボタン数もレイアウトもコントローラー毎に異なっているので、標準となるコントローラーがあると都合が良いというのは理解できます。そして気になるのが、XBOXのコントローラーはXInputと呼ばれる方式(API)が採用されており、昔ながらのゲームパッドはDirect Inputと呼ばれる方式であるという点です。

 私はDirect Inputのゲームパッドしか持っていなかったのですが、プログラムを作る立場としてはXInputのゲームパッドもとりあえず購入して動作確認をするべきだろうということで、色々検討した結果 EasySMX EG-C3071有線ゲームコントローラーというのを買いました。XBOXの公式コントローラーではなくこちらの製品を購入した理由は、XInputのモードとDirect Inputのモードを切り替えて使えるので、XInputが使えなかった場合でも最悪ゴミにはならないだろうと思ったからです。あと値段が安かったからです。

f:id:mashigure:20180513160149j:plain

 このコントローラーはPCに刺すとPCモード、PS3に刺すとPS3モード、Android に刺すとAndroidに刺すとAndroidモードで動作するらしいです。で、Windows上では刺した直後はXInputのモードで動作しますが、真ん中のHOMEボタンを5秒長押しすることでDirect Inputのモードに切り替えることができます。さらに、Direct InputのモードではHOMEボタンを(短く)押すことでさらにスティックの挙動がことなるDigitalモードに切り替えられます。どのモードで動作しているかはコントローラ下部のLEDで確認できます。

f:id:mashigure:20180513160846p:plain

 と、いう訳で。自分のプログラムで動作させるために、各モードでどのボタンが何番目のボタンとしてPCが認識するのかを調査しました。

 

f:id:mashigure:20180513161223p:plain

 ↑これがXInputモードです。XInput対応のコントローラーであれば、これと全く同じボタン配置で、10ボタン、5アナログ軸のコントローラーとして使えるはずです。ちなみに、PythonPygameライブラリではXInputとDirect Inputの違いを内部で吸収してくれていて、とくに意識せずに同じAPIを用いて使用することができました。

 

f:id:mashigure:20180513161609p:plain

 PS3/PCモード。PS3のコントローラとの互換性のためだと思いますが、XInputモードとはところどころ異なります。RLのトリガー(RT/LT)がアナログ入力ではなくデジタル入力扱いになりました。HOMEボタンが12番として入力を検知できますが、押すとこのコントローラーのモードが切り替わってしまいます・・・。

 

f:id:mashigure:20180513161912p:plain

 PS2/PC Digitalモード。十字キーと左スティックの入力が入れ替わり、右スティックがボタン入力になりました。

 

 Windowsでの調査結果は以上ですが、LinuxUbuntuおよびRaspbian)にこのゲームパッドを接続したところ、Androidモード(!)として動作したので、その入力も調査しました。(個人的に、LiniuxでもPCモードでの動作を期待していたけど・・・)

 

f:id:mashigure:20180513162231p:plain

 なぜか15ボタン扱いで、2、5、12のボタンが存在しない・・・?Androidの標準的なコントローラー(?)との互換性の関係でしょうか?SHANWAN Android Gamepadという名前で認識されるところに秘密がありそうですが、深く考えずに調査を終了します。

 

 余談ですが、Amazonのページには連射機能搭載って書いてある気がするけど、無いよね?

M5Stack買ったよ(Install備忘録)

 M5Stackっていう最近話題のIoTプロトタイピングモジュールを買いました。私が勝ったのはBasicの方ではなく、9軸IMU搭載モデルの方です。理由は、Basicの方がSwitch Scienceで在庫切れだったからです。*1

f:id:mashigure:20180511201757j:plain

 まだ少し遊んでみただけですが、これは良いものですね。この大きさでフルカラー液晶に簡単に描画できて、ボタンが3つついていて、スピーカーから音が出せて、しかもバッテリーを搭載しているという。これだけでもかなり遊べます。その上さらに入出力端子が豊富で、拡張モジュールで機能追加できて、BT/WiFiも使えるとは・・・。

 で、このモジュールはArduino IDEを拡張する形でのプログラミング環境構築も比較的簡単にできるのですが、少しハマったので、備忘録としてここにメモを残しておきます。ハマった理由は、上の写真に写っている説明書のSoftware Installationに書いてある方法を試したら、「http: //www.M5Stack.com/download/package_m5stack_index.json ファイル署名の照合に失敗しました。ファイルは無視されました。」って表示されて上手くいかなかったっていう一点に尽きるのですが・・・。*2

f:id:mashigure:20180511203117p:plain

 実際の環境構築は、公式サイトのGetting Startedに書いてある方法でほぼ行けました。

1.Arduino IDEの導入(私の場合はすでにあった)

Arduino - Software

2.SiLabs CP2104 Driverのインストール

www.silabs.com

Windows 10 Universalと書かれているものではなく、その下の「Download for Windows 7/8/8.1/10」と書かれたところの「Download VCP (5.3 MB) (Default)」をクリックしてダウンロード。解凍して出てきた「CP210xVCPInstaller_x64.exe」(64bit版OSの場合)を実行してインストール。

3.ESP32 Arduino Coreのインストール

サイトにはgitを使ってファイルを取得する方法が乗っているけど、Arduino IDEのフォルダ(デフォルトでは「C:\Users\(ユーザ名)\Documents\Arduino」)の下に手動で「hardware\espressif\esp32」と3階層のフォルダを作って、esp32フォルダの下にGitHub - espressif/arduino-esp32: Arduino core for the ESP32にあるファイルを全部ダウンロードして置いてもOK*3。その後、toolsフォルダの中にある「get.exe」を右クリックして「管理者として実行」する。あとは、ファイルのダウンロードなどが終わるまで待ち続ける。

4.ライブラリのインストール

Arduino IDEを起動して、「スケッチ」->「ライブラリをインクルード」->「ライブラリを管理」をクリック。「M5Stack by M5Stack」を探し出して「インストール」をクリック。

f:id:mashigure:20180511205558p:plain

f:id:mashigure:20180511205608p:plain

 以上で導入完了。私の場合、この間によくわからずにPCを再起動させてみたり、ESP8266_Spiramっていう別のライブラリをインストールしてみたりしてしまったけど、たぶん関係なかったはず。

 あとは、いつものArduinoと同じ要領で。「ツール」メニューのボード:からボード一覧を開いて「M5Stack-Core-ESP32」を選択、M5StackをUSBケーブルでPCにつないで、「ツール」->「ポート」に出てきたポートを選択、「ファイル」->「サンプル」にあるサンプルプログラムを書き込んで遊ぶ!ちなみに、前述の説明書に書いてあるFunction Listの関数名はところどころ間違っているぽいですよ?!

f:id:mashigure:20180511210633j:plain

M5Stackにたまごっち表示したらTwitterで100イイネ以上頂きました(感謝)

*1:今(2018/5/11現在)見ると、両方在庫切れのようです

*2:あそこに載っている方法は一体何だったのか・・・?

*3:右の方の緑色の「Clone or Download」ボタンを押して、出てきたメニューの「Download ZIP」をクリックしてダウンロード。ZIPを解凍した中身を置く。

猫耳ヘッドフォン

 何かのはずみでこのページを見てしまったそこのあなた!おはこんばんにちわわです。突然ですが、クラウドファンディングしてますか?わたくし、まれにクラウドファンディングでガラクタにそれなりの金額を投じて後悔したりしているんですよね。ということで、過去に支援したもののレビューをいまさらするコーナーです。

 今回はCat Ear Headphonesです。2014年に支援して、2016年頭くらいに届いたと記憶しています。

f:id:mashigure:20180422154527j:plain

大きい箱に入って届いた

 

f:id:mashigure:20180422154548j:plain

箱とほぼ同じサイズの立派なケースの中に、ケーブル類と一緒に入っていました

 このヘッドフォンは、猫耳のかたちをしているだけでなく、LEDが光り、猫耳のところがスピーカーになっているので周りの人にも音を聞かせることができるという製品です。

 

以下感想

【重い】

 頭の上にスピーカーをのせていて、スピーカーから音を出したりLEDを光らせたりする用のバッテリーも搭載しているので、ヘッドフォンとしては重いです。しばらく使っていると重たく感じます。ケーブルを抜いた状態で計ったら、448gありました。小型とはいえ、常識的に考えてスピーカーは重いですよね・・・。

 

【スピーカーの出力が小さい】

 猫耳部分のスピーカーですが、静かな室内で聞く分には十分な音量がでますが、ざわざわしているような場所では音が鳴っているのかよくわからないレベルの音量しか出ません。普通のPC用スピーカーよりも音量は小さめです。そして、ヘットフォンにつないでいる音楽プレイヤー側の音量を上げまくると、スピーカーと同時にヘッドフォンの側からも音が出ているので、大音量で耳が死にます。

 私は、このヘッドフォンを、モバイルスピーカーとして使える(スピーカーを置く机が無いイベントなどでも使える)のではと思って支援したので、この時点で私にとってはゴミを買った感じでした。常識的に考えてこんな小さいスピーカーでそんなに音量出るようになってるはずがないのですが、クラウドファンディングのページのビデオが「パーティー会場みたいなところで音楽かけれるぜー」みたいな感じだったので、いけるかと思ったんや・・・

 

 ちなみに音質は悪くはないのですが、同じ値段で普通のヘッドフォンを買った方が間違いなく音質は上です。このヘッドフォンのコストは音質向上以外のところにかかっているので、当然といえば当然ですね。

 今調べたら、Amazonで普通に買える上に、第2世代無線版なんていうのもあるみたいなので、気になる方は参考にしてください。類似製品もあるよ!変なもの買ってももちろん私は責任取らないからね!

 

ビスケットボードとケーキボード

 見てくれている方オッスオッス。突然ですが、クラウドファンディングしてますか?わたくし、まれにクラウドファンディングでガラクタにそれなりの金額を投じて後悔したりしているんですよね。

 ・・・と言う話をすると、Blogにレビュー記事を書くなりして供養しよう、人柱ならちゃんとOutputしようというごもっともなお言葉を頂いてしまうので、たまには何か書くかなということで、買ったものを紹介してみます。

f:id:mashigure:20180405214958j:plain

 1回目と言う訳で、私の初めてのクラウドファンディングだったビスケットボード(左)と、関連商品のケーキボード(右)です。ビスケットボードはNT京都2014(というイベント)でクラウドファンディングやってるという話を聞いて支援してみたもの。ケーキボードはクラウドファンディングが終わった後に、NT京都2015で売ってたのを買ったものです*1

camp-fire.jp

camp-fire.jp 結論から言うと、ビスケットボードは全く使ってないですが、ケーキボードはめっちゃ使ってます。ケーキボードはデザイン的にも大きさ的にも気に入っていて、穴が多くて便利*2ということもあり、試作段階で色々試すのに大活躍しています。逆に、ビスケットボードは、基本的に使い捨てということで、もったいなくて使えていません💦 私の場合は、作った回路は最終的にユニバーサル基板やプリント基板に実装するので、ブレッドボードのまま完成ということはないのです。私はそもそもこのボードが想定するユーザーではなかったということですね。ちなみに、両方のボードは今でも公式サイトのShopで買えるらしいです。

wakutuku.com

*1:つまり、厳密にはクラウドファンディングで得たものではない・・・。

*2:普通のブレッドボードで穴が開いていない隙間に穴が開いていて使える

NT京都2018に出展しました

 2018年3月25日(日)に西院春日幼稚園・春日神社境内で開催されたNT京都2018に出展しました。

NT京都って?

 NT京都は、物作りの愛好家たちが自分で作ったものを持ち寄って展示するイベントです。NTは京都の他に金沢や名古屋、石川県加賀市でも開催されています。また、技術的な制作物だけでなく、手芸や折り紙作品なども展示されています。自作したものを販売している人や、ワークショップなどを開いている人もいます。NT京都はその他のイベントに比べて交流会の色が濃く、屋上で持ち寄りBBQをやっていたり、前日(準備日)に出展者だけの内覧会が開かれたり、前日の晩に会場に残って宴会したり(?)しています。

私の展示

 私の展示物は「ポケミク・タッチ」と「ふでばこ型スピーカー」、「ハテナブロック型カンパ箱」、「あの楽器」でした。

f:id:mashigure:20180327230057j:plain

f:id:mashigure:20180327232627j:plain

 新作*1はポケミク・タッチでしたが、音量がやや小さかったので外付けスピーカーとしてふでばこ型スピーカーをつないでいました。ちなみに、スピーカーの外装を3Dプリンタ製だと思った人もいたのですが、ごく普通の市販の筆箱です*2。ポケミク・タッチは(その名の通り)タッチパネルで操作できるのですが、MIDIキーボードをつないでいたこともあり(予想していた通り)見た人のほぼ全員がキーボードの方で演奏していました。

 ポケミク・タッチは今後の改良方針をどうするか迷っているので、色々な人に触ってもらってフィードバックが得られて良かったです。タッチで演奏するのはサイズ的にむつかしかったりしますが、音色の変更とかがタッチパネルでできて便利なので、とりあえずタッチパネル方式の現状のまま今後も改良したいなと思っています。一方で、ボーカロイドキーボードが発売されたこともあり、ポケミクにこだわらずに別の音源モジュールをためしてみたい気もしています。

f:id:mashigure:20180327230116j:plain

 ひそかな新作は名刺でした。今回初めて業者*3に発注して作りました。それなりの印刷品質が期待できると言うことで、裏面に画像をいっぱい貼ってポートフォリオみたいにしようと思って、スマートフォンのStart画面風にしてみました。

印象に残った展示

自作親指シフトキーボード(US配列)

f:id:mashigure:20180327230155j:plain

 カラフルな見た目に目を引かれますが、よく見たらかなりの変態仕様です。親指シフトキーボードとか初めて目にしました。自作キーボードって結構作ってる人がいるみたいですね。私は標準的JIS配列なら特にこだわらない人なのですが、ちょっと気になります。作者さんが使用したハード・ソフトをまとめてくれているので、自作するなら参考になりそうです。特に、「FLINT キーボードを作ろうぜ!キット」は普通に買えるぽいので、これだけでも結構遊べそう。

f:id:mashigure:20180327230143j:plain

 

山下シンセのEuroRack化プロジェクト

f:id:mashigure:20180327230132j:plain

 ツマミがたくさんついてて、光って、音が鳴る。それだけでロマンがあると思いませんか?とりあえず詳しいことはよくわからんけどかっこいい。

 

絶対領域バッグ

f:id:mashigure:20180327230206j:plain

 カバンです。写真がわかりにくいですが、スカートの内側(?)に上から物が入れられます。そしてスカートの下に足が生えて・・・。なんだか猟奇的*4

 

クソゲー

f:id:mashigure:20180327230215j:plain

 コントローラーを振ると首が伸びる・・・? よくわからんけどクソ(誉め言葉)。ピントが合っていないのは私の撮影能力がクソ。

 

その他、撮影した写真をアップロードしていますので、気になる方はそちらもどうぞ。

まとめ・感想

 今回はだいたい展示場所に張り付いていたこともあり、あまりちゃんと見れなかった展示もあったのはちょっと反省ですが、概ね満足に出展を終えることができました。制作物をもっと早く完成させて、イベント前にちゃんと告知しようという反省は毎回言っているけど、たぶん次回も改善されることはないでしょう・・・。

 最後に出展者、来場者、関係者の皆さん、ありがとうございました。良い刺激をいろいろと得られたので、次回の展示に向けて頑張ろうと思います。また、カンパ箱にカンパしてくださった方、ありがとうございました。西院への往復交通費*5が100%カンパで賄われました。

*1:NT金沢2017で展示したものをさらに改良したもの

*2:京都市内のドン・キホーテで買いました

*3:Printpacさん

*4:スカートをめくるとシマシマパンツが見えるぞ!

*5:3桁円