999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Arduino和App Inventor的智能共享鼠標柜設計與實現

2020-01-03 01:24:34
計算機測量與控制 2019年12期
關鍵詞:單片機用戶設計

(浙江大學城市學院 信息與電氣工程學院,杭州 310015)

0 引言

物聯網技術是實現人與人、人與物、物與物交互和連接的M2M新型技術體系[1]。它在互聯網、射頻等無線通信等技術的基礎上,實現無處不在的物體感知、通訊和計算和在線服務等。物聯網體系結構從功能角度可以分為感知器、網絡層和應用層三部分[2]。當前物聯網技術能為各行各業提供智能物聯服務[3-5],利用射頻技術實現物品跟蹤、利用無線通信技術進行數據傳輸、實時在線監測、現場的遠程控制等功能。

共享經濟是源于實踐的全新經濟模式。共享的理念一經獲得共識,就迅速在美國、歐洲等信息技術發達的國家演變成了聲勢浩大的社會實踐[6]。在中國共享概念爆發于2016年,最為顯著的便是如今滿大街的共享單車,當然也有投資者涉水于共享汽車行業,再者如共享充電器、雨傘等行業。

網絡競技游戲的快速發展,使得玩家對鼠標需求也越來越高。好的鼠標不僅僅能夠提升游戲體驗,還可以幫助玩家在游戲中取得勝利。首先實際使用決定鼠標是否是好鼠標的標準之一是鼠標的外形尺寸,它對玩家的使用體驗至關重要的影響。很多游戲玩家在使用網吧鼠標時候,常常會發現鼠標的大小,與個人的手掌大小不符合,這在競技比賽或游戲使用過程中無法獲得舒適的使用感受,甚至會影響到勝利的獲取。為保證玩家在網吧中能夠選擇適合手掌尺寸的鼠標,在網吧中每臺電腦旁配備匹配玩家手掌大小的鼠標對游戲玩家來說非常有必要。因此,受到共享單車、共享充電器等共享概念的啟發,提出了物聯網技術下基于Arduino的共享鼠標柜設計。目前已有的鼠標網絡共享與現在的共享鼠標概念不同,傳統的共享鼠標是指共享使用一套鼠標實現同時對多臺客戶端系統進行操作和控制[7-9]。這一類共享鼠標是不適合于競技游戲中鼠標選擇需求的。

本文在共享經濟概念火爆以及市場空缺的背景下提出,共享鼠標柜在服務方面,可以解決網吧老板在購買(租賃)外設上面的售后問題;共享鼠標柜的出現,使得網吧投資成本減少了50%,讓資源得到有效整合,也讓鼠標共享成為一種新的共享潮流,成功實現網吧業主、網吧游戲玩家和廠家三方共贏的共享模式。

1 系統結構及原理

智能共享鼠標柜結構如圖1所示。該鼠標柜柜體分三層,每層放置一個有線鼠標,共可放置3個有線鼠標。每次只允許取出一個款鼠標使用,如需要換另外一個鼠標則需要將取出鼠標放進去才能置換;利用距離傳感器判斷鼠標是否已經取出,如果鼠標取出,與其對應的該層的可移動擋板上移,用戶可以拿出該鼠標;鼠標放回后,移動擋板下移將鼠標線壓住。圖中所示三組綠色/紅色發光二極管分別表示鼠標歸位或取出狀態。圖中所示一組紅色/綠色/紅色的發光二極管分別表示開門方向及門開狀態和門關閉狀態。可移動擋板和門對應的角度都為120°。用戶利用所設計手機APP掃碼開柜門,從擋板上移開始計時,鼠標放回、擋板下移且柜門關閉計時結束,這段時間即為收費時間段。門可設置左開或有開模式,以方便左手使用鼠標的用戶。

圖1 智能共享鼠標柜結構示意圖

用戶使用鼠標柜時首先需要下載所設計的APP,APP通過無線通信模塊與后臺服務器相連接,把相關的數據和信息發送給后臺管理系統,同時后臺管理系統能獲取到鼠標柜的定位,從而實現找鼠標柜的功能。當進行掃碼開門時,會將唯一的標識符等信息上傳至服務器管理系統,后臺管理系統進過驗證后發送給鼠標柜智能鎖的Arduino WIFI模塊,然后Arduino WIFI模塊向Arduino2560發送解鎖指令,Arduino2560收到后通過數字信號控制電機來進行開門。當用戶使用完時,關門時會觸發電子控制模塊的關門控制開關,然后中心控制單元通過數字信號控制模塊通過WIFI無線通信模塊通知后臺管理系統鼠標柜門為關閉狀態。

