標(biāo)題: Arduino迷你特雷門(mén)琴原理圖+源程序 [打印本頁(yè)]

作者: xjblzhp    時(shí)間: 2020-11-26 13:05
標(biāo)題: Arduino迷你特雷門(mén)琴原理圖+源程序
迷你特雷門(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)琴模式演奏。

  1. /*
  2. IDE 版本:1.6.5
  3. 功能:利用SR04超聲波傳感器進(jìn)行測(cè)距,通過(guò)反饋的距離演奏對(duì)應(yīng)的音階
  4. */

  5. // 設(shè)定SR04連接的Arduino引腳和揚(yáng)聲器輸出引腳
  6. const int TrigPin = 2;
  7. const int EchoPin = 3;
  8. float distance;
  9. const int speakerPin = 8;//揚(yáng)聲器連接8腳

  10. void setup()
  11. {   // 初始化串口通信及連接SR04的引腳
  12.         Serial.begin(9600);
  13.         pinMode(TrigPin, OUTPUT);
  14.     // 要檢測(cè)引腳上輸入的脈沖寬度,需要先設(shè)置為輸入狀態(tài)
  15.         pinMode(EchoPin, INPUT);
  16.         Serial.println("Ultrasonic sensor:");
  17.                 PinMode (led,OUTPUT);
  18. }
  19. void loop()
  20. {
  21.     // 產(chǎn)生一個(gè)10us的高脈沖去觸發(fā)TrigPin
  22.         
  23.                 digitalWrite(TrigPin, LOW);
  24.         delayMicroseconds(2);
  25.         digitalWrite(TrigPin, HIGH);
  26.         delayMicroseconds(10);
  27.         digitalWrite(TrigPin, LOW);
  28.                
  29.     // 檢測(cè)脈沖寬度,并計(jì)算出距離
  30.         int a = pulseIn(EchoPin, HIGH);
  31.         distance = a / 58.00;
  32.          Serial.print(distance);
  33.          Serial.print("cm");
  34.          Serial.println();
  35.          Serial.print(a);
  36.          Serial.println();
  37.                
  38.                
  39.                 //特雷門(mén)琴演奏模式
  40.                
  41.                 if (distance<61)
  42.                 {
  43.                  int m = map (distance,11,59,659,1661);
  44.                 tone ( speakerPin,m);
  45.                 }        
  46.                 delay (500);
  47.                 noTone(8);
  48. }
復(fù)制代碼





作者: 昆吾    時(shí)間: 2021-11-11 14:40
想問(wèn)一下“迷你特雷門(mén)琴”是怎么制作的呀?是用控件做的還是......?
作者: xjblzhp    時(shí)間: 2022-7-25 17:36
昆吾 發(fā)表于 2021-11-11 14:40
想問(wèn)一下“迷你特雷門(mén)琴”是怎么制作的呀?是用控件做的還是......?

我是用木板做的外殼,然后在超聲波傳感器前面放上張硬紙板,根據(jù)發(fā)出音頻標(biāo)記上音階。




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1