衡阳派盒市场营销有限公司

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>Arduino控制和監(jiān)控紫外線殺菌燈的方法

Arduino控制和監(jiān)控紫外線殺菌燈的方法

2022-11-10 | zip | 0.08 MB | 次下載 | 2積分

資料介紹

描述

背景

這是一種使用 Android 設(shè)備上的藍(lán)牙通信以及支持藍(lán)牙的 Arduino 來控制和監(jiān)控紫外線殺菌燈的方法。該藍(lán)牙控制模塊是為嶺南大學(xué)嶺南創(chuàng)業(yè)計(jì)劃的“紫外光”計(jì)劃設(shè)計(jì)的,用于控制紫外線殺菌燈。該項(xiàng)目所使用的燈能夠?qū)ο愀鄣牡褪杖胱》窟M(jìn)行消毒。在 COVID-19 大流行期間,來自當(dāng)?shù)胤钦M織的志愿者使用這些燈對(duì)香港 1000 多個(gè)低收入住宅進(jìn)行了消毒。這些藍(lán)牙控制的燈設(shè)計(jì)為安全、耐用且易于使用。該項(xiàng)目由嶺南大學(xué)、香港大學(xué)社會(huì)工作及社會(huì)行政學(xué)系合作,由香港賽馬會(huì)慈善信托基金資助的明愛青年及社區(qū)服務(wù)和健康行動(dòng)

該項(xiàng)目可用于控制任何紫外線(或傳統(tǒng)燈),但專門設(shè)計(jì)并使用 Project Ultra-Violite 燈進(jìn)行了測(cè)試。

該項(xiàng)目存在使用交流電源以及 C 波段紫外線的風(fēng)險(xiǎn)。

使用主電源并與之交互是危險(xiǎn)的。此項(xiàng)目中的接線只能由受過培訓(xùn)且能夠熟練使用主電源的人員完成。如果您不熟悉交流電源的安全要求,請(qǐng)向受過適當(dāng)培訓(xùn)的技術(shù)人員尋求幫助。

C波段的紫外線對(duì)眼睛和皮膚有害。接觸會(huì)導(dǎo)致失明和灼傷。切勿以您或其他生物可能以任何方式暴露在光線下的方式操作燈。您必須確保沒有人與燈光在同一個(gè)房間內(nèi),或在燈光運(yùn)行時(shí)可能暴露在燈光下的任何位置。

概述

該項(xiàng)目由四個(gè)主要組件組成:將 Arduino Nano BLE 連接到傳感器和紫外線燈的電路,用于與傳感器和燈交互的 Arduino 代碼,使用 MIT App Inventor 創(chuàng)建的用于交互和監(jiān)控?zé)舻?Android 應(yīng)用程序,以及用于將控制器連接到三腳架的 3D 打印支架。

材料

這些燈使用常見的市售硬件,并帶有一些可選的 3D 打印部件以幫助組裝。讓我們回顧一下制作燈所需的零件的詳細(xì)信息

  • Arduino Nano BLE Sense。微控制器用于在 Android 應(yīng)用程序、燈和傳感器之間進(jìn)行接口選擇它主要是因?yàn)樗乃{(lán)牙功能。任何支持低功耗藍(lán)牙的 Arduino 都適用于該項(xiàng)目。
  • 被動(dòng)紅外運(yùn)動(dòng)傳感器。這些傳感器用于確定操作期間是否有人或其他生物靠近燈。如果傳感器跳閘,燈會(huì)自動(dòng)關(guān)閉。每個(gè)傳感器都有大約 100 度的視野,因此使用三個(gè)安裝在圓形圖案中的傳感器可以提供近 360 度的覆蓋范圍。
  • GUVA-S12SD紫外線傳感器。用于監(jiān)控?zé)舻臓顟B(tài),無論它們是否亮起。這使用戶可以確保燈已按預(yù)期打開,從而對(duì)目標(biāo)空間進(jìn)行了消毒。它還通過顯示燈是否打開或關(guān)閉,向用戶指示房間是否可以安全進(jìn)入。
  • 10A250V繼電器。用于觸發(fā)燈光。
  • 8通道雙向電平轉(zhuǎn)換器用于調(diào)整工作在 3.3V 的 Arduino Nano 和工作在 5V 的繼電器之間的信號(hào)電壓。該項(xiàng)目選擇了 8 通道電平轉(zhuǎn)換器,以考慮使用更多 5V 傳感器或繼電器的可能性。但是,對(duì)于當(dāng)前配置中的項(xiàng)目,只需要一個(gè)通道。
  • Hilink HLK-PM01 5V AC/DC穩(wěn)壓器。從燈的主電源為 Arduino 和傳感器提供 5V 電源。如果您接受過適當(dāng)?shù)呐嘤?xùn)并且習(xí)慣于使用交流電源,則可以在電路中包含此穩(wěn)壓器來為這些其他組件供電如果沒有,則使用其他電源,例如小電池或手機(jī)充電器。
  • 安卓設(shè)備。使用隨附的 Android 應(yīng)用程序通過藍(lán)牙與燈連接。
  • 原型板。構(gòu)建電路的平臺(tái)。

