SSブログ

(ARDUINO)ARDUINOにプリンターを接続する [arduino]

今回は、Arduinoに超小型プリンターを接続して使います。使うのは、レシート用紙を使うサーマル・プリンター(熱転写プリンター)です。
 液晶ディスプレイではどうしても情報量が限られますし、マイクロSDに記録してもパソコンがないと結果を把握できないし……簡単に情報を閲覧できるのはなにか?と考えると「プリンター」という結果にたどり着いたのです。
 しかも、熱転写式ならインクジェットみたいにウォームアップがいりません。インク切れに脅える必要もありません。(熱転写式は、実際には熱に弱い欠点がありますけど)
 それで、このプリンターを入手したのです。
 CIMG0183.JPG
 Arduinoと並べると小ささが判ると思います。
 海外のサイトで売られている熱転写プリンター(中国製)です。
 http://www.adafruit.com/products/600#tutorials

 このプリンター、いろいろと探していて見つけたもので、輸送費(いちばん安いヤツ)込みで1万円以内(およそ77USD)で買える価格だったのですぐに注文しました。(先ほどのAdafruitのサイトから購入しました。今回は注文してからおよそ10日ぐらいで届きました)
 SPARKFUNにも同等のプリンター(COM-10438:端子部分など若干違いがあります)がありますが、どちらのプリンターにしても電源は5V〜9Vの1.5Aなので、パソコンのUSB電源では足りないので動かせません。別に電源が必要になります。
 今回、ACアダプターを別に買ったりするのも面倒なので、一式全部そろった「スターター・パック」を注文しました。

 単純に印字するだけなら、19200BPSでテキストを送信して、最後にLF(0x0A)を送信すれば印字してくれます。

 CIMG0187.JPG
 極端な話、Arduinoに適当にBlinkでも入れて(動作のジャマされないようにして)、こんな感じでArduinoのデジタルポートの0番とプリンターのRX、GNDとプリンターのGNDを配線して(これでパソコンからの信号がプリンターに直接届くようになります)、IDEのシリアル・モニターの改行をLF、通信速度を19200BPSに設定してしまえば、IDEから送った文章を印刷してくれます。
 これだけでも、もう小さなタイプライターが出来上がってしまいます。


 またAdafruitに、各種機能を簡単に使えるライブラリーもありますので、それを使うのも良いでしょう! ただし! このライブラリーには注意すべきことがあります!
 Adafruitのサイトで紹介されているライブラリーは統合開発環境Arduino1.0ではエラーとなって動きません。
 さらに、指定のURLからライブラリーをダウンロードすると、「adafruit-Thermal-Printer-Library-736bc98.zip」というファイルになりますが……
 Arduinoのライブラリーに入れる場合、フォルダをこの長いファイル名したのではダメなのです。
 「Thermal」という名前にしないとダメなんです。めんどくさいですね(^^;;;;

 SPARKFUNのHPにも資料がありますので、http://www.sparkfun.com/datasheets/Components/General/Driver%20board.pdf、こちらを参考にしても良いと思います。

 CIMG0184.JPG

 印字速度もレシート用だけに速いです。
CIMG0186.JPG
 縦倍角、反転とか、いろいろありますし、バーコードも印字できます。
 さらにはキリル文字対応ってのがすごいです。
 簡単なグラフィックも印字することは出来ます。

 しかし! カタカナやひらがな、日本語には対応していません。

 でも、とにかく簡単に使えるのでArduinoでプリンターを使いたいって方にはお勧めです。

 ちなみに、付属したレシート用紙の大きさは幅58ミリ、外径35ミリ、内径(芯)12ミリのものでした。用紙については、外径38ミリまでは大丈夫との事です。


※後日追加:Arduino1.0用では、こちらも参考に出来ます。
http://bildr.org/2011/08/thermal-printer-arduino/
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。