2 智能共享鼠標柜硬件設計

智能共享鼠標柜是以Arduino2560單片機為控制為核心。外圍模塊包括:ESP8266-12F WIFI通信模塊、電源模塊、4個步進電機、兩個舵機、4個綠色發光二極管、5個紅色發光二極管,硬件系統結構示意框圖如圖2所示。

圖2 硬件系統結構框圖

電源模塊給鼠標柜供電;ESP8266-12FWIFI模塊實現數據在單片機和手機用戶APP之間的傳輸;3個距離傳感器用來檢測鼠標是否放置好,沒有放置鼠標的距離是柜體格子的高度;4個步進電機分別控制3個擋板的上下移動和柜門向外的短距離移動,可移動擋板用來擠壓鼠標線控制每次只取一個鼠標;兩個舵機控制弧形門的左開和右開;前三組綠色/紅色發光二極管分別表示鼠標放置完好和鼠標被取出;第四組和第5個發光二極管用來表示開門狀態及開門方向,綠色表示門關閉。

2.1 ESP8266-12F模塊設計

ESP8266-12F的flash閃存比較大,另外ESP8266-12F支持機智云的MCU運行。與增加的功能相適應,12F增加了很多I/O口,一般是16個。但是12F有一個缺點就是需要自己搭建一些簡單的外圍電路。此處電路接線如圖3所示。

圖3 ESP8266-12F電路接線示意圖

2.2 紅外線距離傳感器設計

本設計采用GP2D12紅外線測距傳感器。該紅外傳感器連接使用簡單,可以精確測量1米以內的距離;數據測量值穩定,測量結果波動小;數據傳輸穩定,程序讀取簡單不會出現卡死現象,錯誤信號較少[10]。

該模塊電壓輸出與距離成反比,而且是非線性關系。通過查閱文檔資料可知10 cm距離時有2.55 V輸出,80 cm輸出時有0.42 V輸出。可以根據實際的測量值和輸出值擬合出電壓值與距離值之間的數學關系式,但是這個關系式里的距離值是參考距離值,而實際距離值為參考距離值與0.42 cm的差值。

Arduino單片機的模擬量采樣函數為analogRead(),采樣得而數據范圍為0到1 023,相對應的電壓范圍是0 V至5 V,因此每格數據代表0.004 9 V。而讀取的采樣有效數據是86~520,電壓為0.42~2.548 V,根據以上數據可以得到最終的實際距離與采樣數據之間的關系表達式為:

LR=2 547.8/((float)S*0.49-10.41)-0.42

其中:LR為實際距離,S是采樣數據。

將GP2D12紅外傳感器的VCC、GND、OUTPUT分別接至Arduino控制板上+5 V、GND、模擬端口A0。最好在VCC與GND之間并聯100 μ電解電容,以穩定GP2D12供電電壓,從而使輸出電壓更加穩定。硬件連接如圖4所示。

圖4 GP2D12紅外傳感器實物連接示意圖

2.3 步進電機的控制

步進電機使用反饋來確定軸的位置,我們可以非常精確地控制該位置。因此本設計用4個步進電機分別控制3個擋板的上下移動和柜門的小距離移動。步進電機經常用于控制物體的位置、旋轉物體等。步進電機體積小,并且由于它們內置電路控制其自身的運動,因此可以直接連接到Arduino開發板。

本設計將電源和地引腳直接連接到Arduino開發板的5 V和GND引腳。 PWM輸入連接到Arduino的一個數字輸出引腳。

2.4 舵機的控制

舵機是一種基于角度的位置伺服驅動器,主要由外殼、控制電路板、小型直流電機、變速齒輪組與可調電位器組成。其工作原理是由外接的單片機發出控制信號給舵機,其內部自有一個基準電路,產生周期為20 ms,寬度為1.5 ms的基準信號,將獲得的直流偏置電壓與可調電位器的電壓進行比較,獲得電壓差值輸出。經由電路板上的集成電路判斷轉動方向,再驅動小型直流電機開始轉動,透過變速齒輪組將動力傳至擺臂,同時由位置檢測器送回信號,判斷是否已經到達指定位置。舵機廣泛應用于需要角度不斷變化并可以保持的控制系統。當電機轉速一定時,可以通過級聯減速齒輪帶動電位器實現旋轉,使得電壓差為0 V,電機停止轉動。舵機旋轉角度的范圍為0~180°。

