ばかおもちゃ本店:Youtube twitter:@sashimizakana Amazon.co.jpアソシエイト

2014年6月23日月曜日

ハイマッキーと紙用マッキー

マッキー買った。
小学校のころ、マジックっていうとはてなマークがビンに書かれたマジックインキか、マッキーを使っていたような気がする。だから絵を描くとかいうよりは模造紙に何か書かされるとか、絵より勉強なんかと結びついたイメージが有る。


太い方が平べったいのは、明朝体みたいなものを描きやすいようになんだろうか?
その辺からしても、絵よりは字を書くようなことが意識されているのかもしれない。
で、Amazonで見てたら裏写りしない紙用の水性マッキーというのもあって一緒に買ってみた。


ちょっとデザインもやや今風になっててオシャレ感がある。


で、つるっと書いてみた。芯の感じはマッキーなんかと同じで太い方はやっぱし平べったい。
目の部分とかをぐりぐり塗りすぎてやや紙が剥がれたりして、これは裏写りしたかもと思った。


ところがぜんぜん写ってない。
紙はプリンター用のコピー用紙なので絵を書くような紙に比べても薄いんだけど、写ってない。
これはなかなか凄いなと思った。



ゼブラ  ハイマッキー 8色セット  MC8C
ゼブラ
売り上げランキング: 309
ダンボールに字を書きたくて買った。

特に使い道は考えてない。

マジックっていうとこれって気がする。

2014年6月22日日曜日

しゃべるIC


だいぶ前に買ったままにしてたアクエストの音声合成LSI/ATP3011F4-PUを使ってみた。
最近ではゆっくり声として知られるSoftalkとか棒読みちゃんなどのツールの音声合成部分のAquesTalkというミドルウェアを、ブレッドボードなんかで使えるDIPパッケージのICにした製品である。

使い方は簡単で、シリアルで接続したら"?"を送信して、">"が帰ってきたらローマ字+\rで読み上げさせたい文章を送れば発声する。使い方なんかは公式サイトにかなり詳細なデータシートが掲載されているので、それさえ見れば困ることはないだろう。

実際のところBeagleBoneBlackなんかで使うなら、可変の内容でないならSoftalkで読み上げさせた音声ファイルを通常のスピーカーで再生した方がどう考えても音も良いし使いやすい。なので、何かしら動的に生成する用途を考える必要があるだろう。さしあたっては子供用の四則演算ができるおもちゃなんかで結果の読み上げに使ってみようと思っている。
あるいはArduinoなんかだとファイルを用意して再生することの方が面倒くさいので、これを使ったらちょっとした読み上げは簡単にできるのでいいかもしれない。値段もおもちゃに使える程度で安いのも嬉しい。


2014年6月19日木曜日

RFIDつかってみた/SeedStudio RFR101A1M


SeeedStudioのRFIDモジュールRFR101A1Mを買って試してみた。
千石電商で¥1,525でリーダーモジュールとしては安い方だと思う。
RFIDの規格はかなり多いのだけど、これは125Khzのやつで、だいたい間違ってる雑な説明をすると、RFIDは125Khz~135Khzあたりのやつと、13.56Mhzくらいのやつがあって13.56MhzにはソニーのFelicaとNXPセミコンダクターズのMifareがある。本当は周波数も規格ももっと色々あるけど、普通に電子工作用なんかで買うのはたいていそのへんだという話。
このなかでFelicaは日本国内で手に入るICカードの多くが対応していて、入手性も良くて何かと楽しそうなのだけど、リーダーがUSB接続のソニー公式のものとかに限られてて電子工作で使うには高いし取り回しが悪い(Linux対応なので使えるとは思うけど)。Mifareはaitendoでカード・タグ付きで¥1,000を切るすごい安いモジュールがあるんだけど品切れだった。
125Khzのやつは上述のとおり、¥1,525で割と安かったのと、¥350でタグ3つとカード2枚のセットがあったのでこれに決めた。

技術的な詳細は公式がwikiを公開しているので、それを見れば事足りる。

通信はUARTなので、ArduinoでもBeagleBoneBlackでもなんでも良いけど、TX,RXをRX,TXと結線すればOK。あとはSTX(02),ETX(03)の間の値を読みこめば良い。せっかくチェックサムも付いているのでnode-serialport用のパーサも書いてみた。シリアルからデータを読み込んで、チェックサムが一致したらdataイベントを送出するようになっている。
プログラムは一応githubで公開してみた。開発側でgit使うのもgithub使うのもほぼ初めてなのでどきどきである。