電路

poYBAGNsT6aAOFC-AAL5p7EvBzc725.png
電路原理圖。附件部分提供完整示意圖
?

電路的核心是 Arduino Nano BLE Sense。這提供了使用 Android 設(shè)備通過藍(lán)牙與電路進(jìn)行通信的能力。Arduino 從四個(gè)傳感器接收信息——三個(gè) PIR 傳感器和一個(gè) UV-C 傳感器。PIR 傳感器連接到 Arduino 的三個(gè)數(shù)字引腳,每個(gè)引腳都連接到 5V 電源和接地。UV-C 傳感器連接到 Arduino 的模擬引腳之一,以及 5V 電源和接地。

Arduino 有兩個(gè)主要輸出,10A 繼電器和一個(gè)狀態(tài) LED繼電器充當(dāng)開關(guān)來打開和關(guān)閉燈的電源。它通過電平轉(zhuǎn)換器連接到 Arduino,因?yàn)?Arduino Nano 工作在 3.3V,繼電器只能由 5V 信號(hào)觸發(fā)。電平轉(zhuǎn)換器連接到來自 Arduino Nano 的 3.3V 電源(用于 3.3V 邏輯參考)、來自穩(wěn)壓器的 5V 電源(用于 5V 邏輯參考)和公共接地。電平轉(zhuǎn)換器還有一個(gè)使能引腳,當(dāng)驅(qū)動(dòng)為高電平時(shí),該引腳使能電平轉(zhuǎn)換器的輸出。因此,它通過一個(gè) 1K 歐姆電阻連接到 Arduino Nano 上的數(shù)字引腳。繼電器還連接到 5V 電源和接地。燈的帶電電源線穿過繼電器,可以打開和關(guān)閉。

狀態(tài) LED 通過 1K 歐姆電阻連接到 Arduino 的數(shù)字引腳。它充當(dāng)控制單元的電源和連接狀態(tài)的視覺指示器。

通過使用 HiLink HLK-PM01 5V AC/DC 穩(wěn)壓器提供電源。它通過 13 安培保險(xiǎn)絲連接到主電源。如果您接受過適當(dāng)?shù)呐嘤?xùn)并且習(xí)慣于使用交流電源,則可以在電路中包含此穩(wěn)壓器來為這些其他組件供電。如果沒有,則使用其他電源,例如小電池或手機(jī)充電器。如果您選擇使用手機(jī)充電器,可以通過 USB 端口連接到 Arduino。原理圖的重置保持不變。如果您選擇使用 HiLink HLK-PM01,您可以考慮使用來自 OpenHardware 的分線板:該分線板使用兩種類型的保險(xiǎn)絲和壓敏電阻增加了安全性。

您可以根據(jù)下面的示意圖將電路組裝在面包板、原型板、條板或其他類似平臺(tái)上。雖然我們尚未為該電路創(chuàng)建印刷電路板,但如果其他人希望這樣做,我們已經(jīng)包含了初步的 Eagle 文件。

pYYBAGNsT8SAUGjCAAoT1uuer4Y575.jpg
安裝在原型板上的組件
?

外殼

