加速度センサADXL345用のプログラム 秋月に売ってる
Dependencies: ADXL345_I2C mbed
main.cpp@0:a172e42c145a, 2016-03-09 (annotated)
- Committer:
- neoqased
- Date:
- Wed Mar 09 01:10:25 2016 +0000
- Revision:
- 0:a172e42c145a
?????????????
Who changed what in which revision?
User | Revision | Line number | New 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 | } |