加速度センサADXL345用のプログラム 秋月に売ってる

Dependencies:   ADXL345_I2C mbed

Committer:
neoqased
Date:
Wed Mar 09 01:10:25 2016 +0000
Revision:
0:a172e42c145a
?????????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
neoqased 0:a172e42c145a 1 #include "mbed.h"
neoqased 0:a172e42c145a 2 #include "ADXL345_I2C.h"
neoqased 0:a172e42c145a 3
neoqased 0:a172e42c145a 4 //センサの校正値(要変更)
neoqased 0:a172e42c145a 5 #define SENSOR1X 4.756
neoqased 0:a172e42c145a 6 #define SENSOR1Y 2.557
neoqased 0:a172e42c145a 7 #define SENSOR1Z -25.941
neoqased 0:a172e42c145a 8
neoqased 0:a172e42c145a 9 #define SENSOR2X 9.133
neoqased 0:a172e42c145a 10 #define SENSOR2Y 1.428
neoqased 0:a172e42c145a 11 #define SENSOR2Z -32.222
neoqased 0:a172e42c145a 12
neoqased 0:a172e42c145a 13 //LED1からLED4をled1からled4に割り当てる。
neoqased 0:a172e42c145a 14 DigitalOut led1(LED1);
neoqased 0:a172e42c145a 15 DigitalOut led2(LED2);
neoqased 0:a172e42c145a 16 DigitalOut led3(LED3);
neoqased 0:a172e42c145a 17 DigitalOut led4(LED4);
neoqased 0:a172e42c145a 18
neoqased 0:a172e42c145a 19 DigitalOut buzzer(p18); //電子ブザー用アナorデジ出力
neoqased 0:a172e42c145a 20
neoqased 0:a172e42c145a 21 DigitalIn startsw(p21);
neoqased 0:a172e42c145a 22
neoqased 0:a172e42c145a 23 //ADXL345 accelerometer(p5, p6, p7, p8);
neoqased 0:a172e42c145a 24 ADXL345_I2C accelerometer1(p9, p10);
neoqased 0:a172e42c145a 25 ADXL345_I2C accelerometer2(p28, p27);
neoqased 0:a172e42c145a 26 Serial pc(USBTX, USBRX);
neoqased 0:a172e42c145a 27 LocalFileSystem local("local");
neoqased 0:a172e42c145a 28
neoqased 0:a172e42c145a 29 Timer timer;
neoqased 0:a172e42c145a 30
neoqased 0:a172e42c145a 31 int SW(); //スタートスイッチ用関数,押して離したらスタート
neoqased 0:a172e42c145a 32 int Buzzer(int buzvar = 1); //電子ブザーを鳴らす関数
neoqased 0:a172e42c145a 33
neoqased 0:a172e42c145a 34 int main(){
neoqased 0:a172e42c145a 35
neoqased 0:a172e42c145a 36 int ledv=1; //led value初期化
neoqased 0:a172e42c145a 37 /*int data1[3] = {0, 0, 0};
neoqased 0:a172e42c145a 38 int data2[3] = {0, 0, 0};*/
neoqased 0:a172e42c145a 39 int data[2][3] = {};
neoqased 0:a172e42c145a 40 double tempdata[2][3] = {};
neoqased 0:a172e42c145a 41 double pfdata[2][3] = {};
neoqased 0:a172e42c145a 42 double kousei[2][3] = {{SENSOR1X, SENSOR1Y, SENSOR1Z}, {SENSOR2X, SENSOR2Y, SENSOR2Z}};
neoqased 0:a172e42c145a 43 const int n = 10; //ループ回数
neoqased 0:a172e42c145a 44 //time_t tnow;
neoqased 0:a172e42c145a 45 //char buf[32];
neoqased 0:a172e42c145a 46 char filename[64];
neoqased 0:a172e42c145a 47 FILE *fp, *fpname;
neoqased 0:a172e42c145a 48 int fpn = 0;
neoqased 0:a172e42c145a 49
neoqased 0:a172e42c145a 50 /*
neoqased 0:a172e42c145a 51 pc.printf("Starting ADXL345 test...\n");
neoqased 0:a172e42c145a 52 pc.printf("Device1 ID is: 0x%02x\n", accelerometer1.getDevId());
neoqased 0:a172e42c145a 53 pc.printf("Device2 ID is: 0x%02x\n", accelerometer2.getDevId());
neoqased 0:a172e42c145a 54 */
neoqased 0:a172e42c145a 55
neoqased 0:a172e42c145a 56 //Go into standby mode to configure the device.
neoqased 0:a172e42c145a 57 accelerometer1.setPowerControl(0x00);
neoqased 0:a172e42c145a 58 accelerometer2.setPowerControl(0x00);
neoqased 0:a172e42c145a 59
neoqased 0:a172e42c145a 60 //Full resolution, +/-16g, 4mg/LSB.
neoqased 0:a172e42c145a 61 accelerometer1.setDataFormatControl(0x0B);
neoqased 0:a172e42c145a 62 accelerometer2.setDataFormatControl(0x0B);
neoqased 0:a172e42c145a 63
neoqased 0:a172e42c145a 64 //3.2kHz data rate.
neoqased 0:a172e42c145a 65 accelerometer1.setDataRate(ADXL345_3200HZ);
neoqased 0:a172e42c145a 66 accelerometer2.setDataRate(ADXL345_3200HZ);
neoqased 0:a172e42c145a 67
neoqased 0:a172e42c145a 68 //Measurement mode.
neoqased 0:a172e42c145a 69 accelerometer1.setPowerControl(0x08);
neoqased 0:a172e42c145a 70 accelerometer2.setPowerControl(0x08);
neoqased 0:a172e42c145a 71
neoqased 0:a172e42c145a 72 wait(1);
neoqased 0:a172e42c145a 73
neoqased 0:a172e42c145a 74 Buzzer(3);
neoqased 0:a172e42c145a 75
neoqased 0:a172e42c145a 76 while(1){
neoqased 0:a172e42c145a 77
neoqased 0:a172e42c145a 78 SW();
neoqased 0:a172e42c145a 79 Buzzer(1);
neoqased 0:a172e42c145a 80 wait(1);
neoqased 0:a172e42c145a 81 timer.reset();
neoqased 0:a172e42c145a 82 timer.start();
neoqased 0:a172e42c145a 83
neoqased 0:a172e42c145a 84 /*
neoqased 0:a172e42c145a 85 ///////////////////////////////////////////
neoqased 0:a172e42c145a 86 while(1){
neoqased 0:a172e42c145a 87
neoqased 0:a172e42c145a 88 for(int i = 0; i < 2; i++){
neoqased 0:a172e42c145a 89 for(int j = 0; j < 3; j++){
neoqased 0:a172e42c145a 90 tempdata[i][j] = 0;
neoqased 0:a172e42c145a 91 }
neoqased 0:a172e42c145a 92 }
neoqased 0:a172e42c145a 93
neoqased 0:a172e42c145a 94 wait(0.1-0.01*n);
neoqased 0:a172e42c145a 95
neoqased 0:a172e42c145a 96 for(int i = 0; i < n; i++){
neoqased 0:a172e42c145a 97 accelerometer1.getOutput(data[0]);
neoqased 0:a172e42c145a 98 accelerometer2.getOutput(data[1]);
neoqased 0:a172e42c145a 99
neoqased 0:a172e42c145a 100 for(int j = 0; j < 2; j++){
neoqased 0:a172e42c145a 101 for(int k = 0; k < 3; k++){
neoqased 0:a172e42c145a 102 tempdata[j][k] += (int16_t)data[j][k];
neoqased 0:a172e42c145a 103 }
neoqased 0:a172e42c145a 104 }
neoqased 0:a172e42c145a 105 wait_ms(10);
neoqased 0:a172e42c145a 106 }
neoqased 0:a172e42c145a 107
neoqased 0:a172e42c145a 108 for(int i = 0; i < 2; i++){
neoqased 0:a172e42c145a 109 for(int j = 0; j < 3; j++){
neoqased 0:a172e42c145a 110 pfdata[i][j] = tempdata[i][j] / n - kousei[i][j];
neoqased 0:a172e42c145a 111 }
neoqased 0:a172e42c145a 112 }
neoqased 0:a172e42c145a 113
neoqased 0:a172e42c145a 114 pc.printf("(%.2f,%.2f,%.2f),(%.2f,%.2f,%.2f)\n", pfdata[0][0],pfdata[0][1],pfdata[0][2],pfdata[1][0],pfdata[1][1],pfdata[1][2]);
neoqased 0:a172e42c145a 115
neoqased 0:a172e42c145a 116 }*/
neoqased 0:a172e42c145a 117
neoqased 0:a172e42c145a 118 //////////////////////////////////ここからファイル名の決定
neoqased 0:a172e42c145a 119 fpname = fopen("/local/fn.txt", "r");
neoqased 0:a172e42c145a 120 if(fpname == NULL){
neoqased 0:a172e42c145a 121 for(int i = 0; i < 5; i++){
neoqased 0:a172e42c145a 122 led1 = !led1;
neoqased 0:a172e42c145a 123 led2 = !led2;
neoqased 0:a172e42c145a 124 led3 = !led3;
neoqased 0:a172e42c145a 125 wait(1);
neoqased 0:a172e42c145a 126 }
neoqased 0:a172e42c145a 127 return -1;
neoqased 0:a172e42c145a 128 }
neoqased 0:a172e42c145a 129 fscanf(fpname,"%d",&fpn);
neoqased 0:a172e42c145a 130 fclose(fpname);
neoqased 0:a172e42c145a 131 fpname = fopen("/local/fn.txt","w");
neoqased 0:a172e42c145a 132 if(fpname == NULL){
neoqased 0:a172e42c145a 133 for(int i = 0; i < 5; i++){
neoqased 0:a172e42c145a 134 led1 = !led1;
neoqased 0:a172e42c145a 135 led2 = !led2;
neoqased 0:a172e42c145a 136 wait(1);
neoqased 0:a172e42c145a 137 }
neoqased 0:a172e42c145a 138 return -1;
neoqased 0:a172e42c145a 139 }
neoqased 0:a172e42c145a 140 fprintf(fpname,"%d",fpn+1);
neoqased 0:a172e42c145a 141 fclose(fpname);
neoqased 0:a172e42c145a 142 //////////////////////////////////////ここまでファイル名の決定
neoqased 0:a172e42c145a 143 /*tnow = time(NULL) + (60*60*9);
neoqased 0:a172e42c145a 144 strftime(buf,sizeof(buf),"%H%M%S", localtime(&tnow));
neoqased 0:a172e42c145a 145 sprintf(filename,"/local/lg%s.csv",buf);
neoqased 0:a172e42c145a 146 strftime(buf,sizeof(buf),"%Y-%m-%d %H:%M:%S", localtime(&tnow));*/
neoqased 0:a172e42c145a 147 /////////////////////////////////ここから出力ファイルを開く
neoqased 0:a172e42c145a 148 sprintf(filename,"/local/log%003d.csv",fpn);
neoqased 0:a172e42c145a 149 fp = fopen(filename,"w");
neoqased 0:a172e42c145a 150 if(fp == NULL){
neoqased 0:a172e42c145a 151 for(int i = 0; i < 5; i++){
neoqased 0:a172e42c145a 152 led1 = !led1;
neoqased 0:a172e42c145a 153 led2 = !led2;
neoqased 0:a172e42c145a 154 led3 = !led3;
neoqased 0:a172e42c145a 155 led4 = !led4;
neoqased 0:a172e42c145a 156 wait(1);
neoqased 0:a172e42c145a 157 }
neoqased 0:a172e42c145a 158 return -1;
neoqased 0:a172e42c145a 159 }
neoqased 0:a172e42c145a 160 //fprintf(fp, "The time is %s\n", ctime(&tnow));
neoqased 0:a172e42c145a 161 fprintf(fp, "time,,sensor1x,sensor1y,sensor1z,,sensor2x,sensor2y,sensor2z\n");
neoqased 0:a172e42c145a 162 /*for(int m = 0; m < 10; m++){ //ここで周回数を決める*/
neoqased 0:a172e42c145a 163 while(startsw == 0){
neoqased 0:a172e42c145a 164 if(ledv>0x10)ledv=1; //kが0b00010000になったら0b00000001にする
neoqased 0:a172e42c145a 165 led1 = ledv & 0x01;
neoqased 0:a172e42c145a 166 led2 = ledv & 0x02;
neoqased 0:a172e42c145a 167 led3 = ledv & 0x04;
neoqased 0:a172e42c145a 168 led4 = ledv & 0x08;
neoqased 0:a172e42c145a 169 ledv=ledv<<1; //kの中を左に1つ移動(mbedのledを順番に点滅)
neoqased 0:a172e42c145a 170
neoqased 0:a172e42c145a 171 for(int i = 0; i < 2; i++){ //平均を取るための合計を格納する変数を初期化
neoqased 0:a172e42c145a 172 for(int j = 0; j < 3; j++){
neoqased 0:a172e42c145a 173 tempdata[i][j] = 0;
neoqased 0:a172e42c145a 174 }
neoqased 0:a172e42c145a 175 }
neoqased 0:a172e42c145a 176
neoqased 0:a172e42c145a 177 wait(0.1-0.01*n);
neoqased 0:a172e42c145a 178
neoqased 0:a172e42c145a 179 //以下データの平均をとってファイル出力
neoqased 0:a172e42c145a 180 for(int i = 0; i < n; i++){
neoqased 0:a172e42c145a 181 accelerometer1.getOutput(data[0]);
neoqased 0:a172e42c145a 182 accelerometer2.getOutput(data[1]);
neoqased 0:a172e42c145a 183
neoqased 0:a172e42c145a 184 for(int j = 0; j < 2; j++){
neoqased 0:a172e42c145a 185 for(int k = 0; k < 3; k++){
neoqased 0:a172e42c145a 186 tempdata[j][k] += (int16_t)data[j][k];
neoqased 0:a172e42c145a 187 }
neoqased 0:a172e42c145a 188 }
neoqased 0:a172e42c145a 189 wait_ms(10);
neoqased 0:a172e42c145a 190 }
neoqased 0:a172e42c145a 191
neoqased 0:a172e42c145a 192 for(int i = 0; i < 2; i++){
neoqased 0:a172e42c145a 193 for(int j = 0; j < 3; j++){
neoqased 0:a172e42c145a 194 pfdata[i][j] = tempdata[i][j] / n - kousei[i][j];
neoqased 0:a172e42c145a 195 }
neoqased 0:a172e42c145a 196 }
neoqased 0:a172e42c145a 197
neoqased 0:a172e42c145a 198 fprintf(fp, "%f,,%f,%f,%f,,%f,%f,%f\n",timer.read(),pfdata[0][0],pfdata[0][1],pfdata[0][2],pfdata[1][0],pfdata[1][1],pfdata[1][2]);
neoqased 0:a172e42c145a 199 }
neoqased 0:a172e42c145a 200 timer.stop();
neoqased 0:a172e42c145a 201 Buzzer(5);
neoqased 0:a172e42c145a 202 fclose(fp);
neoqased 0:a172e42c145a 203 }
neoqased 0:a172e42c145a 204
neoqased 0:a172e42c145a 205 ////////////////////////////////
neoqased 0:a172e42c145a 206 /*
neoqased 0:a172e42c145a 207 fp = fopen("/local/log.csv","w");
neoqased 0:a172e42c145a 208 for(int i = 0; i < 2000; i++){
neoqased 0:a172e42c145a 209
neoqased 0:a172e42c145a 210 wait(0.5);
neoqased 0:a172e42c145a 211
neoqased 0:a172e42c145a 212 if(ledv>0x10)ledv=1; //kが0b00010000になったら0b00000001にする
neoqased 0:a172e42c145a 213 led1 = ledv & 0x01;
neoqased 0:a172e42c145a 214 led2 = ledv & 0x02;
neoqased 0:a172e42c145a 215 led3 = ledv & 0x04;
neoqased 0:a172e42c145a 216 led4 = ledv & 0x08;
neoqased 0:a172e42c145a 217 ledv=ledv<<1; //kの中を左に1つ移動
neoqased 0:a172e42c145a 218
neoqased 0:a172e42c145a 219 accelerometer1.getOutput(data1);
neoqased 0:a172e42c145a 220 accelerometer2.getOutput(data2);
neoqased 0:a172e42c145a 221
neoqased 0:a172e42c145a 222 fprintf(fp,"%i, %i, %i,,%i, %i, %i,,%f\n", (int16_t)data1[0], (int16_t)data1[1], (int16_t)data1[2], (int16_t)data2[0], (int16_t)data2[1], (int16_t)data2[2],timer.read());
neoqased 0:a172e42c145a 223
neoqased 0:a172e42c145a 224 }
neoqased 0:a172e42c145a 225 fclose(fp);
neoqased 0:a172e42c145a 226 */
neoqased 0:a172e42c145a 227
neoqased 0:a172e42c145a 228 /*while(1){
neoqased 0:a172e42c145a 229
neoqased 0:a172e42c145a 230 wait(1);
neoqased 0:a172e42c145a 231
neoqased 0:a172e42c145a 232 accelerometer1.getOutput(data1);
neoqased 0:a172e42c145a 233 accelerometer2.getOutput(data2);
neoqased 0:a172e42c145a 234
neoqased 0:a172e42c145a 235 //13-bit, sign extended values.
neoqased 0:a172e42c145a 236 pc.printf("(%i, %i, %i),(%i, %i, %i)\n", (int16_t)data1[0], (int16_t)data1[1], (int16_t)data1[2], (int16_t)data2[0], (int16_t)data2[1], (int16_t)data2[2]);
neoqased 0:a172e42c145a 237 }*/
neoqased 0:a172e42c145a 238
neoqased 0:a172e42c145a 239 }
neoqased 0:a172e42c145a 240
neoqased 0:a172e42c145a 241
neoqased 0:a172e42c145a 242 int SW(){ //スタートスイッチ用関数,押して離したらスタート
neoqased 0:a172e42c145a 243 int i = 0, j = 0;
neoqased 0:a172e42c145a 244 while(i < 3){ //チャタリング除去,15msにわたってスタートスイッチが押されていればbreak
neoqased 0:a172e42c145a 245 if(startsw == 1) i++;
neoqased 0:a172e42c145a 246 else i = 0;
neoqased 0:a172e42c145a 247 //DipLed();
neoqased 0:a172e42c145a 248 wait_ms(5);
neoqased 0:a172e42c145a 249 }
neoqased 0:a172e42c145a 250 while(j < 3){ //上に同じ,スタートスイッチが離されたことを検知
neoqased 0:a172e42c145a 251 if(startsw == 0) j++;
neoqased 0:a172e42c145a 252 else j = 0;
neoqased 0:a172e42c145a 253 //DipLed();
neoqased 0:a172e42c145a 254 wait_ms(5);
neoqased 0:a172e42c145a 255 }
neoqased 0:a172e42c145a 256 return 0;
neoqased 0:a172e42c145a 257 }
neoqased 0:a172e42c145a 258
neoqased 0:a172e42c145a 259 int Buzzer(int buzvar){ //電子ブザーを鳴らす関数
neoqased 0:a172e42c145a 260 switch (buzvar){
neoqased 0:a172e42c145a 261 /**************エラーを知らせるbeep**************/
neoqased 0:a172e42c145a 262 case -3: //error * - -
neoqased 0:a172e42c145a 263 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 264 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 265 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 266 break;
neoqased 0:a172e42c145a 267 case -2: //error * - - -
neoqased 0:a172e42c145a 268 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 269 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 270 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 271 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 272 break;
neoqased 0:a172e42c145a 273 case -1: //error * - - - -
neoqased 0:a172e42c145a 274 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 275 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 276 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 277 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 278 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 279 break;
neoqased 0:a172e42c145a 280 /**************エラーここまで**************/
neoqased 0:a172e42c145a 281 case 0: //サウンドなし
neoqased 0:a172e42c145a 282 buzzer = 0;
neoqased 0:a172e42c145a 283 break;
neoqased 0:a172e42c145a 284 /**************状態を知らせるためのbeep**************/
neoqased 0:a172e42c145a 285 case 1: // *(短)
neoqased 0:a172e42c145a 286 buzzer = 1; wait(0.1); buzzer = 0;
neoqased 0:a172e42c145a 287 break;
neoqased 0:a172e42c145a 288 case 2: // * *
neoqased 0:a172e42c145a 289 buzzer = 1; wait(0.1); buzzer = 0; wait(0.05);
neoqased 0:a172e42c145a 290 buzzer = 1; wait(0.1); buzzer = 0;
neoqased 0:a172e42c145a 291 break;
neoqased 0:a172e42c145a 292 case 3: // -(長)
neoqased 0:a172e42c145a 293 buzzer = 1; wait(0.3); buzzer = 0;
neoqased 0:a172e42c145a 294 break;
neoqased 0:a172e42c145a 295 case 4: // - -
neoqased 0:a172e42c145a 296 buzzer = 1; wait(0.3); buzzer = 0; wait(0.3);
neoqased 0:a172e42c145a 297 buzzer = 1; wait(0.3); buzzer = 0;
neoqased 0:a172e42c145a 298 break;
neoqased 0:a172e42c145a 299 case 5: // ---
neoqased 0:a172e42c145a 300 buzzer = 1; wait(0.9); buzzer = 0;
neoqased 0:a172e42c145a 301 break;
neoqased 0:a172e42c145a 302 case 6: // * * * * * * * * * *
neoqased 0:a172e42c145a 303 for(int i = 0; i < 3; i++){
neoqased 0:a172e42c145a 304 for(int j = 0; j < 3; j++){
neoqased 0:a172e42c145a 305 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 306 }
neoqased 0:a172e42c145a 307 wait(0.2);
neoqased 0:a172e42c145a 308 }
neoqased 0:a172e42c145a 309 buzzer = 1; wait(0.1); buzzer = 0;
neoqased 0:a172e42c145a 310 break;
neoqased 0:a172e42c145a 311 case 7: // **-* ** -* ** *** **** "finish"
neoqased 0:a172e42c145a 312 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 313 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 314 buzzer = 1; wait(0.3); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 315 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 316 wait(0.2);
neoqased 0:a172e42c145a 317 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 318 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 319 wait(0.2);
neoqased 0:a172e42c145a 320 buzzer = 1; wait(0.3); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 321 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 322 wait(0.2);
neoqased 0:a172e42c145a 323 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 324 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 325 wait(0.2);
neoqased 0:a172e42c145a 326 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 327 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 328 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 329 wait(0.2);
neoqased 0:a172e42c145a 330 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 331 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 332 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 333 buzzer = 1; wait(0.1); buzzer = 0;
neoqased 0:a172e42c145a 334 break;
neoqased 0:a172e42c145a 335 case 8: // *-*** -*- --* "オワリ"
neoqased 0:a172e42c145a 336 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 337 buzzer = 1; wait(0.3); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 338 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 339 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 340 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 341 wait(0.2);
neoqased 0:a172e42c145a 342 buzzer = 1; wait(0.3); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 343 buzzer = 1; wait(0.1); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 344 buzzer = 1; wait(0.3); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 345 wait(0.2);
neoqased 0:a172e42c145a 346 buzzer = 1; wait(0.3); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 347 buzzer = 1; wait(0.3); buzzer = 0; wait(0.1);
neoqased 0:a172e42c145a 348 buzzer = 1; wait(0.1); buzzer = 0;
neoqased 0:a172e42c145a 349 break;
neoqased 0:a172e42c145a 350 case 9: //ケータイの着信音的な
neoqased 0:a172e42c145a 351 for(int i = 0; i < 20; i++){
neoqased 0:a172e42c145a 352 buzzer = 1; wait(0.03);
neoqased 0:a172e42c145a 353 buzzer = 0; wait(0.03);
neoqased 0:a172e42c145a 354 }
neoqased 0:a172e42c145a 355 break;
neoqased 0:a172e42c145a 356 case 10: //9の短いバージョン
neoqased 0:a172e42c145a 357 for(int i = 0; i < 20; i++){
neoqased 0:a172e42c145a 358 buzzer = 1; wait(0.02);
neoqased 0:a172e42c145a 359 buzzer = 0; wait(0.02);
neoqased 0:a172e42c145a 360 }
neoqased 0:a172e42c145a 361 break;
neoqased 0:a172e42c145a 362 /**************状態を知らせるためのbeepここまで**************/
neoqased 0:a172e42c145a 363 default: //no sound
neoqased 0:a172e42c145a 364 buzzer = 0;
neoqased 0:a172e42c145a 365 break;
neoqased 0:a172e42c145a 366 }
neoqased 0:a172e42c145a 367 return 0;
neoqased 0:a172e42c145a 368 }