用Arduino單片機實現控制舵機的方法有兩種:一種是利用Arduino 單片機的普通數字傳感器接口產生不同占空比的方波,模擬產生PWM信號從而實現舵機定位;另一種是直接利用Arduino單片機 自帶的函數Servo()來進行舵機的控制,這種控制方法優勢在于程序編寫,其不足為因Arduino自帶函數只能利用數字9、10接口,所以其只能控制兩路舵機,另外,Arduino單片機的驅動能力有限,所以當需要控制一個以上的舵機時則需要外接電源。本設計采用第2個方式來實現舵機的控制。

3 智能共享鼠標柜軟件設計

這里主要指下位機軟件設計。下位機軟件系統主要包括系統初始化、鼠標取放控制、開門關門控制、鼠標使用狀態和門狀態控制、無線傳輸等模塊,軟件設計流程圖如圖5所示。

3.1 距離信號獲取程序

Inti; //模擬量讀取

intval; //模擬量轉換實際距離值存儲

intanalog=0; //模擬量接線引腳號

voidsetup()

{

pinMode(redpin,OUTPUT);

}

voidloop()

{

i=analogRead(analog);

val=(6762/(i-9))-4;

}

3.2 單片機與WIFI模塊通信

因為邏輯處理幾乎全在云端進行,所以單片機與WIFI模塊之間的通信的信息比較單一簡單,為了加強穩定性,不采用串口通信和I2C,而是采用了TTL通信。通過單片機處理后,發送給WIFI模塊的僅有所有模塊是否就緒信息。WIFI模塊在接收到服務器開門指令后,也采用TTL方式傳遞給單片機。這種方法穩定性高,不會有串口通信偶爾字節丟失的情況。

3.3 WIFI模塊與服務器交流

WIFI模塊與服務器采用單向訪問,WIFI模塊通過密鑰訪問到服務器的指定位置。服務器對WIFI模塊不進行任何直接控制,這樣降低了服務器的負擔,也保證了一定的安全性。

WIFI模塊在訪問數據庫對門的控制符時,無論是否接到開門信號,都主動讓門的控制符回歸關門狀態,類似于LED燈下拉電阻的原理,大大增加的程序與通信的穩定性。

3.4 步進電機控制程序

#define vcc 2

#define pls 3

#define dir 4

#define ena 5

void setup() {

Serial.begin(9600);

pinMode(vcc,OUTPUT);

pinMode(pls,OUTPUT);

pinMode(dir,OUTPUT);

pinMode(ena,OUTPUT);

}

void loop() {

digitalWrite(vcc,HIGH);

digitalWrite(pls,HIGH);

digitalWrite(dir,HIGH);

digitalWrite(ena,HIGH);

tone(pls,200);

}

最開始幾個define是定義引腳,VCC是給驅動器提供電源引腳,pls是給步進電機提供脈沖引腳,dir決定電機正轉還是反轉,ena相當于步進電機驅動器的開關,控制電路給ena引腳高電壓那么就相當于讓驅動器能夠接受控制信號,如果ena給的是低電壓,那么不論你怎么給脈沖信號電機都不會動。

圖5 軟件設計流程圖

4 智能共享鼠標柜APP設計

4.1 開發平臺

以App Inventor 2.0為開發平臺。它是一款可視化圖形化的APP開發環境,用戶能夠以拖曳積木的形式開發Android平臺的應用程序[11-12]。App Inventor的開發過程簡單、易操作;開發人員不需要太多的編程知識就能開發創造自己的應用程序。本文編程界面如圖6所示。

圖6 App Inventor 2.0開發環境示意圖

4.2 APP界面設計

智能共享鼠標主要界面有6個,分別為注冊界面、登陸界面、操作界面、掃描使用后界面、歸還界面及服務器管理界面,分別如圖7所示。

圖7 APP主要界面示意圖

5 服務器的搭設

設計使用個人電腦進行內網穿透后作為服務器使用,使用Wampserver集成環境,對Apache+PHP+Mysql進行調控。

5.1 PHP設計

PHP程序如圖8所示。對從APP端發送的信息進行處理,并且與數據庫進行溝通,最終并生成log_file.txt來記錄用戶使用情況,如圖9所示。

圖8 PHP程序設計示意圖

圖9 用戶使用記錄示意圖

5.2 數據庫設計