由于該項(xiàng)目包括交流電源,因此適當(dāng)?shù)耐鈿?duì)于防止意外接觸高壓非常重要。我們使用了尺寸為 150 毫米 x 70 毫米 x 27 毫米的通用塑料電氣外殼。我們用熱膠安裝了原型板、繼電器和 3D 打印部件。

pYYBAGNsT-CAW5-tAAm1ZWFhnCo555.jpg
三個(gè)完成的外殼
?

我們還設(shè)計(jì)了一個(gè)支架,將盒子和 PIR 運(yùn)動(dòng)傳感器連接到用于固定燈的 Phottix P220 三腳架上(請(qǐng)參閱我們?cè)诖颂帢?gòu)建燈的教程)。CAD 文件包含在本教程中,但可能需要針對(duì)不同尺寸的外殼或三腳架進(jìn)行修改。

pYYBAGNsT_uAKC12AAkrpZkicM8228.jpg
將外殼連接到 UV-C 消毒燈的 3D 打印底座
?

Arduino代碼

Arduino 代碼是使用 ArduinoBLE 庫編寫的。低功耗藍(lán)牙設(shè)備可以是外圍設(shè)備,充當(dāng)服務(wù)器來保存正在通信的信息,也可以是中央設(shè)備,它向外圍設(shè)備查詢數(shù)據(jù),并可以修改外圍設(shè)備中包含的數(shù)據(jù)。在我們的實(shí)現(xiàn)中,Arduino 是外圍設(shè)備,連接的 Android 設(shè)備是中央設(shè)備。

低功耗藍(lán)牙通信以服務(wù)為中心,允許組織設(shè)備之間通信的數(shù)據(jù)。每個(gè)服務(wù)都包含多個(gè)特征,這些特征包含特定的數(shù)據(jù)。在此示例中,有一個(gè)服務(wù)(“l(fā)ightService”服務(wù))和四個(gè)特性。有一個(gè) Characteristic 保存關(guān)于繼電器是否應(yīng)該打開或關(guān)閉的數(shù)據(jù),一個(gè)保存關(guān)于運(yùn)動(dòng)傳感器是否已被觸發(fā)的數(shù)據(jù),一個(gè)保存來自 UV-C 傳感器的數(shù)據(jù),一個(gè)保存關(guān)于是否有任何數(shù)據(jù)的數(shù)據(jù)Android 設(shè)備連接到 Arduino。這些服務(wù)和特征在草圖的開頭定義,如下面的代碼塊所示。

在草圖的開頭還定義了本地名稱。這很重要,因?yàn)?Android 應(yīng)用程序會(huì)在自動(dòng)連接到燈時(shí)搜索此名稱的一部分。例如,我們的 Android 應(yīng)用程序版本在可用藍(lán)牙設(shè)備的名稱中搜索短語“LU_Light”。如果它找到這個(gè)短語,它會(huì)自動(dòng)連接。因此,我們使用的燈光被命名為“LU_Light_1”、“LU_Light_2”、“LU_Light_3”等。因此,您應(yīng)該選擇設(shè)置 LocalName 以包含您編寫 Android 應(yīng)用程序要搜索的任何短語。更多內(nèi)容在下面的“Android 應(yīng)用程序”部分中進(jìn)行了解釋。

pYYBAGNsUAOAPLalAAR7OeSvbzk337.png
定義服務(wù)和特征
?

代碼的下一部分是Arduino引腳的標(biāo)準(zhǔn)定義和變量的初始化:

pYYBAGNsUAeATYE_AALVOXrLadk785.png
定義引腳和變量
?

在設(shè)置部分,看門狗定時(shí)器首次出現(xiàn)。看門狗定時(shí)器用于處理 Arduino 的任何意外斷開連接或凍結(jié)。此計(jì)時(shí)器倒計(jì)時(shí)所需的時(shí)間(在本例中為 2 秒)。通過在代碼中調(diào)用resetWDT()戰(zhàn)略位置,我們可以確保計(jì)時(shí)器不會(huì)達(dá)到零。如果該resetWDT()命令從未被調(diào)用并且計(jì)時(shí)器達(dá)到零,這意味著 Arduino 在下一個(gè)resetWDT()命令之前已凍結(jié)或斷開連接。因此,看門狗定時(shí)器重新啟動(dòng) Arduino,允許我們重新連接到它。這一點(diǎn)尤其重要,因?yàn)橛脩羰冀K能夠監(jiān)控?zé)舻臓顟B(tài)并在必要時(shí)關(guān)閉燈是至關(guān)重要的。

