大香蕉大香蕉在线播放-日韩av在线一区中文字幕-日韩熟女熟妇久久精品综合-精品免费视频一区二区三区

技術熱線: 4007-888-234
設計開發(fā)

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應用測試 完善的開發(fā)代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)

單片機入門案例:使用PIC單片機制作聲控拍手開關

更新時間: 2019-11-18
閱讀量:5832

拍手開關對于初學者來說是一個很有趣的單片機方案。它以拍手的聲音打開和關閉電器。在本文中,英銳恩單片機開發(fā)工程師們將使用PIC單片機制作一個簡單的拍手開關,當它連續(xù)檢測到兩個拍手聲音時,該開關便會運行。在這個方案中,使用駐極體麥克風作為換能器,將拍手聲轉換為電信號。麥克風的輸出由晶體管放大,然后發(fā)送到PIC12F683單片機,當檢測到有效拍手時,PIC12F683單片機執(zhí)行ON/OFF切換動作。

QQ截圖20191118173115.png

聲控拍手開關的原理

拍手開關的輸入端需要一個換能器,以將拍手的聲音振動轉換為電能。為此使用駐極體麥克風或簡單的麥克風(OBO-04FN-0B)。麥克風的輸出中的聲音信號電流很低,因此我們需要一個放大器電路來增強檢測到的聲音信號。以下電路圖顯示了麥克風和單個晶體管放大器。當沒有聲音時,飽和的晶體管的集電極電壓(Vout)約為0.2V。當麥克風檢測到拍手聲時,其兩端的電壓突然下降。由于電容麥克風的輸出電壓通過電容器C1耦合到晶體管的基極,因此基極-發(fā)射極電壓也降低了,因此基極-發(fā)射極結點的正向偏置較少。拍手時,可以看到峰值電壓可以高達4.0V,具體取決于拍手的響度。

ClapSensorCircuit.png

現在我們知道了如何將拍手聲轉換為電信號。下一步是將該信號提供給PIC12F683單片機進行開關動作。PIC12F683單片機具有一個內置的比較器模塊,該模塊可用于比較兩個模擬電壓并獲得其相對幅度的數字指示。根據CMCON0寄存器中CM2-CM0的設置,比較器模塊可以以八種不同的模式工作。為了我們的目的,我們將其配置為:CIN-引腳配置為模擬,CIN +引腳配置為I/O,COUT引腳配置為I/O,內部提供比較器輸出,CVREF為同相輸入(見下圖)。

CMCON0_Config.png

我們將集電極輸出電壓(Vout)與內部產生的參考電壓進行比較。參考電壓在內部連接到比較器模塊的正輸入(CIN +),而傳感器的輸出電壓則饋送到比較器的負輸入(CIN-)。CIN-引腳與PIC12F683的GP1 I/O引腳復用。參考電壓的大小可通過VRCON寄存器進行編程和控制。我們將參考電壓設置為0.625V(假設電源電壓為5.0V)。因此,在正常情況下,參考電壓(0.625V)大于Vout(= 0.2V),比較器輸出(COUT)為高。COUT可通過GP2 I/O引腳在內部和外部進行訪問。當有拍手聲時,COUT會變低。通過將CMCON0寄存器中的比較器輸出反相(CIN)位置1,可以將比較器輸出邏輯反相??梢詫IC12F683單片機進行編程,以根據比較器輸出采取開關動作。

聲控拍手開關電路原理圖

這個簡單的拍擊開關方案的完整電路圖如下所示。內部比較器模塊的正和負輸入分別可通過GP0/CIN +和GP1/CIN-引腳從外部訪問。由于正輸入連接到內部基準電壓源,因此GP1引腳可用作I/O引腳。傳感器放大器的輸出將到達GP0/CIN +引腳。LED連接到GP5引腳以指示單片機的開關動作。當單片機連續(xù)檢測到兩個拍手聲時,它將在GP5引腳上切換邏輯輸出。LED在這里用于說明目的,如果您想用它來控制電器,可以用機電繼電器代替。

