#author("2017-05-03T09:14:24+09:00","default:qua","qua") * 超小型モノクロ液晶ディスプレイ [#qa0b8b5a] #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/AQM1248A.png,342x205) [[メーカーWebページ:http://akizukidenshi.com/catalog/g/gK-07007/]] **配線 [#n47a2073] 3.3Vで動作する。電源だけでなく、信号も3.3Vであるので、Arduinoの5Vの信号を3.3Vに変換する必要がある。Ardionoからの各信号とGNDの間に500Ω、1kΩの抵抗を直列につなげば、1kΩの抵抗の両端の電圧は3.3Vになる。下の変換器はこれを実現したものである。 #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/AQM1248A5VA.png,225x195) 液晶と変換器をつなぎ、変換器のピンをブレッドボードに挿す。 #ref(http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/img/AQM1248A5V.png,482x249) ピン配置は写真の奥から1, 2, ...,7として、以下の通りである。なお、名前はボードの裏に書かれている。 |番号|名前|意味|h |1|VDD|電源(Arduinoの3.3Vピンへ)| |2|/CS|SPIのチップ選択(Arduinoのデジタル10番ピンへ)| |3|/RESET|リセット信号(接続しない)| |4|RS|コマンド/データ選択(Arduinoのデジタル9番ピンへ)| |5|SCLK|SPIクロック信号(Arduinoのデジタル13番ピンへ)| |6|SDI|SPIデータ信号(Arduinoのデジタル11番ピンへ)| |7|GND|0V(ArduinoのGNDピンへ)| #author("2019-04-21T23:39:25+09:00","default:qua","qua") **プログラミング [#hf8a00b0] -ライブラリ[[AQM1248A.zip:http://www.ist.aichi-pu.ac.jp/lab/qua/~qua/pbl/lib/AQM1248A.zip]]~ とりあえず太田が作ったものなのでいい加減である。 #include <SPI.h> #include <AQM1248A.h> でライブラリを取り込んで利用する。次の関数が使えると思われる。 --準備 ---LCD_init() 液晶パネルの準備 ---LCD_begin() 通信開始 ---LCD_end() 通信終了 ---LCD_contrast( int c ) コントラスト設定(0<=c<=0x3f) ---LCD_clear() スクリーン消去 --グラフィック描画~ 以下、modeは0: 背景色、1: 黒、2: 反転、sizeは文字の大きさ(1または2)~ 座標は左上が(0,0)、右下が(127,47) ---LCD_setPixel( int x, int y, int mode ) 点(x, y)を描画 ---LCD_drawLine( int x0, int y0, int x1, int y1, int mode ) (x0,y0)から(x1,y1)へ直線描画 ---LCD_drawVLine( int x0, int y0, int x1, int y1, int mode ) (x0,y0)から(x1,y1)へ縦線描画 ---LCD_drawHLine( int x0, int y0, int x1, int y1, int mode ) (x0,y0)から(x1,y1)へ横線描画 ---LCD_drawRect( int x0, int y0, int x1, int y1, int mode ) (x0,y0)-(x1,y1)を対角線とする矩形描画 ---LCD_fillRect( int x0, int y0, int x1, int y1, int mode ) (x0,y0)-(x1,y1)を対角線とする矩形塗りつぶし ---LCD_drawCircle( int x0, int y0, int r, int mode ) (x,y)を中心とする半径rの円を描画 ---LCD_fillCircle( int x0, int y0, int r, int mode ) (x,y)を中心とする半径rの円を塗りつぶす ---LCD_drawChar( int x, int y, char c, int size, int mode ) 点(x, y)を左上の点として、ASCiiコードcの文字を大きさ(size*8 x size*5)で描画 ---LCD_drawString( int x, int y, char *s, int size, int mode ) 点(x, y)を左上の点として、文字列sを大きさ(size*8 x size*5)の文字で描画 --キャラクタ(文字)表示~ 以下は、文字の大きさ単位で座標を指定して、文字を表示するためのコマンドである。小さいサイズで25文字×6行、大きいサイズで12文字×3行で表示される。 ---LCD_locate( int cx, int cy ) カーソルを(cx, cy)に移動 ---LCD_print( x ) 文字列や数値xを表示 ---LCD_println( x ) 文字列や数値xを表示して改行 ---LCD_fontSize( int size ) 文字の大きさを設定 ---LCD_fontMode( int mode ) 文字の描画モードを設定