Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- Revision:
- 0:7930f6daf302
- Child:
- 1:06a94cf9d98a
diff -r 000000000000 -r 7930f6daf302 main.cpp
--- /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);
+
+ }
+
+ }
+
+}