エントリー

aitendoのFSTN液晶モジュール表示確認

最初atmega168しか3.3V版を用意してなかったので,このままu8glibのサンプルを実行しようとしてらメモリが足りなかった

なのでatmega328の3.3Vを作ることに・・・

atmega328

いつのもように3.3版にしたuncompatinoを使う(初期化方法はこちら

uncompatino

3.3V版にしてブートローダ書き込み後FSTN液晶モジュールを取り付け表示確認

接続

 5    LEDA       +3.3V(バックライト)
 6    VSS        GND
 7    VDD        +3.3V
             (arduino)            (ATMEGA328P)
 8    SCK        13                    19
 9    SDA        11                    17
10    RS          9                    15
11    RST  Reset or +3.3V            +3.3V
12    CS         10                    16

サンプルプログラム

#include "U8glib.h"

U8GLIB_MINI12864 u8g(10, 9);

void draw(void) {
  // graphic commands to redraw the complete screen should be placed here
  u8g.setFont(u8g_font_unifont);
  //u8g.setFont(u8g_font_osb21);
  u8g.drawStr( 0, 22, "Hello World!");
}
void setup(void) {
  u8g.setContrast(190);
}
void loop(void) {
  // picture loop
  u8g.firstPage();
  do {
    draw();
  } while( u8g.nextPage() );
 
  // rebuild the picture after some delay
  delay(50);
}

サンプル

他のu8glibサンプルも試して確認

キーとなるのは以下の2箇所

デバイス指定

U8GLIB_MINI12864 u8g(10, 9);

コントラスト

void setup(void) {
    u8g.setContrast(160);
}

ラジオペンチさんとか参考にさせていただきました

Windows10にarduinoの開発環境をセットアップ

Windows10にarduinoの開発環境をセットアップ

再セットアップとなるが展開セットアップなのでバックアップそのものが利用できる

Arduino IDE

これまで「arduino-1.0.5-r2」を使用し,今後「arduino-1.6.5-r5」を利用しようとセットアップしておいたが,すでに「arduino-1.6.7」があったので結局新しいバージョンをセットアップすることになる

①arduino-1.6.7-windows.zipをサイトからダウンロードし展開

起動してみる

②Uncompatinoと秋月Arduinoマイコンキットをハード定義に追加

モデルとCPUで階層化できるようになったようだ(つまりモデル×CPUタイプ分の全部を記述しなくても良くなった)

以下を「(セットアップフォルダ)\hardware\arduino\avr\boards.txt」に追加

##############################################################

uncompatino.name=Uncompatino

uncompatino.upload.tool=avrdude
uncompatino.upload.protocol=arduino

uncompatino.bootloader.tool=avrdude
uncompatino.bootloader.unlock_bits=0x3f
uncompatino.bootloader.lock_bits=0x0f

uncompatino.build.board=AVR_UNO
uncompatino.build.core=arduino
uncompatino.build.variant=standard

## Uncompatino (5V, 16MHz) /w ATmega328
## ------------------------------------
uncompatino.menu.cpu.16MHzatmega328=ATmega328 (5V, 16 MHz)

uncompatino.menu.cpu.16MHzatmega328.upload.maximum_size=32256
uncompatino.menu.cpu.16MHzatmega328.upload.maximum_data_size=2048
uncompatino.menu.cpu.16MHzatmega328.upload.speed=115200

uncompatino.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xff
uncompatino.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xde
uncompatino.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x05
uncompatino.menu.cpu.16MHzatmega328.bootloader.file=optiboot/optiboot_atmega328.hex

uncompatino.menu.cpu.16MHzatmega328.build.mcu=atmega328p
uncompatino.menu.cpu.16MHzatmega328.build.f_cpu=16000000L

## Uncompatino (5V, 16MHz) /w ATmega168
## ------------------------------------
uncompatino.menu.cpu.16MHzatmega168=ATmega168 (5V, 16 MHz)

uncompatino.menu.cpu.16MHzatmega168.upload.maximum_size=14336
uncompatino.menu.cpu.16MHzatmega168.upload.maximum_data_size=1024
uncompatino.menu.cpu.16MHzatmega168.upload.speed=19200

uncompatino.menu.cpu.16MHzatmega168.bootloader.low_fuses=0xff
uncompatino.menu.cpu.16MHzatmega168.bootloader.high_fuses=0xdd
uncompatino.menu.cpu.16MHzatmega168.bootloader.extended_fuses=0x00
uncompatino.menu.cpu.16MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex

uncompatino.menu.cpu.16MHzatmega168.build.mcu=atmega168
uncompatino.menu.cpu.16MHzatmega168.build.f_cpu=16000000L

## Uncompatino (3.3V, 8MHz) /w ATmega328
## -------------------------------------
uncompatino.menu.cpu.8MHzatmega328=ATmega328 (3.3V, 8 MHz)

uncompatino.menu.cpu.8MHzatmega328.upload.maximum_size=32256
uncompatino.menu.cpu.8MHzatmega328.upload.maximum_data_size=2048
uncompatino.menu.cpu.8MHzatmega328.upload.speed=57600

uncompatino.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xe2
uncompatino.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xda
uncompatino.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0x05
uncompatino.menu.cpu.8MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex

uncompatino.menu.cpu.8MHzatmega328.build.mcu=atmega328p
uncompatino.menu.cpu.8MHzatmega328.build.f_cpu=8000000L

## Uncompatino (3.3V, 8MHz) /w ATmega168
## -------------------------------------
uncompatino.menu.cpu.8MHzatmega168=ATmega168 (3.3V, 8 MHz)

uncompatino.menu.cpu.8MHzatmega168.upload.maximum_size=14336
uncompatino.menu.cpu.8MHzatmega168.upload.maximum_data_size=1024
uncompatino.menu.cpu.8MHzatmega168.upload.speed=19200

uncompatino.menu.cpu.8MHzatmega168.bootloader.low_fuses=0xe2
uncompatino.menu.cpu.8MHzatmega168.bootloader.high_fuses=0xdf
uncompatino.menu.cpu.8MHzatmega168.bootloader.extended_fuses=0x00
uncompatino.menu.cpu.8MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex

uncompatino.menu.cpu.8MHzatmega168.build.mcu=atmega168
uncompatino.menu.cpu.8MHzatmega168.build.f_cpu=8000000L

##############################################################

akizuki.name=Akizuki ATmega168/328

akizuki.upload.tool=avrdude
akizuki.upload.protocol=arduino

akizuki.bootloader.tool=avrdude
akizuki.bootloader.low_fuses=0xFF
akizuki.bootloader.unlock_bits=0x3F
akizuki.bootloader.lock_bits=0x0F

akizuki.build.f_cpu=16000000L
akizuki.build.board=AVR_DUEMILANOVE
akizuki.build.core=arduino
akizuki.build.variant=standard

## akizuki ATmega328
## ---------------------------------------------
akizuki.menu.cpu.atmega328=ATmega328

akizuki.menu.cpu.atmega328.upload.maximum_size=30720
akizuki.menu.cpu.atmega328.upload.maximum_data_size=2048
akizuki.menu.cpu.atmega328.upload.speed=57600

akizuki.menu.cpu.atmega328.bootloader.high_fuses=0xDA
akizuki.menu.cpu.atmega328.bootloader.extended_fuses=0x05
akizuki.menu.cpu.atmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

akizuki.menu.cpu.atmega328.build.mcu=atmega328p

## akizuki ATmega168
## ---------------------------------------------
akizuki.menu.cpu.atmega168=ATmega168

akizuki.menu.cpu.atmega168.upload.maximum_size=14336
akizuki.menu.cpu.atmega168.upload.maximum_data_size=1024
akizuki.menu.cpu.atmega168.upload.speed=19200

akizuki.menu.cpu.atmega168.bootloader.high_fuses=0xdd
akizuki.menu.cpu.atmega168.bootloader.extended_fuses=0x00
akizuki.menu.cpu.atmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex

akizuki.menu.cpu.atmega168.build.mcu=atmega168

##############################################################

③U8glibを利用可能にする

サイトから「U8glib for Arduino」(u8glib_arduino_v1.18.1.zip)をダウンロードして,「(環境設定のスケッチブックの保存場所)\libraries」下に展開する

他の方法もあるようだが管理人はこの方法でライブラリを登録している

(※)「E:\AVR\workspace\libraries」となる

WinAVR(and avrdude-serjtag)

avrdude.exeをGUIラッパー「avrdude-GUI.exe」で動作させる

これを利用してブートローダー・ヒューズビットの書き込みを行う

aitendoで購入したものを組み立てる

ほったらかしにしてたaitendoで購入したものを確認

FSTN液晶モジュール

まずは表示の仕方を確認しないといけない

FSTN液晶モジュール

袋から取り出して,なかなかコンパクト

サイズ

資料が無いのでピンの配置くらい記録しておく

裏

ピンを付けるのに先日購入したUSB半田ごてを使用してみた

ピン付け

余談だが半田ごてがコンパクトで使い勝手が良い(このサイズで普通の20Wクラスの半田ごてがあれば良いな)

この後3.3V版arduinoでu8glibというライブラリを使って確認なのだがIDEのセットアップが(Windows10で)まだだった

あちゃんでいいの(実装済み)

お試しで購入したため何に使うか考えてない

あちゃんでいいの

袋から出してみて,表側

表

裏側にはRとCが実装されている(回路図

裏

とりあえずブレッドボード上での実験用に制作してみようとあり合わせのパーツを集め

制作

サクッと制作終わり・・・だが基盤に合うタクトスイッチが無いためリセットボタンは未実装

制作

USB-TTL変換キット

USB-TTL変換は他にも持っているので,これは「あちゃんでいいの」専用にしようかと考えてる

USB-TTL

取り出して,中身のパーツ

中身

これもサクッと制作したが・・・実は肝心のCH340Gを取り付ける方向を間違え廃品となる(悲)

完成

こんな感じで接続したのだけど動作しなかった

接続

記憶用に購入品のスペック

紙類は捨ててしまうので記録用にスキャンして置いておく

USB接続半田ごて

USB半田ごて

非接触温度計

非接触温度計

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

Re:NOAA受信システム復旧
2025/06/11 from admin
Re:NOAA受信システム復旧
2025/06/11 from とおりすがり
Re:SDRplay社RSP1クローンを購入
2025/05/25 from 匿名希望
Re:Mozilla FirefoxではNHKプラスを再生できない件
2025/05/09 from Donabeyaki
Re:ATS-25を作製する
2025/03/23 from kazu

過去ログ

Feed