• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于開源硬件的多傳感器綜合創(chuàng)意系統(tǒng)設計

      2020-07-26 14:23李主國陳錚
      軟件導刊 2020年7期

      李主國 陳錚

      摘 要:電子硬件界對軟件以外的領域進行開源運動,開源文化又添硬件一脈,硬件設計原理圖及相關軟件代碼完全開源共享,促成了開源硬件的誕生及其廣泛使用。為大幅降低系統(tǒng)整體成本,體現(xiàn)開源硬件的靈活性,對多傳感器綜合創(chuàng)意模型系統(tǒng)的數(shù)據(jù)采集進行研究。采用arduino UNO開發(fā)板和傳感器套件,通過GPIO的讀寫實現(xiàn)互動型創(chuàng)意系統(tǒng),對門鈴、房間燈光、戶外秋千、圍欄等設施進行控制,采用LCD1602液晶屏顯示歡迎信息并實時刷新采集到的數(shù)據(jù)信息。系統(tǒng)典型數(shù)據(jù)采樣及刷新率達到毫秒級別,部件可替換,便于功能升級和產(chǎn)品迭代,具有互動性和觀賞性,易于學習和使用。

      關鍵詞:arduino單片機;開源硬件;多傳感器

      DOI:10. 11907/rjdk. 192391 開放科學(資源服務)標識碼(OSID):

      中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2020)007-0136-04

      The Design of Multi-sensor Integrated Creativity System

      Based on Open Source Hardware

      LI Zhu-guo1, CHEN Zheng2

      (1. Hubei Radio & TV University, Wuhan 430074, China; 2. College of Arts & Science of Jianghan University, Wuhan 430345,China)

      Abstract: In the field of electronic hardware, the open-source movement has been carried out in areas other than software. The open-source culture stimulates the open-source develoment of hardware. The hardware design schematic diagram and related software code are fully open-source shared, which has contributed to the birth and wide use of open-source hardware,and has become another important branch of open source culture. This article uses Arduino UNO and sensor kits to realize interactive creative system through GPIO reading and writing, launch data collection research of multi-sensor integrated creative system, control doorbell, room lighting, outdoor swing, fence and other facilities, adopt LCD1602 screen to display the welcome message and refresh the collected real-time data information. The system components are replaceable and it is easy to upgrade and iterate. The implemented system is inexpensive, easy to learn and use, and has high interactivity and enjoyment.

      Key Words: Arduino microcontroller; open source hardware; multi-sensor

      0 引言

      繼開源軟件浪潮興起之后,電子硬件界也開始考慮對軟件以外的領域開展開源運動,于是催生了開源硬件并得到廣泛應用,開源文化又添硬件一脈。開源硬件與開源軟件類似,是采用與自由版權(quán)及開放源代碼軟件類似的流程和方式設計的電子硬件,硬件設計原理圖及相關軟件代碼完全開源共享。隨著開源硬件的誕生和發(fā)展,創(chuàng)新理念得到了極大的拓展。電子硬件界的開源文化開始風靡全球,很大程度上歸功于硬件設計原理圖的公開及社區(qū)的自發(fā)支持[1-3]。

      互聯(lián)網(wǎng)的發(fā)展、3D打印技術的廣泛普及和開源平臺的逐漸成熟,以及各類人工智能技術的涌現(xiàn)、物聯(lián)網(wǎng)的快速發(fā)展,推動全球創(chuàng)客運動遍地開花。在各類組織、團體和社區(qū)的組織下,面向不同要求的多樣化開源硬件產(chǎn)品不斷涌現(xiàn)并開始迅速迭代。開源電子硬件的出現(xiàn)開始沖擊傳統(tǒng)方式的創(chuàng)新,共享協(xié)作的創(chuàng)新方法快速引導創(chuàng)客們積極創(chuàng)新制造,使得創(chuàng)新更容易、獲取工具更便宜,以開源硬件為基礎開發(fā)的各種產(chǎn)品正改變和豐富著我們的生活,創(chuàng)客運動進一步促進了創(chuàng)客的分享精神,以更快的方式促進項目的開展和完善,越來越多的創(chuàng)客項目在社區(qū)呈現(xiàn)出來,越來越多的人加入到項目學習和拓展當中,同時也分享自己的創(chuàng)新作品和技術,開源硬件已經(jīng)從上至下形成了完整產(chǎn)業(yè)鏈和生態(tài)圈。開源硬件是創(chuàng)客教育的核心支撐,是一種創(chuàng)新方式和創(chuàng)新理念的拓展,基于這種創(chuàng)新理念形成了強大的生態(tài)系統(tǒng),以分享的方式促進創(chuàng)客教育,反過來創(chuàng)客運動又帶動開源硬件的蓬勃發(fā)展。基于項目學習的STEAM教育快速變遷,以MIT等國外名校為代表的創(chuàng)客教育,把創(chuàng)新能力培養(yǎng)推向高潮[4-7]。以arduino、raspberry、beagle bone black等典型硬件為基礎的易于學習和使用的開源電子硬件平臺,正越來越多地替代傳統(tǒng)的以51、AVR單片機或8086、ARM微處理器為核心的實驗平臺[8],為世界教育和創(chuàng)新創(chuàng)意創(chuàng)業(yè)提供更好的服務[9]。

      使用arduino硬件平臺,可通過各種傳感器感知環(huán)境的各種狀態(tài),通過控制燈光、馬達和其它裝置來反饋、影響環(huán)境[10]。國內(nèi)外對arduino的應用研究涵蓋互動設計、智能家居[11]、教育教學[12-13]等領域,特別是在產(chǎn)品原型開發(fā)方面[14]。本文在已有研究基礎上,考慮降低系統(tǒng)成本并增強系統(tǒng)可用性,利用價格低廉的arduino UNO開發(fā)板和傳感器套件,開展多傳感器綜合創(chuàng)意模型系統(tǒng)的數(shù)據(jù)采集研究[15-16],擬通過GPIO的讀寫實現(xiàn)互動型創(chuàng)意系統(tǒng),對門鈴、房間燈光、戶外秋千、圍欄等設施進行控制;采用液晶屏LCD1602顯示必要的歡迎信息并實現(xiàn)實時信息刷新。創(chuàng)意系統(tǒng)如圖1所示。

      1 系統(tǒng)需求分析

      1.1 項目需求

      考慮到直觀性,本文所涉及的場景屬于平面環(huán)形區(qū)域。主要限于花園范圍,以圍欄為外界,以房屋為內(nèi)界(房屋內(nèi)部只考慮安裝蜂鳴器和照明燈,以三色LED模擬七彩光影)?;▓@內(nèi)部設有秋千和燈帶,房屋門外邊配有門鈴按鈕,燈亮度旋鈕放置在房屋墻邊,圍欄門口設置觸碰開關,液晶屏位于圍欄門口處。采用價格比較低廉的常用傳感器實現(xiàn)設備控制功能。各區(qū)域功能劃分及設備一覽表見表1。

      1.2 IO點數(shù)分布

      傳感器使用不同方式采集環(huán)境信息,并與主控單片機進行通信。常用傳感器接線一般采用三線制,除正電源和接地外,另一根線是信號線。三色LED接線共5根,其中3根信號線分別代表紅、綠、藍3種顏色信號。內(nèi)部具有芯片處理的傳感器(例如串口LCD),連接方式為四線制,用兩根信號線模擬串口或IIC通信。

      根據(jù)表1,結(jié)合各傳感器的功能和接線特征,統(tǒng)計得到系統(tǒng)的IO點數(shù),如表2所示。數(shù)字量信號12個,模擬量信號2個,采用arduino UNO(支持數(shù)字量信號16個,模擬量信號6個),IO口數(shù)完全夠用。

      2 系統(tǒng)設計實現(xiàn)

      2.1 功能模塊設計

      根據(jù)表2,結(jié)合設備功能設立5個單獨模塊分別完成各部分功能。門鈴模塊需要處理按鈕的響應并驅(qū)動蜂鳴器播放一段音樂;室內(nèi)燈光模塊響應燈亮度旋鈕的動作,調(diào)節(jié)三色LED控制室內(nèi)光影效果;秋千模塊根據(jù)傾斜開關控制繼電器輸出,隨秋千搖擺,控制燈帶亮滅;圍欄模塊根據(jù)觸碰開關狀態(tài)控制繼電器動作,實現(xiàn)圍欄門的開關;液晶屏模塊用于顯示歡迎信息、時間、環(huán)境溫度等信息;溫度傳感器通過熱敏電阻進行模數(shù)轉(zhuǎn)換處理,采集環(huán)境溫度,發(fā)送給arduino單片機,再由單片機控制屏幕顯示正確的溫度數(shù)據(jù);按鈕控制屏幕顯示內(nèi)容,在歡迎信息和溫度信息之間可以切換。

      從模擬IO口讀到的數(shù)值A(0-1023)與環(huán)境溫度值T(攝氏度)之間的關系如下:

      2.2 系統(tǒng)流程

      使用C/C++語言對arduino單片機編寫程序,利用已有的相關庫文件簡化編程,只需要關注整體業(yè)務邏輯即可[17-18]。硬件的初始化等只需要執(zhí)行一次的內(nèi)容放入setup()函數(shù)中,而日常反復執(zhí)行的任務放入loop()函數(shù)中處理。功能流程如圖2所示,系統(tǒng)的IO定義如表3所示。

      所有GPIO模式設置由setup()函數(shù)處理,其它5個模塊的功能全部需要loop()函數(shù)作輪詢處理。主流程需要輪詢處理門鈴、室內(nèi)燈光、秋千搖擺、圍欄狀態(tài)和液晶屏顯示功能。液晶屏顯示要在歡迎信息和溫度顯示之間進行切換,切換條件由與液晶屏相連的按鈕狀態(tài)決定。溫度信息顯示處理部分除使用式(1)計算外,還需要考慮小數(shù)位數(shù)處理。C語言核心代碼如下:

      void setup() {//初始化

      pinMode(buzzerPin, OUTPUT);

      pinMode(buttonPin,INPUT);

      pinMode(ledPin1,OUTPUT);

      pinMode(ledPin2,OUTPUT);

      pinMode(ledPin3,OUTPUT);

      pinMode(tiltPin,INPUT);

      pinMode(relayPin,OUTPUT);

      pinMode(relayPin2,OUTPUT);

      pinMode(protoshieldPin,INPUT);

      pinMode(lcd_buttonPin,INPUT);

      slcd.begin();

      slcd.backlight();

      }

      void loop() {//日常事務處理

      int slideValue = 0;

      int saveValue = 0;

      int lcd_buttonFlag = 1;

      while(1) {

      //1.doorbell //門鈴

      if(digitalRead(buttonPin) == true)

      playMusic();

      //2.room light 室內(nèi)燈光

      slideValue = analogRead(slidePin);

      if(slideValue != saveValue) {

      lightAdjust(slideValue);

      saveValue = slideValue;

      }

      //3.swing //秋千搖擺

      if(digitalRead(tiltPin)) {

      digitalWrite(relayPin,HIGH);

      delay(200);

      } else {

      吴旗县| 昌都县| 富平县| 大邑县| 定襄县| 满城县| 云和县| 长寿区| 合江县| 惠水县| 九江县| 莱州市| 临夏县| 罗江县| 黔西| 黄石市| 都匀市| 奉贤区| 金湖县| 宜都市| 海伦市| 奉化市| 随州市| 即墨市| 得荣县| 密云县| 长治市| 绥宁县| 辉南县| 嘉黎县| 神池县| 五原县| 景德镇市| 青河县| 齐河县| 桑日县| 平塘县| 姚安县| 乐业县| 宜良县| 东方市|