91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Mouser 的 STEAMy Summer:第 3 部分

梁宏滿 ? 2023-01-05 09:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

poYBAGOzf4GAKRHZAAKucJVMdhU778.jpg

對于我們這些北半球的人來說,三伏天的夏天快結束了。但是,雖然這個有趣、無憂無慮的季節(jié)就在這里,但大部分時間陽光明媚,隨之而來的是可能有害的紫外線 (UV) 輻射。在本系列的最后一篇文章中,我們將構建我們的電路并對 Arduino MKR1000 進行編程以執(zhí)行我們之前建立的功能。此外,請務必閱讀本系列的第二篇博客,以更好地了解陽光下安全樂趣背后的科學原理。

快速回顧一下,這些是您的紫外線監(jiān)測器和警報項目的頂級要求。您的設備應該:

持續(xù)檢測紫外線輻射暴露水平。

確定暴露是否超過了預先指定的限制。

如果超出暴露限值,則觸發(fā)一個有趣且異想天開的警報。

能夠重置曝光計數。

電池供電。

將曝光數據發(fā)送到云端以供將來分析(請注意,此步驟有助于教孩子們如何閱讀圖表和圖形。)

簡而言之,這個項目的目標是建立一個設備來監(jiān)測我們暴露在陽光下的情況,讓我們知道什么時候應該在室內休息一下或者多涂一些防曬霜。這是預制購物車中的物料清單 (BOM) ,如果您在之前的博客中錯過了它。話雖如此,讓我們開始吧!

組裝硬件

您可能還記得本系列的第 2 部分,我們將使用Silicon Labs Si1145 傳感器來監(jiān)測我們的陽光照射。我們將通過 I2C 串行接口將傳感器數據傳送到Arduino MKR1000嵌入式開發(fā)平臺。MKR1000 將處理數據處理和與云數據庫的通信,以存儲所有數據供以后分析。MKR1000 還可以方便地使用鋰聚合物 (Li-Po) 電池供電,這讓我們可以在享受陽光的同時將設備帶到戶外。

以下是您和您年輕有抱負的工程師構建此電路的步驟概要(圖 1 中的硬件原理圖和圖 2中的電路圖也提供了可視化圖示。):

將 MKR1000 放在面包板的邊緣,確保微型 USB 端口懸掛在末端。要指示 MKR1000 上的唯一引腳,請使用白色條紋,因為這是接地引腳。

將 Si1145 UV 傳感器(帶有插頭引腳)放置在面包板與 MKR1000 接地引腳相同的一側。

將 MKR1000 的接地引腳和 Si1145 紫外線傳感器的接地引腳連接到面包板的接地(藍色)導軌。

將 MKR1000 的 Vcc 引腳和 Si1145 紫外線傳感器的 Vin 引腳連接到面包板的電源(紅色)軌。

微控制器和傳感器的 I2C 端口連接在一起。將 D12 (SCL) 引腳連接到 Si1145 紫外線傳感器上的 SCL 引腳。這是共享時鐘信號。然后,將 D11 (SDA) 引腳連接到 Si1145 紫外線傳感器上的 SDA 引腳。這是兩個設備之間的共享數據總線。

測試到目前為止建立的連接,以確保您已正確連接所有內容。為此,請轉至Mouser 的 GitHub站點并上傳 Arduino STEAMYSummer2018_MRK1000.ino 文件和 Wifi_Info.h 文件。成功加載代碼后,啟動 Arduino 集成開發(fā)環(huán)境 (IDE) 的串行監(jiān)視器并確保您獲得可見光、紅外線 (IR) 和紫外線傳感器讀數。如果您在 MKR1000 上沒有看到綠色發(fā)光二極管 (LED) 或在串行監(jiān)視器中收到錯誤消息“找不到 Si1145”,請務必再次檢查接線圖(圖 2)。

pYYBAGOzf4SAIgnlAABdyoq-hJg611.jpg

圖 1:此硬件原理圖說明了引腳設置。(來源:作者)

poYBAGOzf4iAFP_HAACPFC4JKlY194.jpg