此草圖中的看門狗定時(shí)器特別有用,因?yàn)槭褂?ArduinoBLE 庫的 Arduino Nano BLE 存在一個(gè)已知錯(cuò)誤。Arduino Nano BLE 無法正確識(shí)別斷開事件。因此,如果 Android 設(shè)備意外斷開連接,Arduino 可能會(huì)繼續(xù)像已連接一樣,然后無法重新連接和監(jiān)視或控制燈。為了克服這個(gè)問題,Arduino 監(jiān)聽來自 Android 設(shè)備的輪詢消息。如果它收到此消息,我們知道它們?nèi)匀徽_連接,并且可以重置看門狗定時(shí)器并且 Arduino 繼續(xù)正常運(yùn)行。如果沒有及時(shí)收到輪詢消息,則看門狗定時(shí)器不會(huì)重置,達(dá)到“零”,并重新啟動(dòng) Arduino。

特別感謝 Arduino 用戶dniklewicz提出使用看門狗定時(shí)器的建議。

在下面的代碼片段中,enableWDT()resetWDT()是在草圖末尾定義的函數(shù)。在這個(gè)片段中,我們也可以看到 resetWDT() 函數(shù)的第一次使用。我們嘗試啟動(dòng)藍(lán)牙庫。如果它無法開始,我們會(huì)保持 LED 閃爍以指示出現(xiàn)問題。resetWDT()函數(shù)用于 while 循環(huán)中,以防止看門狗定時(shí)器達(dá)到零和 Arduino 重新啟動(dòng)。

poYBAGNsUA6AdGRMAAJ7c1LImvk215.png
設(shè)置部分,包括啟用看門狗定時(shí)器
?

在下一節(jié)中,配置藍(lán)牙服務(wù)。接下來,將特征添加到服務(wù)中,確保其數(shù)據(jù)對(duì)連接的設(shè)備可見。此外,還附加了運(yùn)動(dòng)傳感器的中斷。如果運(yùn)動(dòng)傳感器檢測(cè)到運(yùn)動(dòng),它將觸發(fā)此中斷。

pYYBAGNsUBKAKSkAAALUvev7LDQ443.png
配置藍(lán)牙服務(wù)
?

下一部分開始循環(huán),該循環(huán)將重復(fù)運(yùn)行。在循環(huán)中,Arduino 監(jiān)聽要連接的設(shè)備。如果沒有連接,LED 會(huì)閃爍。我們?cè)谶@里看到另一個(gè)resetWDT()確保看門狗定時(shí)器不會(huì)啟動(dòng) Arduino 的重啟。

pYYBAGNsUBSAMlxAAAFhSyq2QqU345.png
循環(huán)開始 - Arduino 監(jiān)聽要連接的藍(lán)牙設(shè)備
?

下一部分處理運(yùn)動(dòng)傳感器。正如稍后將在草圖中看到的那樣,在最初打開燈后的三秒鐘內(nèi),運(yùn)動(dòng)傳感器被禁用。這是因?yàn)槲覀儼l(fā)現(xiàn)當(dāng)燈打開時(shí)發(fā)生的突然的光線變化錯(cuò)誤地觸發(fā)了運(yùn)動(dòng)傳感器。因此,我們?cè)诖蜷_燈后短時(shí)間內(nèi)禁用運(yùn)動(dòng)傳感器。如果自燈打開以來已經(jīng)足夠長(zhǎng)(大約 3 秒),我們重新啟用運(yùn)動(dòng)傳感器。

如果運(yùn)動(dòng)傳感器已被觸發(fā)(草圖末尾的中斷服務(wù)程序motionFlag 設(shè)置為),那么我們更改 motionCharacteristic 的值,該值將自動(dòng)報(bào)告給連接的設(shè)備并向用戶顯示一條消息。我們還通過切換繼電器自動(dòng)關(guān)閉燈。最后,設(shè)置為以便以后可以在需要時(shí)再次觸發(fā)。truemotionDetected()motionFlagfalse

