国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

如何使用紅外傳感器感應眼睛的運動并控制LED

454398 ? 來源:wv ? 2019-10-24 09:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:構造

如何使用紅外傳感器感應眼睛的運動并控制LED

我使用了兩個傳感器QTR-1A進行眼睛跟蹤。

組件

SparkFun Arduino Pro Mini 328-5V/16MHz

Adafruit LiIon/LiPoly背包Pro Trinket/ItsyBitsy附加組件

LiPo電池

NeoPixel條

QTR-1A反射傳感器

步驟2:NeoPixel LED眼球

使用NeoPixel LED膠帶。 LED是68個單位。

LED用雙面膠帶固定在碗上并進行了布線。

步驟3:傳感器單元

我使用了兩個傳感器QTR-1A進行眼睛跟蹤。將QTR-1A放在塑料片上,其間距約為眼睛的寬度。

分別用夾子將傳感器部分和微控制器部分固定到眼鏡上。

第4步:Arduino代碼

當虹膜接近一個傳感器時,反射光會減少,傳感器值會增加。相反,當虹膜移開時,反射光增加,而光反射器的傳感器值減小。

LED眼球瞳孔的左右移動感測到一個傳感器值的增大和減小。并控制它。閃爍時,兩個傳感器的值都會減小,因此,如果兩個傳感器的值同時減小,LED眼球的眼瞼就會下降。

我使用了以下庫。

QTRsensors:https://github.com/pololu/qtr-sensors-arduino

Adafruit_NeoPixel:https://github.com/adafruit/Adafruit_NeoPixel

#include

#include

#define NUM_SENSORS 2 // number of sensors used

#define NUM_SAMPLES_PER_SENSOR 10 // averaging

#define EMITTER_PIN QTR_NO_EMITTER_PIN

int iniSensorValL, sensorValL;

int iniSensorValR, sensorValR;

#define PIN A3

Adafruit_NeoPixel led = Adafruit_NeoPixel(68, PIN, NEO_GRB + NEO_KHZ800);

int blackNum = 24;

int pupilNum = 12;

uint32_t color;

int brightness = 40;

byte eyeColor;

int LR =7;

boolean lid = false;

int cnt = 0;

//Black eye L&R animation

int blackLED[15][24] = {{12,32,35,55,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},

{12,13,31,36,54,55,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},

{11,13,14,30,37,53,54,56,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},

{10,11,14,15,29,38,52,53,56,57,68,68,68,68,68,68,68,68,68,68,68,68,68,68},

{ 9,10,11,12,15,16,28,33,34,39,51,52,55,56,57,58,68,68,68,68,68,68,68,68},

{ 0, 8, 9,10,11,12,13,16,17,27,32,35,40,50,51,54,55,56,57,58,59,67,68,68},

{ 0, 1, 7, 8, 9,10,13,14,17,18,26,31,36,41,49,50,53,54,57,58,59,60,66,67},

{ 1, 2, 6, 7, 8, 9,14,15,18,19,25,30,37,42,48,49,52,53,58,59,60,61,65,66},

{ 2, 3, 5, 6, 7, 8,15,16,19,20,24,29,38,43,47,48,51,52,59,60,61,62,64,65},

{ 3, 4, 5, 6, 7,16,17,20,21,23,28,39,44,46,47,50,51,60,61,62,63,64,68,68},

{ 4, 5, 6,17,18,21,22,27,40,45,46,49,50,61,62,63,68,68,68,68,68,68,68,68},

{ 4, 5,18,19,26,41,48,49,62,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},

{ 4,19,20,25,42,47,48,63,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},

{20,21,24,43,46,47,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68},

{21,23,44,46,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68}};

//pupil L&R animation

int pupilLED[15][12] = {{33,34,68,68,68,68,68,68,68,68,68,68},

{32,33,34,35,68,68,68,68,68,68,68,68},

{12,31,32,33,34,35,36,55,68,68,68,68},

{12,13,30,31,32,33,34,35,36,37,54,55},

{13,14,29,30,31,32,35,36,37,38,53,54},

{14,15,28,29,30,31,36,37,38,39,52,53},

{15,16,27,28,29,30,37,38,39,40,51,52},

{16,17,26,27,28,29,38,39,40,41,50,51},

{17,18,25,26,27,28,39,40,41,42,49,50},

{18,19,24,25,26,27,40,41,42,43,48,49},

{19,20,23,24,25,26,41,42,43,44,47,48},

{20,21,22,23,24,25,42,43,44,45,46,47},

{21,22,23,24,43,44,45,46,68,68,68,68},

{22,23,44,45,68,68,68,68,68,68,68,68},

{22,45,68,68,68,68,68,68,68,68,68,68}};

//Blink animation

int eyelid = 0;

int eyelidNum[8] = {0,4,8,16,24,34,44,56};

int eyelidLED[56] = {64,65,66,67,58,59,60,61,56,57,62,63,49,50,51,52,47,48,53,54,38,39,40,41,46,55,36,37,42,43,26,27,28,29,35,44,24,25,30,31,15,16,17,18,34,45,23,32,13,14,19,20,6,7,8,9};

