Raspberry PiのI2Cのクロック(baudrate)を変更したい.
Raspberry Pi2 model Bを使用しています.I2C接続のLCD (ACM1602NI)を接続し,ディスプレイに文字を表示させたいのですがうまく行きません.
このLCDを動作させるにはクロックを50KHzに抑えないと正常に動作しないのですが(RPiのデフォルトは100kHz),どうやらその設定がうまく行っていないようです.
i2c-tools,python-smbusはインストール済みで,raspi-configによりI2Cを有効にしています.また/etc/modulesに「i2c-dev」を追記しています.
ネット上のブログや書籍を参考に,
# sudo modprobe -r i2c-bcm2708
# sudo modprobe i2c-bcm2708 baudrate=50000
を実行したり,/etc/modprobe.d/i2c.confを
options i2c_bcm2708 baudrate=50000
のように編集しrebootしたのですが,
# /usr/sbin/i2cset -y 1 0x50 0x00 0x01
Error: Write failed
のようなエラーが起きます.また,pythonで動かそうとすると「IOError: [Errno 5] Input/output error」というエラーになります.
以下のコマンドでモジュールの起動を確認すると,
# dmesg | grep i2c
[ 4.490547] bcm2708_i2c_init_pinmode(1,2)
[ 4.500858] bcm2708_i2c_init_pinmode(1,3)
[ 4.511243] bcm2708_i2c 3f804000.i2c: BSC1 Controller at 0x3f804000 (irq 79) (baudrate 100000)
[ 7.194331] i2c /dev entries driver
とありbaudrateが50000になっていないのが問題なのかなあと推測したのですがいかがでしょうか.
解決策等あればご教示いただければと思います.
必要な情報があればお申し付けくださいませ.
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
追加したってことはつけてなかったのですよね?
内部でプルアップされているみたいなのでつけないほうがいいみたいです。
電源は、ラズパイではなく液晶のほうを入れな直したほうがいいみたいです。
http://avr.gawakaru.jp/archives/735
また、他のI2Cの機器(センサー)など持っていたらちゃんと通信できているかなど確認するといいかもしれません
No.1
- 回答日時:
i2cdetectなどのコマンドでreadしてませんか?
内臓のEEPROMのアドレスとかぶってしまうため動作しなくなるそうです。
http://qiita.com/wtakuo/items/e7b4cc14ca55125eacf0
あと、プルアップ抵抗の値が適切でないと通信がうまくいかないこともあるみたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) RaspberryPi Pico MicroPythonでLCDを使うことについて 1 2023/04/20 09:04
- その他(プログラミング・Web制作) I2C接続のLCDディスプレイを使う 2 2023/05/01 17:15
- その他(プログラミング・Web制作) LCD ディスプレイを Raspberry Pi Pico に接続する 1 2023/04/25 16:31
- UNIX・Linux raspberry piを使ったWebサーバー制作をしています、接続するネットワークを変更したときに 1 2023/01/09 15:57
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- その他(プログラミング・Web制作) MicroPythonコード 2 2023/05/11 08:53
- その他(OS) raspberry pi 4でのopenmediavault6についての質問 1 2022/05/15 16:21
- 数学 教えてくださいいい 1辺がacmの立体Aと、1辺がbcmの立体Bがある。立体Aの表面積と立体Bの表面 4 2022/06/11 16:57
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- その他(プログラミング・Web制作) VS codeを使って、ラズパイ Picoを動かせる簡単な方法 1 2023/04/27 13:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
空きIPアドレスを探す方法
-
IPアドレスだとPingが通るのに...
-
-bash: ftp: コマンドが見つか...
-
コマンドプロンプトから別マシ...
-
他のログイン中のttyをリモート...
-
TERATERMを使ってのSSH接続がで...
-
テストモード
-
IPアドレスからその存在する機...
-
「Ctrl + C」が使用できない
-
traceroute の H! について
-
網掛けを、デフォルトで、薄い...
-
Solarisでok boot diskができな...
-
Windows Updateの0x80072EFDエラー
-
バッチファイルをダブルクリッ...
-
端末(ターミナル)から端末を...
-
makeコマンド
-
CentOSのGUI操作ログ
-
ネームサーバからの応答なし。...
-
expectを使用しない自動PW入力方法
-
デュアルモニターでスクリーン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
空きIPアドレスを探す方法
-
IPアドレスだとPingが通るのに...
-
コマンドプロンプトから別マシ...
-
-bash: ftp: コマンドが見つか...
-
expectを使用しない自動PW入力方法
-
「Ctrl + C」が使用できない
-
端末(ターミナル)から端末を...
-
コマンドプロンプトからリモー...
-
Linuxのswap領域の表示について
-
CentOSのrebootがきかない
-
他のログイン中のttyをリモート...
-
Ubuntuの端末が起動できません
-
TERATERMを使ってのSSH接続がで...
-
CentOS7 が起動できない
-
cshにてファイル名補完の設定の...
-
Linuxでグラフィックメモリを知...
-
no valid signature found
-
bashのコピー&ペーストの方法を...
-
デュアルモニターでスクリーン...
-
ハードディスクからMS-DO...
おすすめ情報
neorg様
回答をありがとうございます.
i2cdetectを実行しなくてもこのようなエラーが発生しました.
また,その後誤ってi2cdetect実行してしまいましたが,RPiの電源を入れな直して対処しました.(正しい対処かわかりませんが...)
プルアップ抵抗に関しては
http://100year.cocolog-nifty.com/blog/2012/05/i2 …
http://seppina.cocolog-nifty.com/blog/2014/09/pi …
こちらのブログを参考に10kΩの抵抗を追加しましたが依然動作しません.
よろしくお願いします.