フォト
2017年12月
          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
31            
無料ブログはココログ

« LEDドットマトリックスを使ったメッセージ表示デバイスを作成中(4) | トップページ | Arduino Pro mini Pro Mini 3.3V/5V Adjustable 16MHzの調査 »

2016年11月 4日 (金)

ArduinoによるI2C EEPROMのエミュレーション (6)

(2016/12/23 更新・追記)

以前作成したIchigoJam用のEEPROMエミュレーションの小型化を検討し、OpenLogが
使えるのではないかと思い、OpenLogのクローン製品を購入してチャレンジしました。

Aliexpressでは$6.80位で購入できます。

Aliexpress

そして、届いた製品はこんな感じです。

Dscn5974

Dscn5975

基板の片面にAtmega328と水晶発振子 16MHz等が搭載、その裏はmicroSDカードスロットです。

このOpenLogは名称の通りmicroSDカードにシリアル通信経由のログを記録することに
特化したモジュールです。
全ての端子の利用は出来ず、microSDカードスロットの他にシリアル通信、SPI通信しか利用出来ません。
I2Cが利用出来ないのはちょっと残念ですね。

一応、Arduinoのブートローダーが乗っており、スペック的にはArduino Pro miniのように
スケッチの書込みが可能なはずです。


私が目的とするEEPROMエミュレーションにはI2Cが必要なのですがこのままでは
利用出来ませんので強引に信号を取り出します。

Dscn5977

実はこの結線間違てます。詳細は後ほど説明します。 ^^


ユニバーサル基板上のレイアウトを決め、早速実装にかかります。

Photo

出来上がりはこんな感じです。

Dscn5983

IchigoJamに乗せるとこんな感じです。いい感じ!

Dscn5981

スケッチの書込みにはブートローダの書込みが必要

さて、シリアル通信経由でスケッチを書込みましょう。
やってみると、書き込みエラーが発生して書き込みできず。

デフォルトで乗っているOpenLogのプログラムでのシリアル通信は出来ているので、
シリアル接続には問題ないと判断し、ブートローダーが怪しいと思い、
Arduino IDE 1.6.9環境にてブートローダーを書き換えたところ、問題なくスケッチ書き込みhが出来るようになりました。

デフォルトのブートローダーが古かったようです。
ブートローダーの書込みはシリアル経由では出来ないので、SPI接続にて行います。
ラベルの無いSPI端子は次のような割り付けになっています。

MISOの穴はmicroSDカードスロットの樹脂が被さっており、ピンセットとカッターで
樹脂部を削って穴を確保しました。

Spi

書込みのために一時的にSPI端子を仮はんだ付けして端子を確保しました。
書込み機器としてUSBtynyISPを使いました。

Dscn5993

これで、ArduinoPro miniとしてスケッチ書き込みが出来るようになりました。

Ide

早速接続して、動作確認。

Dscn5986

プログラムを保存しようとするとエラーが発生して保存できません。

Ioerror

デバッグ機能にてSDカードは認識しているがI2C通信が出来ていない模様。
調べると、I2Cの信号取り出しの結線が1ピンずれてました(下図が正しいピンです)。

I2c

半田付けを取り除いて、修正を試みましたが無理でした。
ここで諦めるのもなんなので、OpenLogクローンを別に買うことにしました。

この失敗作はシリアル通信、SPI通信、ANA4(SDA)は使えるのでSPIを使う表示機器の
制御実験にても使うことにします。

作業は注文したOpenLogクローンが届くまで中断です。

(2016/12/23 追記)

再チャレンジにて完成しました。
問題なく動作しました。

Dscn6285

Dscn6283


« LEDドットマトリックスを使ったメッセージ表示デバイスを作成中(4) | トップページ | Arduino Pro mini Pro Mini 3.3V/5V Adjustable 16MHzの調査 »

arduino」カテゴリの記事

コメント

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: ArduinoによるI2C EEPROMのエミュレーション (6):

« LEDドットマトリックスを使ったメッセージ表示デバイスを作成中(4) | トップページ | Arduino Pro mini Pro Mini 3.3V/5V Adjustable 16MHzの調査 »