數據庫中設有用戶表和鼠標柜表兩種。用戶表用來保存并記錄用戶信息與狀態;鼠標柜表用以登記鼠標柜與其使用狀態。

用戶表如圖10所示,記錄了id、用戶名、密碼、余額、zhan;記錄1、0,用來確定是否有租用未完成,之后三項分別是租用開始時間、結束時間,還有所租借的機器號,后三項寫入日志后自動清除。

圖10 用戶表示意圖

鼠標柜表如圖11所示,記錄了鼠標柜id、機器名、使用狀態、門口開關狀態、開門指令。

圖11 鼠標表示意圖

6 實驗數據與分析

6.1 高度測試

鼠標柜每層設計高度為15 cm,對本設計所用的距離傳感器進行距離測試,測試結果如圖12所示。

圖12 距離傳感器距離測試

平均相對誤差為0.235 cm,而鼠標的高度大約在3~4.02 cm之間,測量平均誤差與鼠標高度的絕對誤差為7.8%~5.8%之間,這個誤差不影響判斷鼠標是否存在。

6.2 開關門測試

開門測試主要是對舵機控制的測試。舵機是用歐鵬公司的舵機。我們應用該舵機連續參加四屆的機器人競賽,并每年都在運輸機器人對抗賽和超市機器人挑戰賽中獲獎[13],該舵機性能優良,運行穩定。

7 結束語

設計了一款基于Arduino和App Inventor的智能共享鼠標柜。該鼠標柜用來存放3個不同型號的鼠標,以供不同需求的人進行選擇。硬件部分通過Arduino控制相應外圍模塊實現;手機用戶APP的利用App Inventor2完成,用戶可以通過APP掃碼租用鼠標并通過服務器端查看用戶租用和鼠標使用情況。該鼠標柜用于有線鼠標,對于無線鼠標來說,該鼠標柜無法實現每次只能取用一個的功能。下一步將著重解決能夠實現無線鼠標租用的智能鼠標柜設計。

猜你喜歡
單片機用戶設計
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 伊人天堂网| 婷婷激情亚洲| 欧美日韩北条麻妃一区二区| 国产精品va免费视频| 国产精品福利社| 亚洲国产欧美目韩成人综合| 国产成人精品高清不卡在线| 国产资源免费观看| 亚洲综合在线网| 久久男人视频| 国产专区综合另类日韩一区| 国产门事件在线| 亚洲欧州色色免费AV| 欧美国产中文| 日本三级欧美三级| 国产一区二区视频在线| 亚洲欧州色色免费AV| 亚洲第一综合天堂另类专| 一区二区三区四区在线| 香蕉网久久| 免费国产高清视频| 四虎成人精品| 国产精品美女自慰喷水| 99久久精品免费看国产电影| 欧美色视频日本| 亚洲天堂视频在线观看免费| 久久精品无码一区二区国产区| 国产福利一区视频| 亚洲视频无码| 国产99在线| www.亚洲天堂| 伊人AV天堂| 亚洲区一区| 欧美成人一级| 狠狠色噜噜狠狠狠狠色综合久| 不卡无码h在线观看| 国产精品3p视频| 人妻丰满熟妇αv无码| 在线看片免费人成视久网下载| 女人18毛片久久| 91黄色在线观看| 国产成人久久综合一区| 久草视频一区| 丰满少妇αⅴ无码区| 国产无码高清视频不卡| 国产成年无码AⅤ片在线 | 亚洲精品麻豆| 国产一区二区三区夜色| 波多野结衣的av一区二区三区| 97se亚洲综合在线韩国专区福利| 久久国产精品电影| 少妇精品在线| 国产精品久线在线观看| 色国产视频| 风韵丰满熟妇啪啪区老熟熟女| 欧美综合在线观看| 欧美日韩精品一区二区在线线| 久久96热在精品国产高清| 欧美天天干| 少妇人妻无码首页| 免费福利视频网站| 日韩欧美国产区| 国内精品久久久久鸭| 亚洲欧美日韩视频一区| 亚洲精品波多野结衣| 日韩高清欧美| 一本一道波多野结衣av黑人在线| 成人午夜网址| 精品一区二区无码av| 婷婷丁香色| 日韩亚洲综合在线| 亚洲精品欧美重口| 欧美日本一区二区三区免费| 欧美视频二区| 亚洲国产精品不卡在线 | 青草国产在线视频| 亚洲精品777| 国产精品污污在线观看网站| 久久综合国产乱子免费| 日本成人精品视频| 国产精品毛片一区| 思思热精品在线8|