女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享一個使用Arduino敲擊手指生成音調的項目

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯文斯·拉吉 ? 2023-01-25 15:28 ? 次閱讀

在這個項目中,我們將使用 Arduino 構建一個娛樂。我們都有敲擊桌子或筆來創作任何隨機音樂的習慣。當然,這可能不被認為是一種良好的舉止,但我們都喜歡至少做一次。因此,我想通過使用Arduino的音調播放能力將其提升到一個新的水平。一旦你構建了這個項目,你就可以通過 敲擊任何導電的東西來生成音調 ,并創造你自己的節奏,就像在你的手掌上彈鋼琴一樣。聽起來很酷,所以,讓我們構建它。

所需組件:

本項目所需的材料如下,不一定要堅持。一旦你掌握了這個概念,你就可以使用自己的方式來構建它。

  1. Arduini Pro Mini
  2. 培佐揚聲器
  3. 柔性傳感器
  4. 手指手套
  5. 10K 電阻器
  6. BC547 晶體管
  7. 9V電池

電路圖及說明:

這款Arduino棕櫚鋼琴的電路圖如下所示。

1.png

該項目總共使用四個傳感器,即兩個 柔性傳感器和兩個達林頓對作為觸摸傳感器 。我們還使用了兩個下拉電阻R1和R2,每個值為10k,它們將充當Flex傳感器的下拉電阻。在這里,Flex傳感器用于使用一根手指根據彎曲的程度生成三種不同的音調。所以我們可以用兩根手指發出 6 種聲音。在此處了解柔性傳感器

達林頓對:

在我們繼續之前,重要的是要知道什么是達林頓以及它在我們的項目中究竟是如何工作的。達林頓對可以定義為兩個雙極晶體管的連接方式,即第一個晶體管放大的電流被第二個晶體管進一步放大。下圖顯示了達林頓對:

達林頓對

如上所示,我們使用了兩個BC547晶體管,其集電極連接在一起,第一個晶體管的發射極與第二個晶體管的基極連接。該電路充當具有增益的放大器,這意味著提供給第一個晶體管基極的任何小信號都足以偏置第二個晶體管的基極。 我們的身體在這里充當接地 ,因此每當我們觸摸晶體管的底部時,第二個晶體管就會偏置。利用這一點,我們為這個項目構建了觸摸傳感器。

引腳 2 和 3 是 Arduino 上的中斷引腳,將使用內部上拉電阻器將其拉高,然后在達林頓開關閉合時將這些引腳固定在地。這樣,每次我們觸摸電線時(從 1 的底部^圣^晶體管)將從 Arduino 觸發中斷。

使用兩個手指只能產生兩種類型的音調,因此我還添加了一個柔性傳感器,它會根據彎曲的程度改變音調。我已經編程為根據手指(柔性傳感器)彎曲的程度為每個手指產生三種不同的音調。如果您想在指尖擁有更多音調,可以增加數量。

我在性能板上制作了完整的板,以便它很容易放入我的手掌,但您也可以使用面包板。只要確保你的身體在某個時候接觸電路的地面。焊接所有東西后,它應該看起來像這樣

阿杜伊諾手指敲擊鋼琴

通過使用 Arduino 敲擊手指來生成聲音

我用兩只手指手套將達林頓對的電線固定到位,如上所示。您可以提出自己的(如果可能的話更好)想法,以便在播放音調時將它們固定到位。

Arduino編程:

這個Arduino點擊音發生器的程序非常簡單。我們只需要注意來自達林頓電線的中斷,如果找到一個,我們必須播放音調,這取決于彎曲傳感器彎曲的程度。完整的代碼在這篇文章的末尾給出,但我在下面解釋了幾個重要的塊。

注意:該程序在庫“pitches.h”的幫助下工作。因此,請確保在編譯之前已將頭文件添加到程序中。您可以從此處下載 pitches.h 頭文件。

在設置函數中,我們將引腳 2 和 3 初始化為帶有上拉電阻的輸入。我們還將它們聲明為中斷引腳,并在引腳 2 上有中斷時執行 tone1(),當引腳 3 上有中斷時執行 tone2() 函數^RD^針。每當這些引腳從其上拉狀態變為低電平時,就會觸發這些中斷。

