電子ペーパーで所在を表示しておくプレートのプログラムです

Dependencies:   SDFileSystem mbed

Committer:
kohacraft
Date:
Tue May 23 22:37:09 2017 +0000
Revision:
2:3ca92c70070c
Parent:
1:bd1c3875fb64
????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 1:bd1c3875fb64 1 /* 電子ペーパー実験セットの実験プログラムです */
kohacraft 1:bd1c3875fb64 2
kohacraft 0:eca549a6e38d 3 #include "mbed.h"
kohacraft 0:eca549a6e38d 4 #include "eink.h"
kohacraft 0:eca549a6e38d 5
kohacraft 1:bd1c3875fb64 6 //SDにアクセスするための設定
kohacraft 0:eca549a6e38d 7 #include "SDFileSystem.h"
kohacraft 0:eca549a6e38d 8 #define SD_MOSI dp2
kohacraft 0:eca549a6e38d 9 #define SD_MISO dp1
kohacraft 0:eca549a6e38d 10 #define SD_SCLK dp6
kohacraft 0:eca549a6e38d 11 #define SD_CS dp4
kohacraft 0:eca549a6e38d 12 SDFileSystem sd(SD_MOSI, SD_MISO, SD_SCLK, SD_CS, "sd"); // mosi, miso, sclk, cs, name (HW modification candidate)
kohacraft 0:eca549a6e38d 13
kohacraft 0:eca549a6e38d 14
kohacraft 0:eca549a6e38d 15 DigitalIn key1(dp28); //キー入力1
kohacraft 0:eca549a6e38d 16 DigitalIn key2(dp25); //キー入力2
kohacraft 0:eca549a6e38d 17 DigitalIn key3(dp18); //キー入力3
kohacraft 0:eca549a6e38d 18 DigitalIn key4(dp15); //キー入力4
kohacraft 0:eca549a6e38d 19
kohacraft 0:eca549a6e38d 20 int main() {
kohacraft 0:eca549a6e38d 21
kohacraft 0:eca549a6e38d 22 initPort(); //IOの初期化
kohacraft 2:3ca92c70070c 23
kohacraft 2:3ca92c70070c 24 //電子ペーパーの電源を入れる
kohacraft 2:3ca92c70070c 25 powerOn();
kohacraft 0:eca549a6e38d 26
kohacraft 0:eca549a6e38d 27 FILE *fp;
kohacraft 0:eca549a6e38d 28 char filePath[32] = "";
kohacraft 0:eca549a6e38d 29 int fileNum = 0;
kohacraft 0:eca549a6e38d 30
kohacraft 0:eca549a6e38d 31
kohacraft 1:bd1c3875fb64 32 //キーが押されるまでループし続ける
kohacraft 0:eca549a6e38d 33 while( fileNum == 0 )
kohacraft 0:eca549a6e38d 34 {
kohacraft 0:eca549a6e38d 35 if( key1 == 1 )
kohacraft 0:eca549a6e38d 36 fileNum = 1;
kohacraft 0:eca549a6e38d 37 if( key2 == 1 )
kohacraft 0:eca549a6e38d 38 fileNum = 2;
kohacraft 0:eca549a6e38d 39 if( key3 == 1 )
kohacraft 0:eca549a6e38d 40 fileNum = 3;
kohacraft 0:eca549a6e38d 41 if( key4 == 1 )
kohacraft 0:eca549a6e38d 42 fileNum = 4;
kohacraft 0:eca549a6e38d 43 }
kohacraft 1:bd1c3875fb64 44
kohacraft 1:bd1c3875fb64 45 //ファイルのオープン
kohacraft 0:eca549a6e38d 46 sprintf( filePath , "/sd/%d.bmp" , fileNum);
kohacraft 0:eca549a6e38d 47 fp = fopen(filePath, "r");
kohacraft 1:bd1c3875fb64 48
kohacraft 1:bd1c3875fb64 49 /* -------------------------------------- */
kohacraft 1:bd1c3875fb64 50 /* 描画モードはお手元の電子ペーパーに合わせて */
kohacraft 1:bd1c3875fb64 51 /* 以下の3つのモードから、 */
kohacraft 1:bd1c3875fb64 52 /* 一番きれいに描画されるモードを1つお選び、 */
kohacraft 1:bd1c3875fb64 53 /* 他のモードをコメントアウトしてください */
kohacraft 1:bd1c3875fb64 54 /* -------------------------------------- */
kohacraft 1:bd1c3875fb64 55
kohacraft 1:bd1c3875fb64 56 //描画モード1 黒でクリアし、白の部分を描画する
kohacraft 1:bd1c3875fb64 57 //電子ペーパー ED060SC4(LF)H2向け
kohacraft 1:bd1c3875fb64 58 clrDisp(EDP_BLACK); //黒でクリアする
kohacraft 1:bd1c3875fb64 59 clrDisp(EDP_BLACK); //何度かクリアするときれいに消えます
kohacraft 1:bd1c3875fb64 60 dispBmp( fp , EDP_WHITE ); //ファイルポインタで指定したbmpファイルを表示する
kohacraft 1:bd1c3875fb64 61 dispBmp( fp , EDP_WHITE ); //複数回描くと白がきれいになる
kohacraft 1:bd1c3875fb64 62
kohacraft 1:bd1c3875fb64 63 //描画モード2 白でクリアし、黒の部分を描画する
kohacraft 1:bd1c3875fb64 64 //電子ペーパー ED060SC4(LF)H2-00向け
kohacraft 1:bd1c3875fb64 65 // ED060SC4(LF)H1向け
kohacraft 1:bd1c3875fb64 66 clrDisp(EDP_WHITE); //白でクリアする
kohacraft 1:bd1c3875fb64 67 clrDisp(EDP_WHITE);
kohacraft 1:bd1c3875fb64 68 dispBmp( fp , EDP_BLACK );
kohacraft 1:bd1c3875fb64 69 dispBmp( fp , EDP_BLACK );
kohacraft 1:bd1c3875fb64 70
kohacraft 1:bd1c3875fb64 71 //描画モード3 白でクリアし、白黒両方を描画する
kohacraft 1:bd1c3875fb64 72 //電子ペーパー ED060SC4(LF)向け
kohacraft 1:bd1c3875fb64 73 clrDisp(EDP_WHITE); //白でクリアする
kohacraft 1:bd1c3875fb64 74 clrDisp(EDP_WHITE);
kohacraft 1:bd1c3875fb64 75 dispBmp( fp , EDP_BLACK_WHITE );
kohacraft 1:bd1c3875fb64 76 dispBmp( fp , EDP_BLACK_WHITE );
kohacraft 1:bd1c3875fb64 77
kohacraft 1:bd1c3875fb64 78 //ファイルのクローズ
kohacraft 0:eca549a6e38d 79 fclose( fp );
kohacraft 0:eca549a6e38d 80 free(fp);
kohacraft 0:eca549a6e38d 81
kohacraft 1:bd1c3875fb64 82 //電子ペーパーの電源を切る
kohacraft 0:eca549a6e38d 83 powerOff();
kohacraft 0:eca549a6e38d 84
kohacraft 0:eca549a6e38d 85 //電源OFF待ち
kohacraft 0:eca549a6e38d 86 while(1)
kohacraft 0:eca549a6e38d 87 {
kohacraft 0:eca549a6e38d 88 wait(1);
kohacraft 0:eca549a6e38d 89 }
kohacraft 0:eca549a6e38d 90 }