real sound humikiri

Dependencies:   mbed ck_humikiri

Revision:
0:7930f6daf302
Child:
1:06a94cf9d98a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Jul 20 02:54:30 2015 +0000
@@ -0,0 +1,75 @@
+#include "mbed.h"
+
+/* 踏切を再現するプログラム */
+
+DigitalOut sp(dp1);     //スピーカーをつなぐピンを出力に設定
+DigitalIn sw(dp2);      //スイッチをつなぐピンを入力に設定
+DigitalOut led1(dp14);  //LED1をつなぐピンを出力に設定
+DigitalOut led2(dp28);  //LED2をつなぐピンを出力に設定
+
+
+int main() {
+    while(1) {
+        
+        //両方のLEDを消す
+        led1 = 0;
+        led2 = 0;
+        
+        //スイッチが押されているか調べて
+        //押されていたらLEDを光らせ音を鳴らす
+        if( sw == 1 )
+        {
+            
+            //片方のLEDだけを点灯
+            led1 = 1;
+            led2 = 0;
+            
+            //ミの音をちょっと出す
+            for( int i=0 ; i<20 ; i++ )
+            {
+                sp = 1;
+                wait(1.0/1318.51/2);    //1318.51Hzがミの音
+                sp = 0;
+                wait(1.0/1318.51/2);        
+            }
+    
+            
+            //ドの音を長く出す
+            for( int i=0 ; i<200*2 ; i++ )
+            {
+               sp = 0;
+                wait(1.0/1046.50/2);    //1046.50Hzがドの音
+                sp = 1;
+                wait(1.0/1046.50/2);
+            }
+            wait (0.1);
+            
+            //もう片方のLEDだけを点灯
+            led1 = 0;
+            led2 = 1;
+            
+            //ミの音をちょっと出す
+            for( int i=0 ; i<20*2 ; i++ )
+            {
+                sp = 1;
+                wait(1.0/1318.51/2);
+                sp = 0;
+                wait(1.0/1318.51/2);
+            }
+    
+            
+            //ドの音を長く出す
+            for( int i=0 ; i<200*2 ; i++ )
+            {
+                sp = 0;
+                wait(1.0/1046.50/2);
+                sp = 1;
+                wait(1.0/1046.50/2);
+            }
+            wait (0.1);
+
+        }
+             
+    }
+        
+}