Select Your Language

免責事項

  • 本サイトの情報の利用、内容、サービスによって、利用者にいかなる損害、被害が生じても、著者は一切の責任を負いません。ユーザーご自身の責任においてご利用いただきますようお願いいたします。

    本サイトで頒布している基板およびキットは、技術者、またはそれに準ずる電気的知識をお持ちの電子工作ファンの方のためのものです。 一般のオーディオファンの方のためのものではありません。
    また、頒布基板およびキットは、いかなる条件でも動作を保証するものではございませんので、あらかじめご了承ください。

    電子工作では、火傷、感電、火災などの可能性があります。 十分に注意をして作業して下さい。

    営利目的のご使用は認めておりません。  記事の転載や、基板・キットの商用利用の方は、ご連絡ください。
    学生やサークルの学習目的でまとめてご購入する場合は特別なコースをご用意させていただきます。

« RaspberryPi + Volumio LCD リベンジ(2) | トップページ | RaspberryPi + Volumio + LCDを実現したプログラム説明 »

2014年10月 7日 (火)

volumio + mpd-0.18.16 LCD バイナリ

液晶表示を組み込んだvolumioのバイナリを作りました。 

I2clcd12_2 

ついでですので、mpdも0.18.16という最新版をコンパイルして差し換えました。  

mpdのバージョン履歴によるとDSDのバグ修正とあります。 いままでのmpdはDSDに対応してはいたものの、1曲が終わるとそこでフリーズしてしまうバグがあり、実際にDSDで使おうとしたときには、修正パッチをあてたmpd-dsdを使わなければならなかったようです。

 

とは言っても、私はDSDに対応したUSB-DACを持っていませんので確認は出来ておりません。 PCM5102はDSDに対応していないのでIrBerryDACもDSDは鳴らせません。 

 

 

バイナリは、こちらからどうぞ。

Volumio1.4PI_mpd0.18.16_lcd.7z

7zipにより超圧縮を行なっています。 専用の解凍TOOLが必要です。

 

ちなみに、I2C-LCDが繋がっていない場合、volumioが起動し終えたときから約10秒間、LCDの初期化を試みて、すべてNGとなるとlcd_ctrl.pyスクリプトは自身を終了して、無駄なCPU負荷をかけないように作りました。 ですので、LCDなしでも上記バイナリは問題なく使用できます。 

 

 

にほんブログ村 PC家電ブログ PCオーディオへ にほんブログ村
ブログランキングに参加中です。 めざせ1位! 
もしよろしければ「ぽちっと」お願いします。 



« RaspberryPi + Volumio LCD リベンジ(2) | トップページ | RaspberryPi + Volumio + LCDを実現したプログラム説明 »

Raspberry Pi」カテゴリの記事

コメント

早速の対応ありがとうございます。
手持ちのI2Cタイプの液晶で試そうとしましたが、I2Cアドレスが違うことが判明し、急遽、ストロベリーリナックスに注文しました。
液晶が届くのが楽しみです。
本当にありがとうございました。

イワンさん

I2Cアドレスは、簡単に変えられるようにしてあります。
そういえば、プログラムソースの説明をしていなかったかも。。。

近いうちにざっくりとした説明をしようと思います。

とりあえずI2Cのアドレスと、コントラストの調整だけ、、

class i2c(object):
def __init__(self):
self.bus = smbus.SMBus(1)
self.addr = 0x3e # LCD i2s address
self.contrast = 0x78 # LCD contrast
self.state = STOP # state
self.shift = 0 # Scroll shift value
self.retry = 20 # retry for init LCD
self.old_line1 = " " # old str 1
self.old_line2 = " " # old str 2
self.init()

とI2Cクラスのイニシャライズで、アドレスとコントラストを定義しています。
ここを修正するだけで、使用するLCDのアドレスにあわせることができます。

C言語とちがってコンパイルする必要がなく、テキストファイルを修正する
だけで、プログラムを変更できるのがスクリプトのいいところと思います。
どうぞご活用ください。

ありがとうございます。
推奨のLCDでは、無事に表示できました。

アイテンドの格安の SPLC792-I2C-WG http://www.aitendo.com/product/9957
 で、チャレンジもしていますが、そちらでは表示できておりません。

I2Cアドレスは、NETで調べたところ、同じで0x3eで間違いないみたいです。
オシロで通信状況をはかると、ACKを返す時のレベルが2V程度と高いので、
ACKとみなされてなく、STOPコンデションを発行されてます。
通常で考えれば、アドレス違いとも思われるのですが、
0X3c,0X3d,0X3fのアドレスパターンでも試してみましたが
すべて同じ状況です。なぜ、ACKの時のレベルが2V近くまでしか落ちないか
不思議です。
バスのプルアップも10kΩから100kΩにあげてみましたが、レベル的には変わらなかったのも
不思議です。
ちなみに、液晶側のリセットラインを、GNDに落として、液晶がACK応答をしない状況にすると、
確実に、ACK時のレベルは3V程度のHレベルなので、確実に応答はしてきてないのは確認できてます。

なぜ、中途半端なACKレベルになるのか???
どのアドレスでも、中途半端なレベル???

同じ、液晶があるので、別のでも同じ症状???

不思議な状態で悩んでおります。

推奨の液晶であれば表示するのですが、小型化したくて、チャレンジしてます。

イワンさん

aitendoのI2C-LCD基板は、ACKレベルが落ちきれないんですね。
プルアップ抵抗は、RaspberryPiの基板上にあります。1kΩです。
その抵抗値を変えないといけないのかもしれません。
ただ、I2Cのプルアップ抵抗値を大きな値にすると、通信速度を
遅くする必要があったりと、若干厄介です。

http://6218.teacup.com/nwelec/bbs/t1/l50
こちらにUPしましたが、秋月の有機ELも動作しています。
I2Cアドレス以外に、コマンドも少し変えなければいけません。
いずれにしてもI2C表示器は配線が少なくてすっきりしています。

たかじんさん、ありがとうございます。
ラズベリーパイの回路図を良く見ると、
SDAのラインはR1の1.8kΩでプルアップされておりました。
この抵抗を、10kΩに交換したところ、無事に表示されました。
本当にありがとうございました。
(さすがに1005サイズの抵抗は手持ちがなく、1608サイズを無理やり載せました。)
ACKのレベルは0.8V程度になりました。

1.8kΩをシンクできないなんて、非力な液晶ですね!・・・
と、思ってSPLC792Aのデータシートを見たら、
VOLが1mAで0.4Vでした。
1.8kΩなら2V程度でても、規格内かなと・・・
でも、10kΩで0.8Vは高いですよね???

まぁ、375円で表示できるので、良かったです。
(自力でR1を交換される方は、自己責任で!)

イワンさん

あれ? 私が見た回路図だと1kΩと書いてあったのですが。。
でも、うまく動作してよかったです。
1.8kΩを「L」に落としきれないってあまりに非力ですね。

1005チップはさすがにつらいです。そこに1608を乗せるのは至難の業と思います。 スゴイ腕前です。


コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/587107/60439876

この記事へのトラックバック一覧です: volumio + mpd-0.18.16 LCD バイナリ:

« RaspberryPi + Volumio LCD リベンジ(2) | トップページ | RaspberryPi + Volumio + LCDを実現したプログラム説明 »

サイト内検索

Sponsors link

2017年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

最近のトラックバック

無料ブログはココログ