迷你特雷門琴使用說明
1、將手靠近超聲波傳感器,來回移動手與超聲波傳感器的距離,迷你特雷門琴會隨著手與距離的遠近演奏出不同頻率的聲音。距離設定在10厘米到60厘米之間。 2、通過代碼的轉換可以實現單音階演奏或特雷門琴模式演奏。
迷你特累門琴電路連接圖.jpg (72.91 KB, 下載次數: 73)
下載附件
2020-11-26 12:54 上傳
- /*
- IDE 版本:1.6.5
- 功能:利用SR04超聲波傳感器進行測距,通過反饋的距離演奏對應的音階
- */
- // 設定SR04連接的Arduino引腳和揚聲器輸出引腳
- const int TrigPin = 2;
- const int EchoPin = 3;
- float distance;
- const int speakerPin = 8;//揚聲器連接8腳
- void setup()
- { // 初始化串口通信及連接SR04的引腳
- Serial.begin(9600);
- pinMode(TrigPin, OUTPUT);
- // 要檢測引腳上輸入的脈沖寬度,需要先設置為輸入狀態
- pinMode(EchoPin, INPUT);
- Serial.println("Ultrasonic sensor:");
- PinMode (led,OUTPUT);
- }
- void loop()
- {
- // 產生一個10us的高脈沖去觸發TrigPin
-
- digitalWrite(TrigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(TrigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(TrigPin, LOW);
-
- // 檢測脈沖寬度,并計算出距離
- int a = pulseIn(EchoPin, HIGH);
- distance = a / 58.00;
- Serial.print(distance);
- Serial.print("cm");
- Serial.println();
- Serial.print(a);
- Serial.println();
-
-
- //特雷門琴演奏模式
-
- if (distance<61)
- {
- int m = map (distance,11,59,659,1661);
- tone ( speakerPin,m);
- }
- delay (500);
- noTone(8);
- }
復制代碼
|