\/\/\u30cf\u30a4\u30d1\u30b9\u30d5\u30a3\u30eb\u30bf\u306e\u30d0\u30c3\u30d5\u30a1\u6570\nint const N = 10;\nint a[N];\nvoid setup(){\n for(int i=0; i<N; i++){\n a[i] = 0;\n }\n Serial.begin(9600);\n\n \/\/\u30bf\u30c3\u30c1\u30d1\u30cd\u30eb\u672c\u4f53\n pinMode(13,OUTPUT);\n pinMode(12,INPUT);\n \n \/\/\u78ba\u8a8d\u7528LED\n pinMode(5, OUTPUT);\n}\n\nvoid loop(){\n \/\/\u5145\u96fb\u6642\u9593\u7528\u306e\u5909\u6570 a[0] = 0;\n \/\/\u4e00\u5ea6HIGH\u306b\u3057\u3066\n digitalWrite(13, HIGH);\n\n \/\/12\u756a\u30d4\u30f3\u304cHIGH\u306b\u306a\u308b\u307e\u3067(=\u5145\u96fb\u6642\u9593)\u3092\u30ab\u30a6\u30f3\u30c8\n while (digitalRead(12)!=HIGH){\n a[0]++;\n }\n\n \/\/LOW\u306b\u623b\u3059\n digitalWrite(13, LOW);\n\n \/\/\u305f\u307e\u306b\u5024\u304c\u3076\u308c\u308b\u306e\u3067\u30ed\u30fc\u30d1\u30b9\u30d5\u30a3\u30eb\u30bf\u3092\u304b\u3051\u308b\u3002\n float ave = 0;\n for(int i=0; i<N; i++){\n ave += a[0];\n }\n ave \/= N;\n\n \/\/\u5024\u30c1\u30a7\u30c3\u30af\n Serial.println(a[0]);\n\n \/\/\u3053\u306e20\u3068\u3044\u3046\u6570\u5b57\u304c\u5927\u304d\u3051\u308c\u3070\u920d\u611f\u306b\u3001\u5c0f\u3055\u3051\u308c\u3070\u654f\u611f\u306b\u306a\u308a\u307e\u3059\n if(ave > 20){\n digitalWrite(5, HIGH);\n }else{\n digitalWrite(5, LOW);\n }\n\n \/\/\u5909\u6570\u3092\u305a\u3089\u3059\u3002\n for(int i=0; i<N-1; i++){\n a[i+1] = a[i];\n }\n}<\/code><\/pre><\/div>\n\n\n\n