「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



秋月のミニG--LCDモジュール。
http://akizukidenshi.com/catalog/g/gK-07007/

この間ぶっ壊っしゃったので、液晶部分だけ交換して、
改めて動かしてみる。



配線は、aitendoで買ったST7565搭載FSTN液晶
http://www.aitendo.com/product/5466
より、バックライトがない分シンプル。

アップにすると、こういう風な表示。



お決まりの0~127のビットパターン。縦48ドット
なので、6行だけ表示される。6行しか表示されて
ないけど、モジュール内部には64行分のバッファ
が搭載されているので、スクロールさせるとそれが
ちゃんと表示される。(全8行分)

たいした内容じゃないけど、一応Arduino用スケッチ。

/******************************/
/* G^LCD AQM1248A test sketch */
/******************************/

#define SDI 9
#define SCLK 8
#define RS 7
#define RESET 6
#define CS 5

#define led 13


void command_out(byte data) {
  digitalWrite(CS,LOW);
  digitalWrite(RS,LOW);
  shiftOut(SDI,SCLK,MSBFIRST,data);
  digitalWrite(CS,HIGH);
}

void data_out(byte data) {
  digitalWrite(CS,LOW);
  digitalWrite(RS,HIGH);
  shiftOut(SDI,SCLK,MSBFIRST,data);
  digitalWrite(CS,HIGH);
}

void init_lcd() {
  pinMode(SDI,OUTPUT);
  pinMode(SCLK,OUTPUT);
  pinMode(RS,OUTPUT);
  pinMode(RESET,OUTPUT);
  pinMode(CS,OUTPUT);
  
  digitalWrite(SCLK,HIGH);  // init
  digitalWrite(CS,HIGH);  // init
  digitalWrite(RS,HIGH);  // init
  
  digitalWrite(CS,LOW);
  digitalWrite(RESET,LOW);  // chip reset
  delay(100);
  digitalWrite(RESET,HIGH);
  digitalWrite(CS,HIGH);
  
  command_out(0xAE);  // display = OFF
  command_out(0xA0);  // ADC = normal
  command_out(0xC8);  // Common output = reverse
  command_out(0xA3);  // bias = 1/7

  command_out(0x2C);  // power control 1
  delay(50);
  command_out(0x2E);  // power control 2
  delay(50);
  command_out(0x2F);  // power control 3
  delay(50);

  command_out(0x23);  // Vo voltage resistor ratio set
  command_out(0x81);  // Electronic volume mode set
  command_out(0x1C);  // Electronic volume value set

  command_out(0xA4);  // display all point = nomal
  command_out(0x40);  // display start line = 0
  command_out(0xA6);  // display nomal/reverse = nomal
  command_out(0xAF);  // display = on
}

void select_page(int page) {
  command_out(0b10110000 | (page & 0b00001111));
}

void select_column(int col) {
  command_out(0b00010000 | ((col >> 4) & 0b00001111) );
  command_out(0b00000000 | (col & 0b00001111) );
}

void set_start_line(int line) {
  command_out(0b01000000 | (line & 0b00111111));
}

void screen_reverse(int scr) {
  command_out(0b10100110 | (scr & 0b00000001));
}

