<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> STM32 >> 瀏覽文章

        Rainbow STM32開源硬件《序》

        作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月17日   【字體:

           準備了很久,今天終于擠出一些空閑時間,開通了Rainbow STM32開源硬件的空間。
             今年年初,我給女兒買了一個火火兔故事機,女兒愛不釋手,火火兔每天不厭其煩地給她講故事、唱歌、播放音樂,給她的生活帶來了很多樂趣。有一天我跟孩子的媽媽在聊天,感慨的是火火兔的發明者,將一個都瀕臨淘汰的MP3播放器和一個可愛的兔子結合起來,沒想到這么受到小朋友的歡迎,我跟孩子的媽媽說,要是這個火火兔除了可以按鍵,如果能接受小朋友的語音指令,能夠互動該多好!沒想到女兒在旁邊聽到了,很天真的對我說:爸爸,我要!我考慮了一下,大學本科我學的是自動控制、碩士階段學了軟件,如果給女兒做一個應該是可行的,只是硬件設計已經10多年沒有接觸了,都不知道發展到什么程度了,不過反正有點基礎,嘗試一下還是可以的。
            說干就干,于是我開始在網上查資料,先從硬件入手,先后接觸到了Arduino、Maple、PCDuino、樹莓派等開源硬件,后來確定使用STM32的芯片,軟件方便我做了10多年,各種語言都還算比較熟悉,一路下來比較簡單。 折騰了兩個月,終于給女兒做了一個簡單的玩具:一個會聽話的臥室燈,可以在自己的臥室呼叫:小神燈,神燈會問:小主人,請問有什么吩咐,此時如果你對它說:開燈,燈就開了,說“關燈”,燈就關了,說“給我講個故事”,燈就開始講故事,如果說“10分鐘后關燈”,燈就會延時關掉;這個燈還可以播放音樂、給女兒唱歌,女兒非常喜歡,自豪地說“爸爸是個科學家”。
            這個小制作我采用了STM32F103RB+LD3320語音識別模塊以及MP3播放模塊,實現起來非常簡單,真正要開發這個只需要兩三天,實際上絕大部分時間是花在了準備階段,準備什么呢?首先是開發板選型,一開始選用Arduino,從我第一天接觸這個開源硬件,就深深被吸引了,Arduino模塊化的設計,真正實現了硬件積木化,只是采用的AVR單片機個人感覺性能有些低,我的一個朋友給我說,你為什么不采用ARM單片機,除了是32位CPU、片上的資源也非常豐富,于是我將目光轉向STM32,開始零基礎學習STM32,一段時間下來,有了些心得,于是我就有了個想法,能不能做一個STM32版本的Arudino呢,琢磨了一下還是可行,于是就開始學習Arduino設計原理,折騰了一個多月,終于實現了Arduino的核心類庫,包括對GPIO操作的封裝、定時器、USART、SPI、DHT11傳感器、能夠實現智能學習的紅外遙控類庫、2.4G無線通信,同時成功移植了FreeRTOS、Fatfs等,期間還依據Arduino的Ethernet接口,基于END28J60網絡模塊實現了一個相對完善的TCP/IP協議棧,為了與Arduino保持盡可能的兼容,相關的接口函數我盡量和Arduino保持一致。開發語音采用C++、工具使用的是Keil5,由于使用了功能強大的開發工具+j-link(ST-Link)調試線,個人感覺開發方面要比Arduino好很多。
            小制作完成之后,下一步我準備做一些有關物聯網的制作,在準備小制作的過程中形成了許多的C++/C程序,由于參照了Arduino的設計理念,個人感覺STM32的開發將變得很簡單, 我希望我花了這么多時間形成的成果能夠與更多的人分享,于是我找到了周工,周工從事硬件設計多年,設計經驗豐富,我跟他談了我的想法,希望設計一款面向物聯網開發的開發板,這個開發板要求不僅僅能滿足做實驗,而且具備直接用于物聯網產品的能力,經過我們討論,一方面要板子足夠小、同時包含的功能模塊又要能滿足物聯網開發的需求,最后我們確定這個板子上的資源如下:
              1、CPU:STM32F103RB、 STM32F103RC等64腳CPU兼容
              2、板載ENC28J60網絡模塊
              3、 板載TF卡插槽
              4、板載IIC:AT24C08
              5、其它資源:帶有DHT11溫濕度傳感器接口、紅外遙控放大電路、2.4G無線通信模塊NFR24L01接口等
            特別要說明的就是做紅外遙控方面的問題,紅外遙控接收、發送是家居智能、物聯網開發中必不可少的部分,但是由于STM32是3.3V單片機,IO電流有限,所以在做紅外遙控實驗的時候有可能出現遙控不了電視、空調的情況,這種情況多半是由于紅外發射功率不夠的原因,我們在設計的時候充分考慮到了這個問題,專門設計了紅外發射放大電路。
            現在板子的原型已經完成,等待進一步測試,周工問我,我們給板子起個什么名字呢?說實話,對于起名這種事情我還真不在行,剛好我和周工通話的時候在農村老家度假,天剛放晴,天上出現了彩虹,突然間我有了個主意,就叫Rainbow,彩虹代表絢麗多彩,讓我們使用Rainbow STM32物聯網開源硬件,開發出豐富多彩的電子產品吧!

        Rainbow STM32F103RB電路原理圖:http://pan.baidu.com/s/1sjCWJST

         

        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