void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), tone1, LOW);
attachInterrupt(digitalPinToInterrupt(3), tone2, LOW);
Serial.begin(9600);
}

環路功能內部,我們不斷檢查柔性傳感器的彎曲程度。例如,我的 FlexSensor 1 在保持平坦時給出的值約為 200,當我將其彎曲到最大值時,值一直下降到 130,因此我將值從 200 映射到 130 為 1 到 3,因為我必須播放 3 種不同類型的音調。您必須根據 Flex 傳感器值和音調數量調整這兩條線。

void loop() {
 flexSensor1 = map(analogRead(A0),200,130,1,3); //Map up with your own values based on your flex sensor
 flexSensor2 = map(analogRead(A1),170,185,1,3); //Map up with your own values based on your flex sensor

}

正如我們之前看到的,當在引腳 2 上檢測到中斷時,函數 tone1() 將被執行。tone1() 函數內部發生了什么如上所示。我們查看 FlexSensor1 的值,并根據 flexSesnor 值播放音調。音調將使用Arduino的音調功能播放。

void tone1()
{
if (flexSensor1==1)
tone(8, NOTE_D4,50);
else if (flexSensor1==2)
tone(8, NOTE_A3,50);
else if (flexSensor1==3)
tone(8, NOTE_G4,50);
else
tone(8, NOTE_D4,50);
}

下面的行用于播放音調。您可以播放“pitches.h”頭文件中可用的任何音調。例如,上面的行在引腳上播放NOTE_A3,持續時間為 50 毫秒。

tone(8, NOTE_A3,50); //tone(PinNum,Note name, Duration);

加工:

硬件準備就緒后,上傳代碼并將其安裝在手指上。確保您的身體在某個時候接觸電路的地面。現在只需觸摸任何導電材料或您的身體,您應該能夠聽到相應的音調。您可以通過以不同的間隔和不同的位置點擊來播放自己的旋律或音樂。

/*
* Arduino based Tap and Tone player
* Published by: CircuitDigest.com
* Code By: B.Aswinth Raj
* Dated:8-7-2017
*
* ###CONNECTIONS###
* Darlington Wire 1 -> Pin 2
* Darlington Wire 2 -> Pin 3
* FlexSensor 1 -> A0
* FlexSensor 2 -> A1
* Speaker -> Pin 8
*/

#include "pitches.h" //add this librarey into the project folder
int flexSensor1,flexSensor2;

void setup() {
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), tone1, LOW); //Trigger tone1 when LOW
attachInterrupt(digitalPinToInterrupt(3), tone2, LOW); //Trigger tone2 when LOW
Serial.begin(9600);
}

void loop() {
flexSensor1 = map(analogRead(A0),200,130,1,3); //Map up with your own values based on your flex sensor
flexSensor2 = map(analogRead(A1),170,185,1,3); //Map up with your own values based on your flex sensor
}

//**Function to execute on Interrupt 1**//
void tone1()
{

if (flexSensor1==1)
tone(8, NOTE_D4,50);
else if (flexSensor1==2)
tone(8, NOTE_A3,50);
else if (flexSensor1==3)
tone(8, NOTE_G4,50);
else
tone(8, NOTE_D4,50);
}