poYBAGNsUBuAY3XzAAImXTHhh4c998.png
處理運(yùn)動(dòng)傳感器觸發(fā)器
?

下一節(jié)處理來自其他特征的數(shù)據(jù)。首先是connectionCharacteristic,它跟蹤 Android 設(shè)備是否仍處于連接狀態(tài)。它通過偵聽0x01Android 設(shè)備發(fā)送的值來實(shí)現(xiàn)。這表明它們?nèi)蕴幱谶B接狀態(tài),因此看門狗定時(shí)器被復(fù)位。如果 Android 設(shè)備發(fā)送 0x00,這表明用戶希望斷開與燈的連接。

switchCharacteristic是燈的“開/關(guān)”開關(guān)。如果 Android 設(shè)備發(fā)送0x01,則用戶已按下“開啟”按鈕。因此繼電器打開(由低信號(hào)觸發(fā))。如上所述,運(yùn)動(dòng)傳感器也被暫時(shí)禁用以避免由于燈的快速閃爍而導(dǎo)致錯(cuò)誤觸發(fā),并且記錄時(shí)間以便可以在大約三秒內(nèi)重新啟用運(yùn)動(dòng)傳感器。如果0x00發(fā)送了字節(jié),則用戶希望關(guān)閉燈并關(guān)閉繼電器(設(shè)置為高電平)。

pYYBAGNsUCCANSN0AALvoH7Kff4262.png
處理連接監(jiān)控和開/關(guān)切換
?

由于出于安全原因,用戶在操作時(shí)不能與燈在同一個(gè)房間,因此我們配備了一個(gè)紫外線傳感器,以便他們可以驗(yàn)證燈是真正打開還是關(guān)閉。紫外線傳感器按所需的時(shí)間間隔輪詢,默認(rèn)情況下每秒輪詢一次。我們使用 10 讀數(shù)運(yùn)行平均值來確定紫外線水平是否超過閾值。該變量uvReadings是一個(gè)包含 10 個(gè) UV 讀數(shù)的列表,索引為 1 到 10。讀數(shù)分 10 個(gè)步驟收集。在每一步,從總讀數(shù)中減去該步驟的舊讀數(shù),并添加新讀數(shù)。然后通過將總數(shù)除以所讀取的讀數(shù)數(shù)量來收集平均值。如果平均值低于閾值,則確定燈關(guān)閉,并且0x00byte 被發(fā)送到 Android 設(shè)備,以便為用戶創(chuàng)建指示。如果平均值高于閾值,則指示燈亮起0x01 并向 Android 設(shè)備發(fā)送一個(gè)字節(jié)。

poYBAGNsUCaAOJ8bAALKBQGPjJs207.png
保持紫外線傳感器讀數(shù)的運(yùn)行平均值
?

最后一部分是草圖中前面使用的函數(shù)。第一個(gè)是用于啟用看門狗定時(shí)器的功能。值得注意的是CRV,它是用來設(shè)置超時(shí)時(shí)間的。它的計(jì)算公式為超時(shí) = (CRV-1)/32768。因此,如果您希望有 6 秒的超時(shí),則必須將 CRV 設(shè)置為 196609,因?yàn)?(196609 - 1) / 32768 = 6。此計(jì)算來自用于在處理器中保持時(shí)間的晶體的自然頻率 32768赫茲。

第一部分是用于復(fù)位看門狗定時(shí)器的代碼。最后一個(gè)是在運(yùn)動(dòng)傳感器被觸發(fā)時(shí)使用的中斷服務(wù)程序。如果您不熟悉 Arduino 中斷,可以在此處了解更多信息:http: //gammon.com.au/interrupts。如果觸發(fā)發(fā)生在燈打開后的三秒內(nèi),我們故意禁用燈,則什么也不做。如果不是,則將motionFlag變量設(shè)置為 true。在循環(huán)的下一次迭代中,繼電器將關(guān)閉,并向 Android 設(shè)備發(fā)送一條消息,指示已檢測(cè)到運(yùn)動(dòng)。

pYYBAGNsUCmAXq2hAAGnZSpaip4838.png
配套功能
?

安卓應(yīng)用