QTRSensorsAnalog qtra((unsigned char[]) {0, 1}, NUM_SENSORS, NUM_SAMPLES_PER_SENSOR, EMITTER_PIN);

unsigned int sensorValues[NUM_SENSORS];

void blink(int eyelid, int LR) {

if (eyelid != 8){

//Pewter

for(uint16_t i=0; iled.setPixelColor(i, led.Color(66, 66, 66));

}

//Black eye

for(uint16_t i=0; iled.setPixelColor(blackLED[LR][i], color);

}

//pupil

for(uint16_t i=0; iled.setPixelColor(pupilLED[LR][i], led.Color(0, 0, 66));

}

//eyelid

for(int i=0; i 《 eyelidNum[eyelid]; i++) {

led.setPixelColor(eyelidLED[i], 0);

}

} else if (eyelid == 8){

led.clear();

}

led.show();

}

void setup() {

Serial.begin(115200);

led.begin();

led.setBrightness(brightness); // Initial Brightness 40

led.show(); // Initialize all pixels to ‘off’

color = led.Color(0, 177, 55); //pupil color

delay(100);

qtra.read(sensorValues);

iniSensorValL = sensorValues[0];

iniSensorValR = sensorValues[1];

blink(eyelid, LR);

}

void loop() {

//QTR - 1A sensor value

qtra.read(sensorValues);

sensorValL = sensorValues[0];

sensorValR = sensorValues[1];

double rasioL = (double)sensorValL / iniSensorValL;

double rasioR = (double)sensorValR / iniSensorValR;

Serial.print(rasioL);

Serial.print(“ ”);

Serial.println(rasioR);

if(rasioL 》 0.985 && rasioR 《 0.985){ //right

for(int i = LR; i 《 12; i++){

blink(0, i);

delay(40);

LR = i;

}

}else if(rasioL 《 0.985 && rasioR 》 0.985){ //left

for(int i=LR; i》2; i--){

blink(0, i);

delay(40);

LR = i;

}

}else if(lid == false && rasioL 《 0.96 && rasioR 《 0.96){ //Blinking close

for(int i = 1; i 《 9; i++){

blink(i, LR);

delay(40);

lid = true;

}

}else if(lid == true && rasioL 》 0.96 && rasioR 》 0.96){ //Blinking open

for(int i = 8; i 》 0; i--){

blink(i, LR);

delay(40);

lid = false;

}

}else if(lid == false && rasioL 》 0.96 && rasioR 》 0.96) { //normal

//cnt++;

//eyelid = 0;

if(LR 《= 7){

for(int i=LR; i《=7; i++){

blink(0, i);

delay(40);

LR = i;

}

}else {

for(int i=LR; i》=7; i--){

blink(0, i);

delay(40);

LR = i;

}

}

}

//Initial value refresh

if (cnt 》 10){

iniSensorValL = sensorValL;

iniSensorValR = sensorValR;

cnt = 0;

}

}

第5步:操作