void screen_clear() {
  for (int i=0; i<8; i++) {
    select_page(i);
    select_column(0);
    for (int j=0; jvoid setup() {
  pinMode(led,OUTPUT);
  digitalWrite(led,HIGH);
  init_lcd();
  digitalWrite(led,LOW);
  
  delay(1000);
  
  select_page(0);
  select_column(0);
  set_start_line(0);
  
  screen_clear();
  
  for (int i=0; i<8; i++) {
    select_page(i);
    select_column(0);
    digitalWrite(led,i % 2);
    for (int j=0; jdelay(1);
    }
  }

  screen_clear();
}


void loop(){
  static int r = 0;
  int x;
  int y;
  int v;
  
  for (int i=0; irandom(128);
    y = random(8);
    v = random(256);
    
    select_page(y);
    select_column(x);
    
    data_out(v);
//    delay(1);
  }
  
  r++;
  digitalWrite(led,r%2);
  screen_reverse(r);

}


基本的には、秋月ミニG-LCD液晶に書いてあった
初期化シーケンスをほぼ愚直に書いてみただけ
の処理。コントラストとかもそのまま。

(このスケッチで、秋月のミニG-LCDも、aitendo
 のFSTN液晶も、ドッチも表示可能)


adafruitのST7565搭載液晶用のArduinoライブラリ
だと、やっぱりこの秋月液晶でも上下が入れ替わったり、
しちゃうのは同じ。

同じST7565搭載液晶でも、adfruit製のものは、
VRAMのマッピングとかが異なるのかなぁ?


ちなみに、オイラのこのスケッチでは、単に
ビットイメージを書き込んで表示しているだけ
なので、このままでは全然使い物にはならない。
(起動シーケンスとか、リセット周りとかを
使いまわし出来る程度)

一方、adafruitのライブラリは、各種グラフィック
表示機能や、文字表示機能、フォント、SRAM上
に設けたVRAMなど、フルセットの機能なので、
そのライブラリと上手いこと合成した方が、
使い勝手は良いでしょう。
(暇が出来たらやりたい)



次の課題。

aitendoで買ってきたC-LCDシールドを
コントローラ用機器にして、以前作った
http://picavr.uunyan.com/avr_m2_dds_fg.html
DDSファンクションジェネレータに制御コード
を送って、出力される波形をオシロで見てみる。

配線自体は



結構シンプルで、電源2本とシリアル(TX)の、合計
3本だけ。



液晶コントローラ側で何か操作してからオシロで
見れば、当然こういう感じ。ちゃんと周波数も
波形も選べてる。



これでも、配線がのたくってて、見た目がイマイチ
なので、もっと綺麗に見えるいい方法は無いかなぁ…



と、まぁ、ここのところ直近でやりたかった
ハンダづけと各部品やキットの動作確認ができた
ので、満足、満足。
あとはこれらのパーツを組み合わせて、グリグリ
とナニをアレして組み上げていこう。


久々にハードオフ。時々見に行くと、結構掘り出し
ものがあるので、それを期待して。

まず目に止まったのは、フェルナンデスの極小
ギターアンプ、SKEL-ZO。

名前の通り、ぞうさんギターアンプでスケルトン。
1500~1800円くらいで数個あったので、1個欲しかった
んだけど、それよりも一期一会の掘り出し物発見!



KORGのmonotron。1260円(税込み)ナリ。
すかさず保護して帰る。


単4電池2本入れて、スイッチオン。

バリバリ鳴るな。イヤフォンもスピーカもok。
ツマミもばっちり。上物、上物。シメシメ。


オイラ、ツマミがいっぱい付いてるモノが好き
なんだよな。しかもこいつはツマミだけじゃ
なくて、音もバリバリなるんだよな。オイラは
音が出るギミックも大好きだな。

あとでアレコレやって遊ぼう。

AUX-inの確認はまだ出来てないんだけど、ここに
DDSファンクションジェネレータからの信号とか
入力させたら、グイングイン変調できるのかな。


http://ascii.jp/elem/000/000/522/522612/
こんな記事読んでると、マルチトラックの録音環境
が、改めて欲しくなっちゃうんだよな。フリーの
ソフトとかで、マルチトラックレコーダー的な
ソフトが無いかなぁ?

あと、
http://www.korg.co.jp/Product/Dance/monotron/welove/
武田さんの、monotron+のように、VFOの波形を
逆ノコギリ波だけじゃなく、矩形波も切り替え
出来るようになってると、広がりそうだな。


オイラはシンセと言うとFM音源から入ったから、
アナログシンセのパラメタは、解ってるような、
解ってないようななので、
http://posimo.cocolog-nifty.com/blog/monotron/
これは凄く解りやすい。


あまり改造しない範囲で、とりあえずAUX-inで
どれだけ弄れるか、あとで試してみよう。


あと1週間か…。
http://makezine.jp/blog/2013/10/mft2013_makers.html



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする



« MIDI音源化 NOOBSと2013-0... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。