在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>如何使用AVNET Azure Sphere套件

如何使用AVNET Azure Sphere套件

2022-12-09 | zip | 0.26 MB | 次下載 | 免費

資料介紹

描述

介紹

教程展示了如何使用 AVNET Azure Sphere 套件來:

這些 I2C 模塊沒有用于 Azure Sphere 的公共軟件驅動程序,因此我們將開發基于 Arduino 庫的庫。

作為將所有東西組裝在一起的一部分,我們將構建自己的 microBUS 兼容空氣質量模塊。

我們會將數據發送到 Azure Cloud。無論如何,我不會詳細介紹如何設置 Azure Sphere 設備并將其與 Azure IoT Central 連接,因為這里已經有很棒的教程可供遵循:

*將 Azure Sphere 連接到 Azure IoT Central

* Azure Sphere 和 Mikroe 空氣質量發送到 IoT Central

最后但并非最不重要的一點 - 我們會將整個項目放在適合嬰兒的情況下.. :)

1. 組件

我對廉價的 I2C arudino 模塊有一些經驗,所以我想用 Azure Sphere 板試試它們。對于室內空氣質量監測設備,我將使用 CCS811 傳感器和 BME280 傳感器。為了控制 RGB LED 模塊,我將使用 PCA9685 控制器。LED 指示燈將是顯示實際室內空氣質量水平的簡便方法。將有3個級別。

1.1 CCS811傳感器模塊

CCS811 是一種超低功耗數字氣體傳感器解決方案,集成了金屬氧化物 (MOX) 氣體傳感器,可通過微控制器單元 (MCU) 檢測各種揮發性有機化合物 (VOC),用于室內空氣質量監測,其中包括模數轉換器 (ADC) 和 I2C 接口

CCS811 支持智能算法處理原始傳感器測量值,以輸出等效的總 VOC (eTVOC) 和等效的 CO2 (eCO2) 值,其中 VOC 的主要原因來自人類。

eCO2 CCS811 的等效 CO2 (eCO2) 輸出范圍為 400ppm 至 29206ppm。CCS811 的等效總揮發性有機化合物 (eTVOC) 輸出范圍為 0ppb 至 32768ppb。

CCS811支持溫濕度變化補償。對于溫度和濕度檢測,我們將使用 BME280 傳感器模塊。

更多信息CCS811 數據表

我們可以在 eBay 上購買的廉價分線模塊看起來像這樣:

pYYBAGOSfNmAOmU1AAA3R76sXbo239.jpg
CCS811傳感器模塊
?

連接到 Azure Sphere 很簡單:

  • 傳感器 I2C SDA <------> mikroBUS I2C SDA
  • 傳感器 I2C SCL <------> mikroBUS I2C SCL
  • 傳感器 GND <------> mikroBUS GND
  • 傳感器 WAK <------> mikroBUS GND [CCS811 傳感器將始終開啟]
  • 傳感器 VCC <------> mikroBUS 3.3V

1.2 BME280傳感器模塊

BME280 是一款組合式數字溫度、濕度和氣壓傳感器。它同時提供 I2C 和 SPI 接口。

  • 溫度范圍:-40 至 +85°C
  • 濕度范圍:0% 至 100% 相對值。濕度
  • 壓力范圍:300hPa 至 1100hPa

更多信息:BME 數據表

便宜的分線模塊,你可以在 eBay 上買到,看起來像這樣:

pYYBAGOSfNyAI_q_AAA1-jNu4KA028.jpg
BME280 傳感器模塊
?

連接到 Azure Sphere 很簡單:

  • 傳感器 I2C SDA <------> mikroBUS I2C SDA
  • 傳感器 I2C SCL <------> mikroBUS I2C SCL
  • 傳感器 GND <------> mikroBUS GND
  • 傳感器 VCC<------> mikroBUS 3.3V

1.3 PCA9685控制器模塊

PCA9685 是一款 I2C 總線控制的 16 通道 LED 控制器,針對紅/綠/藍/琥珀色 (RGBA) 彩色背光應用進行了優化。每個 LED 輸出都有自己的 12 位分辨率(4096 級)固定頻率獨立 PWM 控制器,以可編程頻率運行,典型頻率為 24 Hz 至 1526 Hz,占空比可在 0 % 至 100 % 范圍內調節,以允許LED 被設置為特定的亮度值。所有輸出都設置為相同的 PWM 頻率。每個 LED 輸出都可以關閉或打開(無 PWM 控制)或設置為其單獨的 PWM 控制器值。

