mbedキッズワークショップで使うプログラムです

Dependencies:   SB1602E mbed

Committer:
MACRUM
Date:
Sun Jul 24 01:59:07 2016 +0000
Revision:
3:c9f6f084f03a
Parent:
2:58071b3466bd
Fix key delay

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:e1d30d486b13 1 #include "mbed.h"
MACRUM 0:e1d30d486b13 2 #include "kids_workshop.h"
MACRUM 0:e1d30d486b13 3
MACRUM 0:e1d30d486b13 4 int main()
MACRUM 0:e1d30d486b13 5 {
MACRUM 0:e1d30d486b13 6 init();
MACRUM 0:e1d30d486b13 7
MACRUM 0:e1d30d486b13 8 while(1) {
MACRUM 0:e1d30d486b13 9 led1 = 1; // led1を光らせる
MACRUM 2:58071b3466bd 10 wait(0.3); // すこしまつ
MACRUM 0:e1d30d486b13 11 led1 = 0; // led1を消す
MACRUM 2:58071b3466bd 12 wait(0.3); // すこしまつ
MACRUM 0:e1d30d486b13 13
MACRUM 3:c9f6f084f03a 14 float ondo = ((ain * 3.25 - 0.6) / 0.01);
MACRUM 0:e1d30d486b13 15
MACRUM 0:e1d30d486b13 16 if (disp_mode == 0 ) {
MACRUM 2:58071b3466bd 17 lcd.printf(0, 0, "%2.2f ", ondo);
MACRUM 0:e1d30d486b13 18 } else {
MACRUM 3:c9f6f084f03a 19 lcd.printf(0, 0, "Hello!");
MACRUM 0:e1d30d486b13 20 }
MACRUM 0:e1d30d486b13 21
MACRUM 0:e1d30d486b13 22 }
MACRUM 0:e1d30d486b13 23 }
MACRUM 0:e1d30d486b13 24
MACRUM 0:e1d30d486b13 25 void key_pressed()
MACRUM 0:e1d30d486b13 26 {
MACRUM 0:e1d30d486b13 27 static int key = 0;
MACRUM 0:e1d30d486b13 28
MACRUM 0:e1d30d486b13 29 if (key > 9) {
MACRUM 0:e1d30d486b13 30 key = 0;
MACRUM 0:e1d30d486b13 31 }
MACRUM 0:e1d30d486b13 32 wave.period_us(tone_table_us[key]);
MACRUM 0:e1d30d486b13 33 key++;
MACRUM 3:c9f6f084f03a 34 disp_mode = !disp_mode;
MACRUM 0:e1d30d486b13 35 }
MACRUM 3:c9f6f084f03a 36
MACRUM 0:e1d30d486b13 37 void init()
MACRUM 0:e1d30d486b13 38 {
MACRUM 0:e1d30d486b13 39 disp_mode = 1;
MACRUM 0:e1d30d486b13 40 lcd.setCharsInLine(8);
MACRUM 0:e1d30d486b13 41 lcd.contrast(0x30);
MACRUM 0:e1d30d486b13 42
MACRUM 0:e1d30d486b13 43 din.mode(PullUp);
MACRUM 3:c9f6f084f03a 44 din.fall(&key_pressed);
MACRUM 0:e1d30d486b13 45
MACRUM 0:e1d30d486b13 46 wave.write(0.5);
MACRUM 0:e1d30d486b13 47 wave.period_us(0);
MACRUM 0:e1d30d486b13 48
MACRUM 1:751b1cff6db3 49 // 文字を変えてみよう
MACRUM 0:e1d30d486b13 50 char buf[10];
MACRUM 0:e1d30d486b13 51 buf[0] = 0xb1;
MACRUM 0:e1d30d486b13 52 buf[1] = 0xb0;
MACRUM 0:e1d30d486b13 53 buf[2] = 0xd1;
MACRUM 0:e1d30d486b13 54 buf[3] = 0xc0;
MACRUM 0:e1d30d486b13 55 buf[4] = 0xdb;
MACRUM 0:e1d30d486b13 56 buf[5] = 0xb3;
MACRUM 0:e1d30d486b13 57 buf[6] = 0;
MACRUM 1:751b1cff6db3 58 buf[7] = 0;
MACRUM 1:751b1cff6db3 59 buf[8] = 0;
MACRUM 1:751b1cff6db3 60 lcd.printf(0, 0, "Hello!");
MACRUM 0:e1d30d486b13 61 lcd.printf(0, 1, buf);
MACRUM 0:e1d30d486b13 62 }