迷你特雷門(mén)琴使用說(shuō)明
1、將手靠近超聲波傳感器,來(lái)回移動(dòng)手與超聲波傳感器的距離,迷你特雷門(mén)琴會(huì)隨著手與距離的遠(yuǎn)近演奏出不同頻率的聲音。距離設(shè)定在10厘米到60厘米之間。 2、通過(guò)代碼的轉(zhuǎn)換可以實(shí)現(xiàn)單音階演奏或特雷門(mén)琴模式演奏。 - /*
- IDE 版本:1.6.5
- 功能:利用SR04超聲波傳感器進(jìn)行測(cè)距,通過(guò)反饋的距離演奏對(duì)應(yīng)的音階
- */
- // 設(shè)定SR04連接的Arduino引腳和揚(yáng)聲器輸出引腳
- const int TrigPin = 2;
- const int EchoPin = 3;
- float distance;
- const int speakerPin = 8;//揚(yáng)聲器連接8腳
- void setup()
- { // 初始化串口通信及連接SR04的引腳
- Serial.begin(9600);
- pinMode(TrigPin, OUTPUT);
- // 要檢測(cè)引腳上輸入的脈沖寬度,需要先設(shè)置為輸入狀態(tài)
- pinMode(EchoPin, INPUT);
- Serial.println("Ultrasonic sensor:");
- PinMode (led,OUTPUT);
- }
- void loop()
- {
- // 產(chǎn)生一個(gè)10us的高脈沖去觸發(fā)TrigPin
-
- digitalWrite(TrigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(TrigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(TrigPin, LOW);
-
- // 檢測(cè)脈沖寬度,并計(jì)算出距離
- int a = pulseIn(EchoPin, HIGH);
- distance = a / 58.00;
- Serial.print(distance);
- Serial.print("cm");
- Serial.println();
- Serial.print(a);
- Serial.println();
-
-
- //特雷門(mén)琴演奏模式
-
- if (distance<61)
- {
- int m = map (distance,11,59,659,1661);
- tone ( speakerPin,m);
- }
- delay (500);
- noTone(8);
- }
復(fù)制代碼
|