圖 2:此電路圖說明了面包板布局。(來源:作者)

硬件設置的第一部分完成后,讓我們將注意力轉向用戶界面組件?;叵胍幌?,對于警報,我們將使用壓電蜂鳴器,它肯定會引起附近任何人的注意。具體來說,選擇的蜂鳴器是 TDK Corporation 的PS1240P02BT,因為它的工作電壓為 3V。我們還將添加一個電阻器晶體管來幫助為蜂鳴器供電并確保它驅動足夠的電流以使蜂鳴聲明顯。來自通用輸入/輸出 (GPIO) 引腳的電流限制為 7mA。微控制器的 GPIO 引腳(“D6”引腳)應打開晶體管并允許您:

將 NPN 晶體管放在面包板上。

將蜂鳴器的紅線連接到電源(紅色)導軌。

將黑線連接到晶體管的集電極引腳。

在面包板上放置一個 1kΩ 電阻,將一根導線連接到 NPN 晶體管的基極,然后將另一根電阻導線連接到 MKR1000 的 D6 引腳。

將 NPN 晶體管的發(fā)射極引腳連接到面包板的接地(藍色)導軌。

回想一下,一旦觸發(fā)警報,我們需要一種重置設備的方法。為完成此要求,我們選擇了一個常開 (NO)瞬時按鈕。一個 10kΩ 的下拉電阻將用于將連接到微控制器 GPIO 引腳的按鈕接地,以防止任何浮動輸入。現在讓我們連接它們(圖 3):

接下來連接按鈕,將按鈕的一側掛在電源(紅色)導軌上。

將 10kΩ 電阻的一個端子連接到按鈕的另一側。

將電阻器的剩余端子接地。

將 MKR1000 D7 引腳連接到電阻器和按鈕的連接點。

poYBAGOzf4uAUQypAADO2FzQ38k665.jpg

圖 3:此印刷電路板 (PCB) 圖像說明了布局。(來源:作者)

該電阻用作下拉電阻,確保 MKR1000 上的 GPIO 引腳在未按下按鈕時始終處于干凈的接地狀態(tài)。如果沒有電阻器,該引腳容易受到噪聲的影響,這可能會導致微控制器錯誤地檢測到按鈕按下。

使用軟件

圖書館

貿澤為此項目開放的庫包含以下工具、資源和功能:

#include

提供使用 I2C 串行通信協(xié)議所需的代碼。

#include “Adafruit_SI1145.h”

提供一組易于使用的函數,用于與環(huán)境光傳感器進行交互。

#include

#include

允許安全的 Wi-Fi 通信。

#include "Wifi_Info.h"

存儲服務集標識符 (SSID)、Wi-Fi 保護訪問 II (WPA2) 密碼和 IFTTT(我們將在本文后面討論的工具)應用程序接口 (API) 密鑰。將這些安全項目放在單獨的文件中是一個好習慣,這樣如果您共享代碼,就不必在每次共享修訂版時都記住刪除這些敏感信息。

圖 4提供了在 Arduino IDE 中編寫的源代碼示例。

poYBAGOzf46AXY7ZAADHVQrXLXE709.jpg

圖 4:這是在 Arduino IDE 中編寫的源代碼。(來源:作者)

關鍵變量

靜態(tài)常數 int DELAY_AMT = 60000;

此變量等于 60,000 毫秒或 60 秒。它允許我們將傳感器讀數的數量限制為每分鐘一個。

靜態(tài)常數 int AVG_ARRAY_SIZE = 60;

由于我們關心的是前一小時的平均 UV 讀數,并且我們每分鐘讀取一個讀數,因此該變量將使我們能夠對需要的 60 個讀數進行平均,以找到前一小時的當前平均 UV 指數。

static const int BUZZER_PIN = 6;

蜂鳴器將在 MKR1000 的 GPIO D6 引腳控制下運行。

靜態(tài)常量 int RESET_BUTTON_PIN = 7;

重置按鈕將連接到 MKR1000 的 GPIO D7 引腳。

