ATtiny85でI2Cスキャナ
週末に書いたATtiny85でI2Cスキャナを動かす記事をアップしました。
https://me-yoh.com/making_i2c-scanner_w_attiny85
色々と解説して頂いてありがとうございます。
しかし、Main 以外のブランチは不具合がありますね。
https://me-yoh.com/making_i2c-scanner_w_attiny85
色々と解説して頂いてありがとうございます。
しかし、Main 以外のブランチは不具合がありますね。
Re: TinyI2CScanner_2
ATtiny85も試すと書いてらっしゃったので、覚えているうちに説明を書き足しておきました。
あちらの基板はDIPでもSOP8でも安い方をマウント出来るように設計されています。スイッチは通常は交互に表示して、ボタンを押すと止まるというようにしたのかと思っていました。
#define USE_U8X8 での表示方法はなかなかの割り切りだと思います。
i2cscanner3.inoはSH1106とSSD1306を自動判別するようにしました。
あちらの基板はDIPでもSOP8でも安い方をマウント出来るように設計されています。スイッチは通常は交互に表示して、ボタンを押すと止まるというようにしたのかと思っていました。
#define USE_U8X8 での表示方法はなかなかの割り切りだと思います。
i2cscanner3.inoはSH1106とSSD1306を自動判別するようにしました。
TinyI2CScanner_2
記載されているとおりに書き換えたら、Arduio IDEを使ってATtiny85でも動きました。
(最初1つ#define を忘れていてメモリ不足で動きませんでしたが・・・)
SH1106でも動作しました。
https://oshwlab.com/avaldebe/TinyI2CScanner-1dc11d8069044e56a76f1dfd6e49ad50
の記事は見ていたのですが、回路図を見るとU1とU4でATtiny85を2つ使っている(ように見える)ので試しませんでした。(実際は1個ですね。)
タクトスイッチを、この記事のとおりにつないだら動作しません。(ON Low)
siliconvalley4066 さんが書かれている回路図が正しいですね。(ON High)
(最初1つ#define を忘れていてメモリ不足で動きませんでしたが・・・)
SH1106でも動作しました。
https://oshwlab.com/avaldebe/TinyI2CScanner-1dc11d8069044e56a76f1dfd6e49ad50
の記事は見ていたのですが、回路図を見るとU1とU4でATtiny85を2つ使っている(ように見える)ので試しませんでした。(実際は1個ですね。)
タクトスイッチを、この記事のとおりにつないだら動作しません。(ON Low)
siliconvalley4066 さんが書かれている回路図が正しいですね。(ON High)
TinyI2CScanner
TinyI2CScannerの記事を拝見しました。
驚きです。
「つまりは4年前にすべて解決していたんですね。」のご意見に賛同です。
急ぎでArduino Nano に1.3インチのOLEDをつないで試してみたら動作しました。
(アドレス変換をスイッチで切り替えられるのは便利です。)
あとは、秋月電子にATtiny85を注文したので週末にでも試してみます。
(皆様にご協力頂いたのに、申し訳ない気持ちです。)
驚きです。
「つまりは4年前にすべて解決していたんですね。」のご意見に賛同です。
急ぎでArduino Nano に1.3インチのOLEDをつないで試してみたら動作しました。
(アドレス変換をスイッチで切り替えられるのは便利です。)
あとは、秋月電子にATtiny85を注文したので週末にでも試してみます。
(皆様にご協力頂いたのに、申し訳ない気持ちです。)
Re: I2Cスキャナ総集編を投稿
記事を拝見しました。お疲れさまでした。
i2cscanner3.inoの方はSH1106用にも出来るようにしました。
基板の方はATtiny44を買う予定が無いので遠慮しておきます。
i2cscanner3.inoの方はSH1106用にも出来るようにしました。
基板の方はATtiny44を買う予定が無いので遠慮しておきます。
I2Cスキャナ総集編を投稿
大変お世話になった「I2C スキャナ」総集編の原稿をブログにアップしました。
色々と教えてくださって、ありがとうございます。
ちなみに、基板も配布していますが使いますか?
色々と教えてくださって、ありがとうございます。
ちなみに、基板も配布していますが使いますか?
Re: TinyI2CScanner
お時間のある時に教えてください。
GitHUBのリンク先のファイルには回路図が見当たらなかったので、プログラム内を一通り見たのですが、セカンド I2C の記述が見当たりませんでした。(私の見落とし?)
使用している TinyWireM.h は1つのI2Cしか扱えないような気がするのですが・・・
8ピンしかないATtiny85でセカンドI2Cが使えることが不思議なのですが、実際に動くのでしょうか?
(自宅にATtiny85が無いので入手したら試してみます。)
GitHUBのリンク先のファイルには回路図が見当たらなかったので、プログラム内を一通り見たのですが、セカンド I2C の記述が見当たりませんでした。(私の見落とし?)
使用している TinyWireM.h は1つのI2Cしか扱えないような気がするのですが・・・
8ピンしかないATtiny85でセカンドI2Cが使えることが不思議なのですが、実際に動くのでしょうか?
(自宅にATtiny85が無いので入手したら試してみます。)
Re: TinyI2CScanner
>ATtiny85用に変更したi2cscannerがGitHUBにありました。
あれ?日付を見ると7年前ですから、オリジナルが出てすぐに修正されていたのですね。
(本家の「elektor MAG」誌ユーザフォーラムには何の記載もありませんでしたが・・・)
他にも、Arduino 版に改修された方がいますが、2系統が動いている例は見つかりませんでした。
改修されたのは名前からするとイタリアの方でしょうか?
あれ?日付を見ると7年前ですから、オリジナルが出てすぐに修正されていたのですね。
(本家の「elektor MAG」誌ユーザフォーラムには何の記載もありませんでしたが・・・)
他にも、Arduino 版に改修された方がいますが、2系統が動いている例は見つかりませんでした。
改修されたのは名前からするとイタリアの方でしょうか?
re:[37]と[36]の補足
GitHUBのTinyI2CScannerのmain.cppのコード見ました。
fill|= 0b10000000; などとやっていて対策されてますね。
あと、私のOLEDが全く動かなかった問題ですが、I2Cバスのレベル不足が原因だったような気がします。
以下のような記事を書いてるのにすっかり忘れてました。
http://radiopench.blog96.fc2.com/blog-entry-902.html
〃 /blog-entry-911.html
fill|= 0b10000000; などとやっていて対策されてますね。
あと、私のOLEDが全く動かなかった問題ですが、I2Cバスのレベル不足が原因だったような気がします。
以下のような記事を書いてるのにすっかり忘れてました。
http://radiopench.blog96.fc2.com/blog-entry-902.html
〃 /blog-entry-911.html
TinyI2CScanner
ATtiny85用に変更したi2cscannerがGitHUBにありました。
このtinyFontブランチでは塗りつぶしバグが修正されていました。
縦横は元のままです。
ここから始めた方が楽だったな。
このtinyFontブランチでは塗りつぶしバグが修正されていました。
縦横は元のままです。
ここから始めた方が楽だったな。