聲音激活報警電路示意圖
IoT報警如何工作?
該電路有兩個主要組件:運行的微控制器將數據發送到RIOTOUS服務器和音頻放大器所需的代碼。
駐極體麥克風檢測到音頻信號,但此麥克風的輸出幅度較低(峰峰值為mv),并且包含大量的DC偏移。為了消除DC偏移,使用電容器(C1),但產生的AC音頻波形仍然非常小。為了解決這個問題,使用增益約為50的LM358,然后通過U1B進行緩沖,然后將其發送到微控制器。然而,需要與來自耦合電容器C1的音頻信號并聯的二極管,因為運算放大器上的輸入上的負電壓可能導致不可預測的輸出行為。更具體地說,輸入電壓不應該比負電源更負(在我們的例子中,運算放大器的負電源是0V,而我們的耦合AC信號將具有比0V更負的幅度)。因此,D1在輸入變為負時導通,這基本上防止U1A輸入端的電壓低于-0.2V(這是肖特基二極管而不是常規硅二極管)。
微控制器運行RIOTOUS框架,這是一個非常輕量級的PIC微處理器IoT平臺。 main.c中的代碼首先設置內部外設,包括ADC模塊和UART模塊(記住,ESP8266通過UART進行通信)。
隨著一些繁瑣的端口設置的改變,執行的下一個主要代碼是internet_connectToRIOTServer(),它告訴ESP8266連接到特定的服務器。一旦實現了這一點,就會執行do while循環中的主要代碼。微控制器不斷測量放大器的電壓,并將該電壓與閾值進行比較。如果該值變得太大,則微控制器發出字母“D”以告訴服務器已檢測到聲音并且從那里服務器可以決定做什么。
雖然此項目中沒有給出服務器代碼,但該項目確實包含一個VB.NET項目形式的示例RIOT服務器。
構造
該項目使用CNC制造的定制PCB,但可以使用大多數(如果不是全部)電路構造技術構建。這些包括使用條形板,面包板,矩陣板,甚至點對點焊接(盡管非常困難)。
這個項目的所有KiCad文件,CNC文件和代碼都需要MPLAB來編程PIC,KiCad需要加載原理圖和PCB文件,以及合適的CNC軟件如Mach3來創建銑削的PCB。要創建一個RIOTOUS服務器,將需要Visual Studio,雖然有許多版本可用,但建議使用VS Express 2013。這個版本很難掌握,但下面是從download.microsoft到安裝程序的直接鏈接。
-
PIC18
+關注
關注
3文章
83瀏覽量
30215 -
警報器
+關注
關注
2文章
71瀏覽量
19693
發布評論請先 登錄
相關推薦
評論