2015年3月26日木曜日

Arduino LeonardoでApple Extended Keyboard IIをUSBで繋ぐ

Apple Extended Keyboard IIというものを、少し前に入手した。引っ越しの少し前だったので今USB化するのも運ぶ手間もあると思ってしなかったのだが、引っ越しが終わってひと段落した。東京である。

というわけでApple Extended Keyboard IIのUSB化である。日本語で出る情報で適当にググるとDa Vinciというボードを用いたものに当たる。だが今回はArduino Leonardoを用いることにした。理由は特にない。しいていえばたまたま入手できたからである、

こことかここを見ながら配線とtmk_keyboard内のadb_usbのmake、avrdudeによる書き込みを行う。

なお、WinAVR20100110版をWindows 8.1に普通に入れて普通にmakeするとmakeがerrorを吐いて止まる。エラーコード(戻り値?)は -1073741502 だった。

適当にググるこんなサイトに当たる。

このファイルをWinAVRのutils/binにぶち込め、と言ってmsys-1.0.dllを添付している人がいるが、いくらなんでも怖すぎるので自分でmsysを落としてくる。msysの落とし方は適宜ググってほしい。そこまで解説するのはつらい。

mingw-getでmsys-baseあたりを適当にインストールすると、msys/1.0/binにmsys-1.0.dllがたぶん公式から落ちてきているであろうと思われる雰囲気で存在している。少なくともさっきのより怖くない。

これをさっき言われた通りutils/binに入れるとmakeが走るようになる。

そこから先はだいたい先に挙げた日本語の情報に従う。DINコネクタの配線には注意する。

さて、makeも、配線も、avrdudeによる書き込みも終わったと思う。ところでこのDINコネクタのADBピンは、いったいArduino Leonardoのどのピンにつなげれば良いのだろうか?

結論から言うと、Arduino Leonardoのシルク印刷にSCLと記述されているピンにつなげばよい。

この情報は、先の日本語情報や、tmk_keyboardのgithubにあるPD0ピンがデフォルトだよ、という情報と、Arduino公式の32u4とArduinoボードのピンアサインマッピングのページを見ると良い。PD0はSCLにつながっている、との記述があるので、ADBピンをSCLに、Vccを5Vに、GNDをGNDにそれぞれつなげる。

これで完成だ。

0 件のコメント:

コメントを投稿