靜態(tài)常量浮動 UV_THRESHOLD = 3.0;

如果前一小時的平均紫外線指數讀數為 3.0 或更高,則會觸發(fā)警報。

靜態(tài)常數 int TONE_FREQ = 2500;

觸發(fā)警報將產生 2,500Hz 的蜂鳴音。

char ssid[] = "MY_SSID_HERE";

在 WiFI_Info.h 文件中,務必將此默認值替換為您的本地 Wi-Fi SSID。請務必保留引號。

字符密碼[] =“MY_WPA2_KEY_HERE”;

在 WiFI_Info.h 文件中,務必將此默認值替換為您的 Wi-Fi 密碼。請務必保留引號。

char IFTTT_APP_KEY[] = "YOUR_IFTTT_APP_KEY_HERE";

在 WiFI_Info.h 文件中,確保將此默認值替換為您在為此項目創(chuàng)建 Webhook 時將生成的個人 IFTTT API 密鑰。請務必保留引號。

職能

無效設置()

void setup() 函數是必需的,所有初始化都將在其中進行。此初始化包括建立調試串行通信通道、設置 Wi-Fi 模塊和 Si1145 環(huán)境光傳感器,以及確保輸入或輸出的 GPIO 引腳配置正確。

無效循環(huán)(){

浮動 currentUVindexReading = takeReading();

浮動 avgUVindexReading = runningAverage(currentUVindexReading);

sendDataToCloud(currentUVindexReading);

alertCheck(avgUVindexReading);

延遲(DELAY_AMT);

}

此處展示了整個主 loop() 函數,以突出重要的編程范例。主循環(huán)應包含盡可能少的代碼。事實上,目標應該是分解代碼,讓每個函數只做一件事。依靠函數調用使代碼更易讀,更容易排除故障。從上面的 void loop() 范例中,很容易創(chuàng)建 MKR1000 完成 setup() 函數中規(guī)定的任務后將發(fā)生的事情的概要。

概要應按如下流程進行:首先,需要將傳感器讀數存儲在名為 currentUVindexReading 的變量中。該值傳遞給另一個函數,該函數記錄新的 UV 讀數并返回運行平均值。然后,修改后的運行平均值將傳遞給將其發(fā)送到 IFTTT 以附加到 Google 表格電子表格的函數。接下來,將平均值與閾值進行比較,結果將在必要時觸發(fā)警報。最后,系統(tǒng)必須暫停一分鐘,然后這個功能會重復執(zhí)行。

以下是主循環(huán)中每個增量函數的代碼分解:

浮動 takeReading()

此函數與 Si1145 環(huán)境光傳感器交互。它接收讀數并在串行端口上顯示結果,然后將 UV 指數值作為浮點數返回。

浮動運行平均值(浮動新讀數)

此函數保留一個靜態(tài)數組(意味著值在函數調用返回后保留)以跟蹤去年 UV 指數的運行平均值。它以浮點數形式返回當前平均 UV 指數。

void alertCheck(浮動 avgUVindexReading)

此功能將當前平均紫外線指數與預定義閾值進行比較,并在必要時發(fā)出警報。

void generateAlert()

此函數使用 Arduino IDE 內置的 tone() 函數來生成蜂鳴器音調。它一直持續(xù)到按下重置按鈕,此時平均紫外線指數重置,設備返回監(jiān)測模式。

此功能利用 IFTTT.com webhook API 將當前的紫外線指數讀數傳遞到 Google 表格電子表格,使您能夠遠程研究數據。

把它們放在一起

我們將利用名為 IFTTT(“If This Then That”的縮寫)的網絡服務來允許 MKR1000 與 Google 表格通信(圖 5)。具體來說,IFTTT 服務被稱為“Maker Webhooks”。IFTTT 在其網站上提供了有關如何使用其服務的精彩教程。結果是一個數據日志和一個漂亮的圖表,以幫助可視化數據。我們建議您通讀 IFTTT 網站上 webhook 的文檔部分,因為您需要在 Wifi_info.h 文件中包含特定于您的 IFTTT 帳戶的密鑰。