sashimizakana/node-rfid-serialparser

書いてあるとおりプログラムダウンロードしてnode-serialportのparserオプションに渡してやれば、あとはdataイベントのときにRFIDのIDを渡してくれる。



125KHz RFIDタグ 5個入り
Seeed Studio
売り上げランキング: 207,036
千石電商Amazonでも売ってた。

2014年6月15日日曜日

SparkFunのコイン投入器(Coin Acceptor)を使う



SparkFunでプログラマブルなコイン三種まで利用可能なコイン投入器。
データシートなんかがペラ1枚みたいな感じだったので使えるかどうか不安はあったが、$19.95と安めだったので買ってみた。真ん中よりやや下の高校をほぼ最底辺くらいの成績で卒業した私でもなんとか読める程度に簡単な英語なので、ちゃんと動かすことができた。

プログラマブルというのは(たぶん)投入するコインの種類、コインを認識するためのサンプリング数、それによって発生するパルスの数(1~50)、正確さ(おそらくコインの差異をどの程度許容するか)などを設定可能であるということだろうと思う。利用するコインの数はこのモデルでは最大三種類で、自分の好きなコインを使うことができる。もちろん、実際の硬貨でも問題ない。これと同型のモデルと思われる投入器が東南アジアのゲーセンで利用されている映像を見たことがある。つまり実用的に使うことができるということだろう。

利用するコインは上述した設定を行ったあとでサンプリングモードで記憶する。付属する紙切れによると、サンプリング数は15枚以上、20枚くらいはあったほうがいいらしい。サンプリングは簡単で、決められた数分投入口からコインを入れるだけだ。詳しい手順については後述する。

電源はDC12Vで、接続する先は12V、GND、pulseの三つだ。pulseは5Vで直接マイコンに接続することができる。このほかcounterというラインもあってこれもpulseと同じタイミングで動作するが、オープンコレクタ出力になっている。紙切れでは一切触れられていないが、外国のフォーラムとかを見てみると、カウンタICに接続するためにあるとかそういうことらしい。よく知らん。

パルスについて

ちょっと悩んだのが、これのパルスについて。
上述のとおりパルスは好きな数にすることができるが、このパルスがまだ発生している間に次のコインが入ると、そのまま続けてパルスが出てしまう。またこのパルスはモードで早くすることもできるがそれでも100msくらいかかるので、ぜんぜん次のコインを投入できてしまう。つまりコイン1がパルス1、コイン2がパルス2、コイン3がパルス3の場合、パルス3が来てもコイン1が三枚入ったのか、コイン1とコイン2が入ったのか、コイン3が入ったのか判別する手立てがない。

寡聞にしてこういうもののスタンダードがどのようになっているのかということを知らないが、1パルス分は開けるとか、あるいはもう一個信号線があってどこまでがひとつの信号なのか示してくれるとか、そういう仕組はないもんかと思った。もっとも、私の買ったのの倍くらいの値段のするモデルだとシリアル通信でちゃんとデータを送ってくるらしいので、安いのでこんなもんなのだろう。
そもそもゲーム機などの場合、コインは一種類で事足りるだろうから、それで良いのだろう。

検索して読んだコードの中でなるほどなあと思ったのは、パルスの設定をそのまま金額に対応させるというものだ。たとえば10円がパルス1だとすると100円はパルス10とするということだ。そうすればあとはパルスがどんな風に来ようと投入金額は正確に把握することができる。10円玉いくつで100円玉いくつかは分からないが、パルスが12回来たなら120円入っていることは分かる。

詳細な設定手順

まずはコインについての設定。

  1. ADDとMINUSを同時押しのまま長押し(以下全部同じだけど、ポチッじゃなくて、一瞬だけホールドする感じ)すると、Aという表記がLEDに出る。
  2. SETを長押しするとEという表記に変わる。この状態でADDとMINUSを押すと数値が1~3まで変わる。利用したいコインの種類の数にして、SETを長押しすると設定される(以後、設定はすべてSETを長押しで確定する)
  3. H1という表示に変わる。ADDとMINUSであとの手順でサンプリングするときに利用する硬貨の枚数を選ぶ。最大30枚、15枚以上はあった方が良いらしい。SETを長押しで確定。
  4. P1という表示に変わる。ADDとMINUSでそのコインが入ったときに出力されるパルスの数を選ぶ。前述の通り、値段とパルス数を合わせたりする。SETを長押しで確定。
  5. F1という表示に変わる。ADDとMINUSで正確さ(どれくらい誤差を許容するかということだと思う)を設定する。1が一番厳密で一番ゆるいのが30。5-10くらいが普通は良いらしい。利用するコインが似たような種類なら、厳密にしないと判定を間違える。SETを長押しで確定。
  6. コインの種類数が1以上なら、ここでHn,Pn,Fn(nはコインの種類の番号)という風に3,4,5の手順を枚数分繰り返す。
  7. 設定が終わるとAという表示に変わる。今までの設定を確定したい場合、SETを長押しする。Eという表示に変わったら確定(これをしないと確定しない)。電源を落とすと設定が保存される。