Android 應(yīng)用程序是使用帶有 BluetoothLE 擴(kuò)展的 MIT App Inventor 2 構(gòu)建的。該應(yīng)用程序旨在與一組三個(gè)燈一起使用。但是,它也可以僅與一套或兩套一起使用。燈的主要功能是通過藍(lán)牙將 Android 設(shè)備連接到燈、打開和關(guān)閉燈、監(jiān)控?zé)舻臓顟B(tài)以及處理燈運(yùn)動(dòng)傳感器檢測(cè)到的運(yùn)動(dòng)通知。

當(dāng)用戶打開應(yīng)用程序時(shí),他們會(huì)看到四個(gè)按鈕,允許他們連接到設(shè)備、斷開與設(shè)備的連接、打開連接的燈或關(guān)閉連接的燈。屏幕的下半部分顯示每個(gè)燈的狀態(tài)。燈的名稱顯示在左側(cè)。連接狀態(tài)使用中心的“無線”符號(hào)指示。穿過符號(hào)的紅色“X”表示燈未斷開。沒有“X”表示設(shè)備已連接。右側(cè)會(huì)顯示一個(gè)燈泡圖標(biāo),指示燈是否亮起。否則,沒有燈泡出現(xiàn)表示燈已關(guān)閉。

poYBAGNsUC6AfSQ1AADNKKvs4GA768.jpg
應(yīng)用程序初始屏幕截圖
?

第一步是連接到可用的燈。當(dāng)用戶按下連接按鈕時(shí),應(yīng)用程序開始掃描可用的藍(lán)牙設(shè)備,并將其聚合到一個(gè)列表中。在掃描過程中,無線圖標(biāo)為黃色。對(duì)于它找到的每個(gè)藍(lán)牙設(shè)備,它都會(huì)查詢?cè)O(shè)備的名稱。如果設(shè)備的名稱與用于指定 UV 燈的前綴匹配,在我們的例子中,我們使用前綴LU_Light ,那么它將連接到該燈。

poYBAGNsUDCAN2WXAACr386FVmw440.jpg
搜索可用燈時(shí)無線圖標(biāo)變?yōu)辄S色
?

