最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

Arduino Nano 33 BLE Sense板:顏色檢測

2023-04-05 03:41 作者:宇宙很大腦洞很圓  | 我要投稿

【Arduino Nano 33 BLE Sense開發(fā)板 - 顏色檢測傳感器的教程】

教程介紹

圖一: Arduino Nano 33 BLE Sense 開發(fā)板的 APDS9960 傳感器


我們將在這個(gè)教程中介紹如何使用Arduino Nano 33 BLE Sense開發(fā)板上的APDS9960傳感器來檢測顏色。

在光學(xué)中,人眼對(duì)紅、綠、藍(lán)三種原色最為敏感, 其它顏色則可以通過不同比例的紅、綠、藍(lán)三色合成產(chǎn)生。

圖二:傳感器設(shè)置

因此,APDS9960的傳感器有三個(gè)主要顏色的通道:紅色,綠色,藍(lán)色,和清晰光強(qiáng)度的通道。每個(gè)通道都有一個(gè)紅紫外線阻擋濾波器和數(shù)據(jù)轉(zhuǎn)換器。

APDS9960傳感器是一種多功能設(shè)備,具有手勢檢測、近感探測、數(shù)字環(huán)境光感應(yīng)(ALS)和顏色感應(yīng)(RGBC)的功能。它可以被應(yīng)用于多個(gè)領(lǐng)域或場景,比如當(dāng)用戶把手機(jī)放在耳邊時(shí),APDS9960傳感器可以檢測到距離變化并禁用屏幕。


材料清單

-?Arduino Nano 33 BLE Sense開發(fā)板 x1

- USB type-c 接線 x1

- 裝有Arduino IDE的電腦一臺(tái)


接線細(xì)節(jié)

圖三:接線細(xì)節(jié)-一端接開發(fā)板,一端接電腦

代碼

#include <Arduino_APDS9960.h>? //包含APDS9960庫


void setup() {

? Serial.begin(9600);? //配置串口的波特率, 完成串口的初始化

? while (!Serial);? //沒有串口連接就不往下執(zhí)行, 進(jìn)入死循環(huán),?只適用于Leonardo和 Yun

? if (!APDS.begin()) { //假如APDS沒有完成初始化

? ? Serial.println("Error initializing APDS9960 sensor.");? //在串口監(jiān)視器打印錯(cuò)誤信息

? }

}


void loop() {

? while (! APDS.colorAvailable()) { //假如APDS的顏色模塊還沒找到

? ? delay(5);? //延遲5毫秒

? }


? int r, g, b;? //變量聲明: 紅, 綠, 藍(lán)


? APDS.readColor(r, g, b);? //用APDS.readColor函數(shù)來讀取紅、綠、藍(lán)的值


//如果紅的色值最高, 打開開發(fā)板上的紅燈

? if (r > g & r > b)?{

? ? digitalWrite(LEDR, LOW);

? ? digitalWrite(LEDG, HIGH);

? ? digitalWrite(LEDB, HIGH);

? }

//如果綠的色值最高, 打開開發(fā)板上的綠燈

? else if (g > r & g > b)?{

? ? digitalWrite(LEDG, LOW);

? ? digitalWrite(LEDR, HIGH);

? ? digitalWrite(LEDB, HIGH);

? }

//如果藍(lán)的色值最高, 打開開發(fā)板上的藍(lán)燈

? else if (b > g & b > r)?{

? ? digitalWrite(LEDB, LOW);

? ? digitalWrite(LEDR, HIGH);

? ? digitalWrite(LEDG, HIGH);

? }

//不然,打開三色燈

? else?{

? ? digitalWrite(LEDR, HIGH);

? ? digitalWrite(LEDG, HIGH);

? ? digitalWrite(LEDB, HIGH);

? }


? // 在串口監(jiān)視器打印各個(gè)原色的值

? Serial.print("Red light = ");

? Serial.println(r);

? Serial.print("Green light = ");

? Serial.println(g);

? Serial.print("Blue light = ");

? Serial.println(b);

? Serial.println();


? // 延遲500毫秒再開始一個(gè)循環(huán)

? delay(500);

}


上傳代碼的步驟

第一步,雙擊Arduino IDE, 打開sketch/項(xiàng)目。

第二步,點(diǎn)擊工具>> 開發(fā)板>> 開發(fā)板管理器>>搜索 “33 BLE”>>安裝 Arduino Mbed OS Nano Boards 板。

第三步,點(diǎn)擊工具>>開發(fā)板>> Arduino Mbed OS Nano Boards >>選擇Arduino Mbed OS Nano Boards板。

第四步,點(diǎn)擊項(xiàng)目>>點(diǎn)擊導(dǎo)入庫>>管理庫>>搜索“APDS9960”并安裝。然后,點(diǎn)擊項(xiàng)目>>導(dǎo)入庫>>貢獻(xiàn)庫>>查看APDS9960是否安裝好了。

第五步,點(diǎn)擊工具>>端口>>選擇 BLE端口。

第六步,點(diǎn)擊文件(F)>>新建項(xiàng)目>>打開一個(gè)新的項(xiàng)目。

第七步,復(fù)制并粘貼代碼。?

第八步,點(diǎn)擊打勾圖標(biāo)>>驗(yàn)證代碼。

第九步,點(diǎn)擊右箭頭圖標(biāo)>>上傳代碼。

最后,點(diǎn)擊工具>>打開串口監(jiān)視器。


參考資料

代碼:https://docs.arduino.cc/tutorials/nano-33-ble-sense/rgb-sensor

音樂:Island Temptation, provided by Storyblocks?

宇航員圖片:由微軟Bing生成?

與誰同坐,明月清風(fēng)我~

Arduino Nano 33 BLE Sense板:顏色檢測的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
南陵县| 晋宁县| 三都| 武川县| 涿州市| 万荣县| 新邵县| 盱眙县| 额敏县| 盐亭县| 蓝田县| 中方县| 塔河县| 花莲市| 西昌市| 三亚市| 宁城县| 乌拉特后旗| 清原| 呼玛县| 南川市| 临江市| 务川| 曲麻莱县| 泰顺县| 栾城县| 永春县| 琼海市| 共和县| 建德市| 铜陵市| 澄迈县| 鄄城县| 兴海县| 鹿泉市| 阿鲁科尔沁旗| 吉林省| 广汉市| 揭东县| 慈溪市| 桐柏县|