arduino入門學習實現語音控制LED燈

來源:互聯網
上載者:User

標籤:

需要的準備的硬體arduino+PC+麥克風實現語音命令控制LED燈的亮滅。

首先需要將寫好的arduino程式燒錄到arduino uno主板中,下面是代碼如下:

int val;//定義變數valint ledpin=10;//定義數字介面13void setup(){Serial.begin(9600);//設定傳輸速率為9600,這裡要跟軟體佈建相一致。當接入特定裝置(如:藍芽)時,我們也要跟其他裝置的傳輸速率達到一致。pinMode(ledpin,OUTPUT);//設定數字10 口為輸出介面,Arduino 上我們用到的I/O 口都要進行類似這樣的定義。}void loop(){val=Serial.read();//讀取PC 機發送給Arduino 的指令或字元,並將該指令或字元賦給valif(val==‘O‘)//判斷接收到的指令或字元是否是“R”。{//如果接收到的是“R”字元digitalWrite(ledpin,HIGH);//點亮數字10 口LED。delay(500);Serial.println("Open Led");//顯示“Open Led!”字串}if(val==‘C‘){ digitalWrite(ledpin,LOW);//熄滅數字10 口LED delay(500); Serial.println("Close Led");//顯示“Open Led!”字串}if(val==‘S‘){digitalWrite(ledpin,HIGH);//點亮數字10 口LED。delay(1000); digitalWrite(ledpin,LOW);//熄滅數字10 口LED delay(1000); Serial.println("S Led");//顯示“S Led!”字串}}

 上面單片機接受的主要是字元O代表open開啟的意思,C代表Close關閉,S代表LED閃爍。把程式燒錄到主板後,下面我們就可以通過串口通訊就可以使電腦與單片機進行通訊了。

串口通訊代碼如下:

   SerialPort _serialPort;        void Init()        {            _serialPort = new SerialPort();            _serialPort.PortName = "COM3";            _serialPort.BaudRate = 9600;            _serialPort.Open();                 }

語音辨識模組網上很多大家可以搜尋一下這裡我用的就是win7內建的語音辨識主要用到的

          private SpeechLib.ISpeechRecoGrammar isrg;
          private SpeechLib.SpSharedRecoContextClass ssrContex = null;

整體思路就是:將聲音識別出text,然後根據自己喜歡的話語來當作命令,通過串口將命令發送給單片機,單片機接線也在圖片上體現了,如果大家想控制家裡的電燈的話還得需要繼電器進行電壓和電流轉換。

 

arduino入門學習實現語音控制LED燈

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.