//**Function to execute on Interrupt 2**//
void tone2()
{

if (flexSensor1==1)
tone(8, NOTE_A4,50);
else if (flexSensor1==2)
tone(8, NOTE_F4,50);
else if (flexSensor1==3)
tone(8, NOTE_E4,50);
else
tone(8, NOTE_A4,50);
}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 音調
    +關注

    關注

    0

    文章

    22

    瀏覽量

    26799
  • Arduino
    +關注

    關注

    188

    文章

    6491

    瀏覽量

    190103
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    簡易的敲擊裝置

    想設計簡單的敲擊裝置,敲擊球的表面,采集振動信號~要保證
    發表于 03-23 15:35

    音調發生器模塊是如何利用計數器去生成1kHz信號的

    如何去制作通用的音調發生器模塊?該模塊有何功能?音調發生器模塊是如何利用計數器去生成
    發表于 08-19 07:45

    自制arduino項目

    描述你自己的arduino項目這個項目最適合初學者到高級制作自己的 arduino 是每個人都想做的夢想,在這里您只需單擊下即可
    發表于 08-15 06:03

    簡單的音調控制電路

    描述Baxendall 音色棧這只是簡單的音調控制電路,可以添加到現有項目中以獲得更好的音頻控制。
    發表于 08-17 06:31

    帶有Arduino NANO V3的PLC項目

    描述PLC Arduino NANO 可編程梯形圖該項目帶有 Arduino NANO V3 的 PLC,可以使用 LadderMak
    發表于 08-23 06:54

    分享不錯的Arduino NANO項目

    描述Arduino NANO 項目#11 | 氣象站 | 風速
    發表于 08-30 07:24

    分享不錯的Arduino-PLC項目

    描述Arduino-PLC 項目(第 2 張,共 5 張)這個項目包含 5 張卡片,它們用排針相互交錯。Arduino Nano 數據表將幫助您進行連接。其他用于 Nano 編程的 3
    發表于 09-07 06:26

    是否有生成方波的音調函數?

    的程序,帶有中斷以捕獲 GPIO 切換按鈕并在觸摸按鈕時結束電子郵件。該程序運行完美,它的名稱為 default.bas。即使在參數中打勾,程序也不會單獨啟動。我需要按 RUN 才能讓它工作。 第二問題:是否有生成方波的音調
    發表于 05-10 13:15

    怎樣將敲擊傳感器與Arduino接口

    在這個項目中,我們將了解敲擊傳感器或振動傳感器(有時稱為分接傳感器)。在此過程中,我們將看到敲擊傳感器的組件,敲擊傳感器的工作原理以及如何將敲擊
    的頭像 發表于 07-30 10:49 ?9915次閱讀

    簡單的PCB鍵盤,可輕松用于Arduino項目

    簡單的PCB鍵盤,可輕松用于Arduino項目。提供了完全可定制的代碼! 硬件部件: Arduino UNO?? ?×?? ?1
    的頭像 發表于 01-27 14:00 ?4495次閱讀

    如何使用Arduino構建電子動畫眼睛

    在這個項目中,我們將使用 Arduino 構建動畫眼睛。在網上尋找新的項目創意時,我萌生了制作動畫眼睛的想法,這個
    的頭像 發表于 07-10 09:52 ?3135次閱讀
    如何使用<b class='flag-5'>Arduino</b>構建<b class='flag-5'>一</b><b class='flag-5'>個</b>電子動畫眼睛

    使用Arduino Uno生成波形

    電子發燒友網站提供《使用Arduino Uno生成波形.zip》資料免費下載
    發表于 11-04 14:12 ?6次下載
    使用<b class='flag-5'>Arduino</b> Uno<b class='flag-5'>生成</b>波形

    將使用代碼生成生成項目移植到與智能配置器起使用的項目

    將使用代碼生成生成項目移植到與智能配置器起使用的項目
    發表于 01-11 19:00 ?0次下載
    將使用代碼<b class='flag-5'>生成</b>器<b class='flag-5'>生成</b>的<b class='flag-5'>項目</b>移植到與智能配置器<b class='flag-5'>一</b>起使用的<b class='flag-5'>項目</b>

    使用Arduino播放不同頻率的音調

    電子發燒友網站提供《使用Arduino播放不同頻率的音調.zip》資料免費下載
    發表于 06-27 09:46 ?0次下載
    使用<b class='flag-5'>Arduino</b>播放不同頻率的<b class='flag-5'>音調</b>

    將使用代碼生成生成項目移植到與智能配置器起使用的項目

    將使用代碼生成生成項目移植到與智能配置器起使用的項目
    發表于 06-30 20:54 ?0次下載
    將使用代碼<b class='flag-5'>生成</b>器<b class='flag-5'>生成</b>的<b class='flag-5'>項目</b>移植到與智能配置器<b class='flag-5'>一</b>起使用的<b class='flag-5'>項目</b>