MicrocontrollerCircuit2.png

聲控拍手開關程序

該程序用C語言開發(fā),并使用MikroC Pro進行PIC編譯器編譯。程序以1.5秒的間隔連續(xù)尋找兩個拍手聲。如果發(fā)生這種情況,則將GP5引腳切換。當檢測到拍手時,Timer1模塊將打開以保持時間記錄。 1.5秒后,它將生成一個超時信號。如果在此之前沒有第二個拍手,則單片機將忽略第一個拍手,并返回到主程序。

sbit Output_LED at GP5_bit;
unsigned short i, TIME_UP;
 
void interrupt(void){
  if(PIR1.TMR1IF) {
    i ++;
    if(i == 3) TIME_UP = 1;  // Time Up in 1.5 sec
    PIR1.TMR1IF = 0;
 }
}
 
void main() {
  TRISIO = 0b00000011 ;
  ANSEL = 0x00;
  INTCON = 0b11000000 ; // Enable GIE and PEIE for Timer1 overflow interrpt
  PIE1 = 0b00000001 ;   // Enable TMR1IE
 
  // Configure Comparator module
  // CIN- pin is configured as analog,
  // CIN+ pin is configured as I/O,
  // COUT pin is configured as I/O,
  // Comparator output available internally,
  // CVREF is non-inverting input
  // CINV is set to 1
  CMCON0 = 0b00010100;
  VRCON  = 0b10100011;  // Vref is set to VDD/8
  Output_LED = 0;
  do{
     TMR1H = 0x00;
     TMR1L = 0x00;
     TIME_UP = 0;
     i = 0;
     T1CON = 0b00110000;   // Configure Timer 1
     if(CMCON0.COUT){      // First clap detected
       Delay_ms(100);
       T1CON.TMR1ON = 1;   // Start Timer1
       while(!CMCON0.COUT && !TIME_UP); // Wait until second clap is
       T1CON.TMR1ON = 0;                      // detected or Timer1 overflows
       if(CMCON0.COUT && !TIME_UP) Output_LED = ~Output_LED;
       Delay_ms(100);
     }
  }  while(1);
}


以上就是英銳恩單片機開發(fā)工程師分享的PIC單片機制作聲控拍手開關的方法。英銳恩專注單片機應用方案設計與開發(fā),提供8位單片機、16位單片機、32位單片機。

国产成人精品久久久成人| 啊灬啊别停灬用力啊男男在线观看| 成人刺激性视频在线观看| 美女人的逼免费观看| 精品无码一区二区三区无码 | 最新的亚洲欧美中文字幕| 国产剧情使劲操我逼| 亚洲精品精品精国产| 久久精品男人的天堂av| 91精品国产综合久久久蜜 | 影音先锋天堂网亚洲无码| 最新国产亚洲亚洲精品A| 国产剧情使劲操我逼| 最新免费高清无码片| 男人和女人干污污| 女同舔我下面直流水| 久久99热人妻偷产精品 | 青春草在线视频观看| 高颜值情侣鸡巴插插淫叫| 日韩欧美一级特黄大片欧| 精品福利一区二区三区在线观看| 成人av大全免费一区二区三区| 国内不卡的中文字幕一区| 操大美女逼射精视频| 几巴怪物操逼视频| 人人妻人人澡精品99| 91性潮久久久久久久久| 欧美性一区二区三区五区| 免费看黑人操逼视频| 大几吧插进小穴视频| 久久精精品久久久久噜噜| 日韩一区二区三区国色天香| 干美妞肛门在线播放| 美女的粉嫩小逼视频特写 | 天天日天天干天天天天操| 波多野结衣高潮尿喷| 久久久18禁一区二区网| 国产成人精品免费视频全| 大鸡巴狂插嫩逼视频| 亚洲欧美日韩中文v在线| 麻豆视频一级片在线观看|