用傳感器檢測瞳孔的左右移動和眨眼,并控制眼球LED。

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

    關注

    243

    文章

    24596

    瀏覽量

    690839
  • 紅外傳感器
    +關注

    關注

    9

    文章

    564

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    探索Broadcom ezPyro? 背板電路板:開啟紅外傳感評估新旅程

    ? 的 ezPyro 背板電路板,看看它在紅外傳感應用的早期評估和設計階段能發揮怎樣的作用。 文件下載: Broadcom ezPyro?背板.pdf 一、ezPyro 背板電路板簡介 ezPyro 背板
    的頭像 發表于 12-30 16:20 ?203次閱讀

    探索博通ezPyro? SMD評估套件:開啟紅外傳感新視野

    展示了其創新的ezPyro數字貼片式(SMD)紅外傳感器的強大功能。作為電子工程師,深入了解這些套件對于開發各類紅外傳感應用至關重要。 文件下載: Broadcom AFBR-S6DPYEFL01
    的頭像 發表于 12-30 16:15 ?172次閱讀

    ?STHS34PF80紅外傳感器技術解析與應用指南

    STMicroelectronics STHS34PF80高靈敏度紅外傳感器是一款非制冷、出廠校準的紅外傳感器,工作波長范圍為5μm至20μm。STHS34PF80傳感器設計用于精確檢測其視場內物體的絕對溫度。該信息由ASIC進
    的頭像 發表于 10-29 14:47 ?639次閱讀
    ?STHS34PF80<b class='flag-5'>紅外傳感器</b>技術解析與應用指南

    紅外傳感器技術:微測輻射熱計解析

    微測輻射熱計(Microbolometer)是一種基于MEMS工藝制造的非制冷型紅外傳感器,通過探測物體輻射的紅外線實現溫度測量與熱成像。其核心原理是利用熱敏材料(如氧化釩、多晶硅)的電阻隨溫度變化的特性,將紅外輻射能轉換為電信
    的頭像 發表于 10-22 09:11 ?917次閱讀
    <b class='flag-5'>紅外傳感器</b>技術:微測輻射熱計解析

    QXRS012 熱釋電紅外人體感應處理

    一、QXRS012 是一款低功耗的熱釋電紅外傳感信號處理芯片,可與紅外傳感器單元配合實現對負 載的簡單感應 ON/OFF 和延時功能控制;同時芯片內置高精度穩定 LDO 2.6V 或
    的頭像 發表于 09-19 15:36 ?627次閱讀
    QXRS012 熱釋電<b class='flag-5'>紅外</b>人體<b class='flag-5'>感應</b>處理<b class='flag-5'>器</b>

    #從“吹干”到“恒溫”:一顆紅外傳感器如何重新定義高速電吹風?

    紅外傳感器
    iczoom
    發布于 :2025年09月04日 17:12:39

    #紅外傳感器卡脖子在哪?工程師如何破局?都在卷什么?

    紅外傳感器
    iczoom
    發布于 :2025年09月03日 17:33:37

    #紅外傳感器葵花寶典:熱模型“收斂”,測溫才能準

    紅外傳感器
    iczoom
    發布于 :2025年09月02日 17:15:26

    雷達傳感器紅外傳感器的區別

    雷達傳感器紅外傳感器都可以進行測距,能夠輔助設備進行“感知世界”的行為,雖然說功能看起來是一樣的,但是實現的方式卻是大有不同,紅外測距是通過發射紅外線,雷達測距是通過發射電磁波,從本
    的頭像 發表于 08-28 17:48 ?1045次閱讀

    華盛昌高精度紅外校正源在紅外傳感器領域的應用

    紅外傳感器技術正邁向更高精度與可靠性的新紀元,其中高精度紅外校正源扮演著關鍵角色。作為紅外焦平面陣列(IRFPA)性能保障的核心,其應用已成為突破現有探測極限、實現精準測量的革命性進展。以下將探討華
    的頭像 發表于 07-31 10:23 ?896次閱讀

    揭秘中波紅外傳感器:穿透迷霧的“熱力之眼”

    )宛如一顆獨特的星辰,其輻射特性與物質相互作用時產生的奇妙現象,孕育出中波紅外傳感器這一科技瑰寶。它如同人類感知世界的“熱力之眼”,在軍事偵察、工業檢測、環境監測等領域發揮著不可替代的作用。 一、技術內核:光電與
    的頭像 發表于 05-11 16:53 ?838次閱讀
    揭秘中波<b class='flag-5'>紅外傳感器</b>:穿透迷霧的“熱力之眼”

    迪米科技·溫奶/搖奶紅外傳感器測溫應用--愛不“觸碰”,溫更精準

    使用迪米科技非接觸式紅外傳感器可實現高精度測溫、實時反饋以及智能溫控等功能,為溫奶/搖奶注入了全新的智能化溫控解決方案。
    的頭像 發表于 05-09 16:41 ?799次閱讀
    迪米科技·溫奶<b class='flag-5'>器</b>/搖奶<b class='flag-5'>器</b><b class='flag-5'>紅外傳感器</b>測溫應用--愛不“觸碰”,溫更精準

    冷媒(制冷劑)泄漏監測中熱導傳感器(TCD)與非分散紅外傳感器(NDIR)的對比分析

    冷媒泄漏監測的傳感器到底是選擇熱導原理,還是紅外原理的?在冷媒泄漏監測中,選擇熱導氣體傳感器(TCD)還是紅外傳感器(NDIR)通常基于成本、環境適應性、維護需求等實際因素。冷媒泄漏監
    的頭像 發表于 05-07 14:17 ?1367次閱讀
    冷媒(制冷劑)泄漏監測中熱導<b class='flag-5'>傳感器</b>(TCD)與非分散<b class='flag-5'>紅外傳感器</b>(NDIR)的對比分析

    紅外傳感器技術分類:熱釋電、熱電堆與微測輻射熱計詳解

    上一篇文章講了紅外傳感器的工作原理及應用,紅外傳感器利用入射紅外輻射引起傳感器的溫度變化,進而使某些物理參數變化來進行目標探測。紅外傳感器
    的頭像 發表于 03-18 17:00 ?1672次閱讀
    <b class='flag-5'>紅外傳感器</b>技術分類:熱釋電、熱電堆與微測輻射熱計詳解

    熱釋電紅外傳感器探測物體的工作原理及適應性應用

    熱釋電紅外傳感器憑借其獨特的工作原理和廣泛的應用領域,成為了智能技術中不可或缺的一部分廣泛應用于安全監控、自動化控制和環境管理等領域。其核心原理是通過探測物體發射的紅外輻射來識別溫度變化,從而實現對環境的感知和響應。
    的頭像 發表于 03-14 17:22 ?1535次閱讀
    熱釋電<b class='flag-5'>紅外傳感器</b>探測物體的工作原理及適應性應用