Arduino Nano 33 BLE Sense板:顏色檢測

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

我們將在這個(gè)教程中介紹如何使用Arduino Nano 33 BLE Sense開發(fā)板上的APDS9960傳感器來檢測顏色。
在光學(xué)中,人眼對(duì)紅、綠、藍(lán)三種原色最為敏感, 其它顏色則可以通過不同比例的紅、綠、藍(lán)三色合成產(chǎn)生。

因此,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é)

代碼
#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)我~