DegiNaFuda
マイコン(ATMEGA328P)内蔵の1.3インチOLED-DegiNaFuda-
(取り急ぎにつき簡単な概要を先に記します。2020/1/26)
本体は8MhzのArduinoブー トローダです。
ライター等で書き込む際は内蔵8Mhzブートローダーを選択してください。
書き込み時には必ず確認してください。
(1Mhzのブートローダでも稼働しますマイコンとOLEDの消費電力を比べるにあたり、1Mhzと8Mhzの稼働時間はさほど変わりませんでした。)
(2/1触りを公開しました。時間がなくて少しづつになり申し訳ありません。)
裏面スイッチについて
左側がマイコン、右側がOLEDの電源を管理しています。
(電池ケースを上を見た場合)
書き込み時には必ず右側のスイッチをオフにしてください。
静止画を表示させるだけならば左側のスイッチをオフにする事で稼働時間が延びます。(マイコンON時約4h,OFF時20h程度)
マイコンとOLEDはI2Cで接続されています。
また、OLEDのドライバはSSD1306です。
本製品のサンプルはU8Glibを使用しています。
また、AdafruitのOLEDライブラリも使用できます。
本製品にU8Glibを使用したU8GlibはAdafruitと比べ軽いため使用しました。
本製品で最初から書き込みされているプログラムはU8glibのサンプルスケッチの"Graphicstest"です。
U8glibはプログラムの冒頭でディスプレイのドライバを選択する必要があります。
本製品はAtmega328PとSSD1306がI2Cで接続されています。
該当する組み合わせの//を消し有効にしてください。
以下は一例です(graphicsTestを例に挙げていますが、他のサンプルプログラムだとドライバの指定に関する行番号が異なる場合があります)。
(上の様に//を消してください)
本製品のISP端子(書き込み端子)について
(電池ケースを上と見た場合)
Arduinoとの接続は下記のピンを接続してください。
OLED - Arduino
RESET - D10
MOSI(5) - D11
MISO(3) - D12
SCK(2) - D13
VCC - VCC
GND - GND
製品側にリセット回路が搭載されていますのでライターから直接引き出すだけで書き込みが出来ます。
書き込む際はツール/ボードから
Atmega328 on a breadboard(8MHz internal clock)を選択してください。
スイッチについて左右のスイッチが以下に対応してます。
左:INT0(Arduinoのデジタルピン2)
右:INT1(Arduinoのデジタルピン3)
プルアップはされていないので事前にプルアップを宣言してください。