続けて、サンプリングをするのでもう一度電源を入れる。

  1. SETを長押しするとA1という表記が出る。
  2. 用意しておいたサンプルを投入口から入れる。LEDには入れた枚数が表示される。
  3. 枚数分入れるとA1という表記が戻ってくる。種類が1種類ならここで終了。電源を落とすと保存される。次の種類がある場合は、SETを長押しするとA2に表記が変わって次のコインのサンプリングを行う。あとは繰り返し。
利用するときは電源を入れて、特に何もせずそのままコインを入れれば良い。
コインが入って、LEDが自分の設定したパルスの数値を表示してチカッと光れば正しく設定できている。コインが通らないときはサンプリングか設定に失敗している可能性がある(設定されていないコインは通さない仕様になっているっぽい)。

以上。
このあたり書くためにマニュアル読み返してたらAP modeとかいうものがあって、もしかするとそれが複数コイン入れたときに判別する方法と関係するかもしれないので、とりあえず試してみてからまた書く(かも)。

2014年6月3日火曜日

TWE-Liteで楽に無線通信



しばらく前に買ったTWE-Liteを試してみた。
もう楽ったらない。楽ったらないというか、電池のことを考えないで無設定でいいなら、単純に離れた二点間が物理的に接続しているかのように使える。動画でも多少触れているが、デジタル入力をオンにすれば、もう一方のデジタル出力がオンになる。他にはアナログ入力→PWMだったり、シリアル通信なんかもデフォルトで利用することができる。
すげー便利だ。簡単なものを作るだけならもう何も考える必要すらない。
しかもこれがアンテナをハンダ付けするだけのキットが¥1,620で買える。
この値段ならぎりぎり遊びに適当に使うことができるレベルだと思う。

とりあえず今回は試しに動かしただけだが、次は何かもっと面白い使い方を考えてみたい。

2014年6月1日日曜日

色を計る/デジタルカラーセンサS9706

秋月で売ってたデジタルカラーセンサS9706を使ってみた。



\900と遊びで使うにはなかなか高い。
変換基板のサイズが微妙に合わなくて足がギリギリになってしまい苦労した。


はんだをべたっと付けて、吸い取り線で吸い取っていくというニコニコ技術部で見たやり方でやってみた。


普段はカシャーンてなるバネ式の吸い取り機しか使わないので、新鮮だった。


だいぶ前にたぶんどっかの電子部品のお店で買ったLED付きルーペが非常に役に立った。これを使ってみるとショートしたり、うまく付いてなかったりというのがすぐ分かるので助かった。


変換基板のホールが小さくて普通の角ピンヘッダだと入らなかったので、適当にICソケットを使った。ここに角ピンヘッダ突っ込んでブレッドボードにさした。


Arduinoのプログラムはいつもお世話になっている建築発明工作ゼミ2008の記事を参考にした。というか初期化と色のキャプチャとかデータの読み取りの部分とかほとんどそのまま使わせていただいた。

建築発明工作ゼミ2008: Arduino デジタルカラーセンサ S9706

これをnode.jsからUSBシリアルポート経由でキャプチャしてnode-webkitを利用して256階調に変更して表示している。このnode-webkitからserialportモジュールを利用するときに割と苦労したが、その辺についてはQiitaに書いておいた。

Node.js - node-webkitでネイティブモジュールを使う - Qiita

これで少し前に話題になってた置いた位置の色を吸い上げるランプみたいなやつを真似して作ってみるつもり。



あと、ブログ記事を書くくらいの気安さでこういう進捗とか、日々のちょっとしたことを動画に出来たら良いなと思った。もっとも、この動画一つ作るのにも3時間くらいかかったりしているので、なかなか日々やるのは容易ではないけど。



【永久保証付き】Arduino Uno
スイッチサイエンス
売り上げランキング: 2,272

試しに作るとかいうときには本当に便利。
sublime text2で利用できるようになってから更に便利。