pYYBAGOzf5KAOv45AADDDCQcjvo696.jpg

圖 5:MKR1000 通過 IFTTT 將其數據發(fā)送到 Google 表格。(作者)

如果您希望將項目從試驗板上移開并在戶外進行測試,我們會提供 EagleCAD 原理圖和印刷電路板 (PCB) 布局來幫助您。我們還提供了一個 3D 打印機就緒的 STL 文件作為容納硬件的外殼(圖 6和圖 7)。

poYBAGOzf5WAcFAiAABpyxLfO-U859.jpg

圖 6:這是電路板屏蔽罩的 3D 渲染圖。(來源:作者)

pYYBAGOzf5eAfCqnAACz2WMeNJ8188.jpg

圖 6:這個 3D 打印項目外殼包含硬件。(來源:作者)

最后,設計文件和源代碼可在 Mouser 的GitHub 存儲庫中獲取。

審核編輯黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2576

    文章

    55041

    瀏覽量

    791346
  • Mouser
    +關注

    關注

    3

    文章

    162

    瀏覽量

    54184
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    維信諾主導3項OLED行業(yè)標準獲批立項

    近日,工業(yè)和信息化部下發(fā)《關于印發(fā)2025年第五批行業(yè)標準修訂和外文版項目計劃的通知》,維信諾主導的《柔性顯示器件 4-2-3部分:車載用卷曲柔性顯示模塊詳細規(guī)范》《柔性顯示器件
    的頭像 發(fā)表于 02-10 14:49 ?226次閱讀

    集裝箱儲能系統(tǒng)標準解析系列(一)|IEC 62933-2-1:電能存儲(EES)系統(tǒng) 2-1部分-儲能單元參數和試驗方法

    IEC 62933-2-1 電能存儲(EES)系統(tǒng) 2-1部分:儲能單元參數和試驗方法
    的頭像 發(fā)表于 11-25 15:40 ?3423次閱讀
    集裝箱儲能系統(tǒng)標準解析系列(一)|IEC 62933-2-1:電能存儲(EES)系統(tǒng) <b class='flag-5'>第</b>2-1<b class='flag-5'>部分</b>-儲能單元參數和試驗方法

    集裝箱儲能系統(tǒng)標準解析系列(二)|IEC TS 62933-3-1電能存儲系統(tǒng)的規(guī)劃和性能評估

    IEC TS 62933-3-1電能存儲(EES)系統(tǒng) 3-1部分:電能存儲系統(tǒng)的規(guī)劃和性能評估
    的頭像 發(fā)表于 11-25 15:30 ?488次閱讀
    集裝箱儲能系統(tǒng)標準解析系列(二)|IEC TS 62933-<b class='flag-5'>3</b>-1電能存儲系統(tǒng)的規(guī)劃和性能評估

    集裝箱儲能系統(tǒng)標準解析系列(三)| IEC TS 62933-4-1電能存儲系統(tǒng)(EES) 4-1部分:環(huán)境問題指導

    IEC TS 62933-4-1電能存儲系統(tǒng)(EES) 4-1部分:環(huán)境問題指導 通用規(guī)范
    的頭像 發(fā)表于 11-25 15:11 ?416次閱讀
    集裝箱儲能系統(tǒng)標準解析系列(三)| IEC TS 62933-4-1電能存儲系統(tǒng)(EES) <b class='flag-5'>第</b>4-1<b class='flag-5'>部分</b>:環(huán)境問題指導

    3章 硬件基礎知識學習(3.5)

    ; sbit ADDR0 = P1^0; sbit ADDR1 = P1^1; sbit ADDR2 = P1^2; sbit ADDR3 = P1^3; sbit ENLED = P1^4; void main() ?//void即函數類型 { ? ?//以下為聲明語句
    的頭像 發(fā)表于 10-24 11:22 ?268次閱讀

    聯想moto3億臺設備成功下線

    很少有人知道,在聯想moto賣瘋了背后,是聯想集團武漢產業(yè)基地燈火通明、日夜制造,如今它迎來3億臺設備下線的里程碑時刻!
    的頭像 發(fā)表于 09-18 09:10 ?842次閱讀

    什么是5G技術(5代)

    什么是5G技術(5代)
    的頭像 發(fā)表于 08-27 11:53 ?929次閱讀
    什么是5G技術(<b class='flag-5'>第</b>5代)

    iDEAL半導體與Mouser電子簽署全球銷售協(xié)議,基于SuperQ技術的功率元件進入量產

    專注于提供突破性效率的無晶圓廠功率半導體公司,宣布與Mouser電子簽署全球 銷 售 協(xié)議。該協(xié)議涉及iDEAL基于其創(chuàng)新、專利、最先進的SuperQ技術的功率元件。 ? SuperQ與傳統(tǒng) Super
    的頭像 發(fā)表于 07-28 16:18 ?997次閱讀

    瞻芯電子3代1200V 35mΩ SiC MOSFET量產交付應用

    近期,中國領先的碳化硅(SiC)功率器件與IC解決方案供應商——瞻芯電子開發(fā)的首批3代1200V SiC 35mΩ MOSFET產品,憑借優(yōu)秀的性能與品質贏得多家重要客戶訂單,已量產交付近200萬顆,為應用系統(tǒng)提供高效、可靠的解決方案。
    的頭像 發(fā)表于 07-16 14:08 ?1260次閱讀
    瞻芯電子<b class='flag-5'>第</b><b class='flag-5'>3</b>代1200V 35mΩ SiC MOSFET量產交付應用

    IPEX1代與4代的主要差異

    應用中的適用性和性能表現。 IPEX1代 ◆ 端子直徑:2.0毫米 ◆ 高度:小于3毫米 ◆ 插座尺寸:較大,支持更廣范圍的射頻線纜直徑 ◆ 基座規(guī)格:2毫米圓形底座 IPEX4代 ◆ 端子直徑
    發(fā)表于 07-15 09:36

    如何將CCG3上的“啟用固件更新”部分設置為“是”?

    /Common-Errors-while-Programming-CCG3PA-usi... 如果我遇到這種情況,我應該將“啟用固件更新”部分設置為“是”。 但是 CCG3 配置表沒有“啟用固件更新”
    發(fā)表于 05-12 07:52

    法拉材料特性及切割要點

    法拉效應在磁場作用下,光通過某些晶體時偏振面會發(fā)生旋轉的現象,這就是法拉效應。由具有顯著法拉效應的晶體材料制作而成的法拉芯片也被稱為法拉
    的頭像 發(fā)表于 04-23 10:44 ?2504次閱讀
    法拉<b class='flag-5'>第</b>材料特性及切割要點

    瑞為技術牽頭制定的國家標準《信息技術 可擴展的生物特征識別數據交換格式 1部分:框架》正式發(fā)布

    近日,由瑞為技術牽頭、中國電標院等參與制定的國家標準《信息技術 可擴展的生物特征識別數據交換格式 1部分:框架》正式發(fā)布。 同時,瑞為參編的其他6項可擴展系列標準(涵蓋指紋、人臉、虹膜、血管、全身
    的頭像 發(fā)表于 04-22 18:05 ?923次閱讀

    單片機外圍電路設計 (2版)

    內容簡介本文檔從實用角度出發(fā),全面系統(tǒng)深入地闡述了MCS-51單片機及其兼容機外圍電路的設計與應用。全書共10章。1章至3章分別介紹各種智能化/網絡化集成傳感器、傳感器系統(tǒng)的原理與應用、數字IC
    發(fā)表于 04-18 16:16

    基于運算放大器和模擬集成電路的電路設計(3版)

    內容介紹: 本文全面闡述以運算放大器和模擬集成電路為主要器件構成的電路原理、設計方法和實際應用。電路設計以實際器件為背景,對實現中的許多實際問題尤為關注。全書共分13章,包含三大部分。第一部分
    發(fā)表于 04-16 14:34