LCDが動かない話(&先週分)&mbedでLCD

イントロダクション(もしくは先週分)

いちおう、週1で投稿しようと決めていたのだけれども先週は忙しさマックスの何もしていない日々があってやりたいことやれずに休日消化。ゆえに更新できず。

それでも1日はフリーな日ができたから日本橋(大阪の方ね)にRaspberry Pi用にモニタ買いに出向。

学生の身に収まってるもので高価なものは買えない。なので綺麗な中古を調達してきた。

それがこれ。

OLYMPUS DIGITAL CAMERA

I-O DATA の中古モニタ。1600 x 900。20型。確か5500円ぐらい。

中古にしてはなかなかいいんじゃないかなと思ってる。

画面下部の電源ボタンとかのモニタのボタンがAndroidのlollipop以降感漂っていていい。

モニタ側のコネクタは確かDVI-DとD-sub(アナログの方は忘れた)。

年齢的にDVI-DとかD-subは古〜いという印象で昔のPCとかプロジェクタに使われてるやつという感覚。HDMIしか知らないも同然。

手持ちのRaspberry PiはHDMI出力なのでDVI-D to HDMI変換が必要。その変換器(変換ケーブル?)はその中古ショップに新品としておいてあって、付属してきたはずのDVI-DケーブルとかD-subケーブルとかを同梱しなくていいというと200円引きで変換ケーブルを売ってくれた。

ちなみに店名はショップインバース日本橋1号店。どうやらヤマダ電機グループらしいので”けっこう安い”アノ店よりも品質は高いと思う(個人の感想。”けっこう安い”店も好きですよ)。

Raspberry Pi用に買ったとはいえそれだけでは使った感じがしない。HDMIでつなげるんだしMacを繋げよう。

Macで使うとすごく良くて、モニタにリファレンスとか開けながら本体でコード書いたりPDFのテキスト見ながらプログラミングの演習の練習できたりして作業が捗る。

今まで Raspberry PiはJessie Liteを使っていたが、それはCUI環境。GUI環境のためにフルサイズのRaspbian Jessieを

raspbian日本のミラーサイト:本家のサイトは重いからね

ここを参考に日本ミラーから落として焼いた。(それでもけっこう落とすのに時間かかった)

そしてSupervisorとかAquestalkpiとかインストールしなおして今週

本編(本当に2部構成)

Raspberry Pi 編(LCD動かぬ)

やっとこさの本編。

1月に秋月電子通商で買ったi2c通信するLCD液晶キット(AE-AQM0802)

これを買った当初はRaspberry Piのなんたるかを知らず電子工作超入門〜基礎編〜みたいなノリで電子工作を始めていたわけだけど、

実例で学ぶRaspberry Pi電子工作 作りながら応用力を身につける:ブルーバックス

の指示に従って配線、プログラムを走らせても液晶に何も表示されない。

その時はハンダ付けの時の熱で死んだかなと思って封印したのだけれど、例の秘書システムに組み込めないかと思って完成品の方が再販されていたのでそれを購入。

で、試してみたけれども何も反応しない。

2016-04-30-133851_655x390_scrot

配線してi2cdetectした図

それどころか認識すらしていない。

ちなみに正しく認識すると

2016-04-30-133630_655x390_scrot

ADT7410使用 高精度・高分解能 I2C・16Bit 温度センサモジュールを使った時の図

こういう風に0x48(16進数)と言うアドレスがかえってくる。

うーん。グーグル先生に聞いてみると

実例で学ぶRaspberry Pi 電子工作 補足情報 読者の方々の声

が出てきた。

このページのコメント欄によると