更多信息:PCA9685 數據表

可以在 eBay 或 Aliexpress 上購買的廉價分線模塊如下所示:

poYBAGOSfOCAblH3AAA2JbiHZHE315.jpg
PCA9685控制器模塊
?
  • 傳感器 I2C SDA <------> mikroBUS I2C SDA
  • 傳感器 I2C SCL <------> mikroBUS I2C SCL
  • 傳感器 GND <------> mikroBUS GND
  • 傳感器 VCC <------> mikroBUS 3.3V
  • 傳感器 V+ <------> mikroBUS 3.3V

1.4 RGB LED模組

模組采用5050全彩超高亮LED,并帶有限流電阻,防止燒毀LED。LED驅動方式可以:共陰極(-)驅動或共陽極(+)驅動。

pYYBAGOSfOSAfhLEAAAmimXvmaw185.jpg
帶共陰極 (-) 的 RGB LED 模組
?

您可以在此處找到有關使用共陰極/共陽極 RGB LED 的更多信息

1.5 自制mikroBUS空氣質量模塊

好的,我可以直接用杜邦線將 I2C 模塊與 Azure Sphere 連接起來,但是如何制作自己的“mikroBUS”板呢?我們是黑客,所以讓我們來吧。我只需要通用 PCB、單排公頭易斷排針、電線、焊錫絲和烙鐵。

MicroBUS 引出線:

pYYBAGOSfPCANpnPAADpl15RPgw864.png
mikroBUS 引出線
?

焊接很容易,我只是用分線模塊連接了 SDA、SCL、+3.3V 和 GND。我還將 GND 連接到 CCS811 的 WAK 引腳。務必打磨右下角以獲得正確的模塊方向。

結果:

poYBAGOSfPSAPvX9AABnVmu9_Hs903.jpg
黑客的mikroBUS類模塊
?

1.5 組裝

對于住房,我將使用宜家的兒童燈。

pYYBAGOSfPaAdW-hAAAMxPb2YcE734.jpg
宜家 DR?MHEM 壁燈
?

我用螺絲固定電路板,但你也可以使用扎帶或膠水。結果看起來像這樣:

pYYBAGOSfQiATcoPAADBqsw2yzw377.jpg
里面
?

我們將附加到“窗口”區域內的 RGB LED 模塊。

2. 軟件

這些 I2C 模塊沒有適用于 Azure Sphere 的公共軟件驅動程序,因此我必須開發庫。首先,為了了解傳感器的工作原理,我研究了規格表。但為什么要從零開始重新發現一切!?我可以基于 Arduino 庫為 CCS811/BME280/PCA9685 創建自己的庫。

2.1 CCS811 驅動程序

我的 Azure Sphere 驅動程序有幾個公共函數:

bool ccs811_begin(void);

用于傳感器初始化

uint8_t ccs811_readData(void);