連接燈后,將顯示設(shè)備名稱并且無線圖標(biāo)變?yōu)樗{(lán)色。

pYYBAGNsUDKAamT6AAC7Vc-PX3o240.jpg
顯示所有三個(gè)燈已連接的屏幕截圖
?

當(dāng)連接了所需數(shù)量的燈時(shí),可以使用“ON”按鈕打開燈。按下“ON”按鈕會(huì)導(dǎo)致 Android 設(shè)備向上述0x01所有燈發(fā)送一個(gè)字節(jié)switchCharacterstic當(dāng)燈亮起時(shí),燈中的紫外線傳感器會(huì)檢測(cè)到這一點(diǎn),燈內(nèi)的 Arduinos 會(huì)0x01statusCharacteristic. 然后使用屏幕右側(cè)的燈泡圖標(biāo)在屏幕上指示。

pYYBAGNsUDaAA5yQAADbb2qZ9Mk584.jpg
按下“ON”按鈕后,所有燈都用燈泡圖標(biāo)顯示它們已打開
?

按下“OFF”按鈕會(huì)導(dǎo)致一個(gè)0x00字節(jié)被發(fā)送到所有的燈switchCharacteristic當(dāng)燈中的紫外線傳感器檢測(cè)到它們沒有打開時(shí),Arduinos 會(huì)發(fā)送一個(gè) 0x00 byteon statusCharacteristic,并且燈泡圖標(biāo)會(huì)消失。

pYYBAGNsUDiAC4t1AADBKyHte78389.jpg
關(guān)燈 - 燈泡圖標(biāo)消失
?

當(dāng)其中一個(gè)燈檢測(cè)到運(yùn)動(dòng)時(shí),Arduino 會(huì)在motionCharacteristic. 這會(huì)觸發(fā) Arduino 設(shè)備向所有燈發(fā)送一個(gè)0x00字節(jié)switchCharacteristic,確保所有燈都關(guān)閉。應(yīng)用程序屏幕上顯示一條消息。可以通過單擊“X”圖標(biāo)清除此消息。

poYBAGNsUDqAUUUqAADTknvxoGI041.jpg
移動(dòng)檢測(cè)消息顯示在屏幕底部,清除消息“x”按鈕可見
?

每當(dāng)燈連接到 Android 應(yīng)用程序時(shí),Android 設(shè)備都會(huì)0x01connectionCharacteristic. 如上面的 Arduino 部分所述,這表明設(shè)備仍然正確連接。當(dāng)按下“斷開連接”按鈕時(shí),應(yīng)用程序會(huì)在所有燈上發(fā)送一個(gè)0x00字節(jié)。connectionCharacteristic這會(huì)觸發(fā)他們斷開連接。盡管 MIT App Inventor 包含一個(gè)“斷開連接”功能,但發(fā)現(xiàn)它不能與 Arduino Nano BLE Sense 可靠地工作,因此我們沒有發(fā)送明確的“斷開連接”命令,而是發(fā)送0x00觸發(fā) Arduino 自行斷開連接的字節(jié)。

poYBAGNsUC6AfSQ1AADNKKvs4GA768.jpg
按下斷開按鈕會(huì)導(dǎo)致所有燈斷開
?

安裝 Application.apk 文件

我們已經(jīng)包含了應(yīng)用程序的 .apk 文件以及使用 .aia 格式的 MIT App Inventor 項(xiàng)目文件。要從 .apk 安裝,只需在您的 Android 設(shè)備上從下方下載文件。點(diǎn)擊下載的文件將開始安裝過程。您可能需要在設(shè)備設(shè)置中允許安裝非市場(chǎng)應(yīng)用程序。有關(guān)安裝 from.apk 的更多信息,

使用包含的 Arduino 代碼和 .apk 文件是最簡(jiǎn)單的入門方法。如果您想修改應(yīng)用程序,請(qǐng)按照以下步驟操作。

使用 MIT App Inventor 修改應(yīng)用程序

要修改應(yīng)用程序,您需要先在 MIT App Inventor 上創(chuàng)建一個(gè)帳戶(如果您沒有帳戶)。然后,從下面下載.aia 文件。在 MIT App Inventor 中,單擊文件 -> 導(dǎo)入并選擇 .aia 文件。打開文件將帶您進(jìn)入 App Inventor 工作區(qū),您可以在其中從 Designer 選項(xiàng)卡修改界面或從 Blocks 選項(xiàng)卡修改代碼。包含的代碼已完整記錄。要在 MIT App Inventor 中查看評(píng)論,請(qǐng)單擊每個(gè) Block 左上角的問號(hào)。

poYBAGNsUEqAJUoDAAXnvEYgq4s449.png
通過單擊問號(hào)符號(hào)訪問 MIT App Inventor 中的代碼注釋
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
网上百家乐分析软件| 百家乐官网庄闲客户端| 老牌全讯网| 百家乐斗地主| 网上百家乐真坑人| 百家乐六手变化混合赢家打法| 百家乐官网决战推筒子| 沙龙娱乐开户| 宽甸| 百家乐官网波音平台有假吗| 单机百家乐官网在线小游戏| 菲律宾百家乐官网娱乐场| 黄金会百家乐官网赌城| 免费百家乐官网追号软件| 百家乐官网技巧| 百家乐牌机的破解法| 百家乐反缆公式| 永利高倒闭| 博王娱乐| 帝王百家乐官网全讯网2| 百家乐官网五子棋| 百家乐官网园是真的不| 百家乐群博爱彩| 威尼斯人娱乐城官方站| 博e百娱乐城怎么样| 爱赢娱乐城开户| 百家乐官网怎么样玩| 百家乐官网网上真钱娱乐网 | 百家乐官网游戏免费试| 百家乐园小区户型图| 威尼斯人娱乐城--老品牌值得您信赖| 博彩百家乐画谜网| 棋牌新闻| 百家乐官网视频游戏界面| 喜来登百家乐官网的玩法技巧和规则| 百家乐官网龙虎玩| 请问下百家乐官网去哪个娱乐城玩最好呢| 太阳城百家乐官网公司| 百家乐投注必胜法| 大发888游戏平台hgx2dafa888gw | 博彩百家乐官网软件|