Raspberry Piで動作しないLCDについて、秋月電子より回答を頂きました。
「LCDの新しいロットでは電流の引き込み能力が低いためACK信号が十分小さくならず、Raspberry Piで認識しない」、
「Raspberry Piで動作させるには、Raspberry Piの基板上の1.8kΩのプルアップ抵抗を取り外し、別途10kΩのプルアップ抵抗を取り付ける(私は試すつもりはありませんが、ショップでは確認済だそうです)」、
「今後Raspberry Piで動作するLCDが用意できれば(別商品かもしれません)、Webに明記して販売する」
だそうです。

だそうで、おそらく僕が買ったLCDは新しいロットの方なのでしょう。

と言うことは諦めろということです。(Raspberry Piの抵抗外すとか無理ですよ…)

とはいえ1個600円の部品を諦めろとは酷なもの。

さてどうしたものか…

mbed編

実はmbedなるものを貰い、さっぱり使いたかがわからず電子工作類保存場所(通称ダンボール)に封印していたのです。

使えなくなったLCDはi2c通信を行い、手持ちのmbedもi2c通信を行える…いける!。

そもそもmbedとは

mbed : wikipedia

mbed(エンベッド)はARM[1]のプロトタイピング用ワンボードマイコンおよびそのデバイスのプログラミング環境を指す。

mbedはプロトタイピングツールとしては特徴的な、OSに依存せずブラウザ上で動作するオンラインIDE[4]を備えており、ユーザはこのIDE上でコードを記述したり、mbed.org上に存在するライブラリをインポートしたりすることが可能。コンパイルされたバイナリファイルはダウンロードし、USBメモリとして認識されているmbedの内蔵フラッシュメモリ上に書き込むことで動作させることができる。

つまり、開発環境に特殊なソフトを必要とせずブラウザ上でプログラムを組んで動かせる超手軽なマイコン。

かなり初心者向けに設計されている感じがするけど、日本ではRaspberry Piほどの盛り上がりもなく、日本語解説サイトが難しくてまだイマイチな感じ。

mbedは種類が多く、

mbed電子工作レシピ:この本によると

mbedプラットフォームは2015年4月時点で、56種類あります。

とかなり多い。

そんな数多いmbedの中で僕が持っているのは「NUCLEO-F401RE

OLYMPUS DIGITAL CAMERA

NUCLEO-F401RE

Raspberry Piよりピンがかなり多い!

Raspberry Piと違ってLinuxが動くようないわゆるパソコンじゃなくて、Arduinoのようなマイコン。(正直よくわかっていない)

USBでMacと接続して

mbed LPC1114FN28に秋月のI2C液晶を付ける:ここを参考に

TextLCD AQM0802A sample code

後記の方のサイトのサンプルソースコードのなかのi2cのピン設定を手持ちのものに書き直して、液晶に出す文字を変更して

OLYMPUS DIGITAL CAMERA

LCD動いたぁぁ!!!

 

見事にLCDが動いた。

これからはmbedが主役か…?

あとがき(裏話)

ここまで書き終わった後の疲労感がものすごく多い。

かなり疲れた。

週1で更新しているわけだけど、記事に書いてるすべてを休日に行っているわけじゃなくて、平日の空いた時間にちょこちょこやってそれを記憶しておいて、休日にその動作をすべてトレースして写真を撮るとかの作業もしつつ文章も書いて…という流れでやっている。

だから今回みたいにものすごく長いと結構疲れる。

で、温度センサのi2cデバイスの写真を撮る時(記事には載せてない)温度センサにはVDD(電源)、SCL、 SDA、GND(グランド、アース線のアース)の4つ繋ぐところがあって、最初、全部線を逆につないだら(故意じゃなくて)、ハンダ付けしてる時の匂いがしてきて温度センサを触るとかなり熱くなっていた。

温度センサ自体はなんともなかったのだけれども、Raspberry Piがi2cを認識しなくなってかなり焦った。

結果的にi2cの設定がすべて無効(多分保護機能的なんものが働いたのか)っただけだったので復旧はすぐに済んだ。

まとめ:配線はちゃんと確認しようね。

広告

LCDが動かない話(&先週分)&mbedでLCD” への1件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中