用于讀取測量值(它同時讀取 eCO2 和 eTVOC,為了獲取值,我還有其他功能。

uint16_t ccs811_geteCO2(void);

得到eCO2。輸出范圍從 400ppm 到 29206ppm。

uint16_t ccs811_geteTVOC(void);

獲取 eTVOC。輸出范圍從 0ppb 到 32768ppb。

void css811_setEnvironmentalData(double humidity, double temperature);

設置因溫度和濕度變化而引起的環境數據。用于補償。

2.2 BME280驅動

我的 Azure Sphere 驅動程序有幾個公共函數:

bool bme280_begin(void);

用于傳感器初始化。

double bme280_readTemperature(void);
double bme280_readPressure(void);
double bme280_readHumidity(void);

獲取溫度、壓力和濕度。

2.3 PCA9685驅動

void pca9685_begin(void);

用于傳感器初始化。

void pca9685_setPWM(uint8_t num, uint16_t on, uint16_t off);

設置 PCA9685 引腳之一(0 到 15)的 PWM 輸出 - 在 4096 部分周期中的哪個點打開和關閉 PWM 輸出。

2.4 將 Azure Sphere 連接到 Azure IoT Central

關于連接到 Azure Sphere IoT Central 的精彩教程在這里

我也是這樣做的,只是將 i2c.c 中的遙測 json 消息修改為:

snprintf(pjsonBuffer, JSON_BUFFER_SIZE, "{"temperature": "%.2f", "pressure": "%.2f", "humidity": "%.2f", "eco2": "%d", "etvoc": "%d"}", temperature, pressure, humidity, eCO2, eTVOC);

2.5 應用

對于這個項目,Avnet 提供的演示代碼是一個很好的起點:

https://github.com/Avnet/AvnetAzureSphereStarterKitReferenceDesign

我對 main.c、i2c.c 進行了自己的修改,并添加了傳感器驅動程序(sensor_ccs280.c、sensor_ccs280.h、sensor_bme280.c、sensor_bme280.h、sensor_pca9685.c 和 sensor_pca9685.h)。

在主要。根據實際 eCO2 值控制 RGB LED 有變化:

/* LED color based on eCO2 */
airQuality = geteCO2();
if (airQuality > 0 && airQuality < 800) {
// blue
GPIO_SetValue(userLedRedFd, GPIO_Value_High);
GPIO_SetValue(userLedGreenFd, GPIO_Value_High);
GPIO_SetValue(userLedBlueFd, GPIO_Value_Low);
pca9685_setPWM(0, 0, 4095); // red off
pca9685_setPWM(1, 0, 4095); // green off
pca9685_setPWM(2, 0, 0); // blue on (common anode)
}
else if (airQuality >= 800 && airQuality < 1200) {
// green
GPIO_SetValue(userLedRedFd, GPIO_Value_High);
GPIO_SetValue(userLedGreenFd, GPIO_Value_Low);
GPIO_SetValue(userLedBlueFd, GPIO_Value_High);
pca9685_setPWM(0, 0, 4095); // red off
pca9685_setPWM(1, 0, 0); // green on (common anode)
pca9685_setPWM(2, 0, 4095); // blue off
}
else if (airQuality >= 1200) {
// red
GPIO_SetValue(userLedRedFd, GPIO_Value_Low);
GPIO_SetValue(userLedGreenFd, GPIO_Value_High);
GPIO_SetValue(userLedBlueFd, GPIO_Value_High);
pca9685_setPWM(0, 0, 0); // red (common anode)
pca9685_setPWM(1, 0, 4095); // green
pca9685_setPWM(2, 0, 4095); // blue
}
else {
GPIO_SetValue(userLedRedFd, GPIO_Value_High);
GPIO_SetValue(userLedGreenFd, GPIO_Value_High);
GPIO_SetValue(userLedBlueFd, GPIO_Value_High);
// no measurement yet
pca9685_setPWM(0, 0, 4095); // red off
pca9685_setPWM(1, 0, 4095); // green off
pca9685_setPWM(2, 0, 4095); // blue off
}

在 i2c.c 中有代碼,它從傳感器讀取值并將值發送到 Azure IoT Central。

最終代碼可在 GitHub 上獲得。


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

評論

查看更多

下載排行

本周

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

本月

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

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 永久手机看片福利盒子 | 久草cm| 亚洲色图综合 | 视频h在线 | 免费观看激色视频网站bd | 国产 麻豆 欧美亚洲综合久久 | 丁香视频在线观看播放 | 8000av在线| 日本不卡视频一区二区三区 | 亚洲欧美视频在线 | 五月天激激婷婷大综合丁香 | 欧美一级看片免费观看视频在线 | 美女福利在线观看 | 爽好舒服老师快点 | 成人网在线看 | www伊人| 亚洲一区二区三区免费观看 | 在线观看视频高清视频 | 欧美久操 | 午夜毛片不卡高清免费 | 特级淫片aaaaa片毛片 | 天天做天天爱天天影视综合 | 亚洲性后网 | 噜噜噜天天躁狠狠躁夜夜精品 | 曰本a | 天天摸天天舔天天操 | 国产香蕉一区二区精品视频 | 天天摸天天碰成人免费视频 | 一级毛片西西人体44rt高清 | 午夜毛片不卡高清免费 | 丁香婷婷开心激情深爱五月 | 毛片资源网 | 丁香花在线影院观看在线播放 | 一级网站在线观看 | 国产自在自线午夜精品视频 | 黄网站色视频大全免费观看 | 1024视频在线观看国产成人 | 夜夜干天天操 | 黄a大片| 中文字幕精品一区影音先锋 | 五月婷婷六月婷婷 |