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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

設(shè)計(jì)一個(gè)封閉環(huán)境內(nèi)的眼刺激系統(tǒng)

云深之無跡 ? 來源:云深之無跡 ? 2023-12-03 11:15 ? 次閱讀

設(shè)計(jì)一個(gè)封閉環(huán)境內(nèi)的眼刺激系統(tǒng):

7cc592c8-912c-11ee-939d-92fbcf53809c.jpg

一個(gè)人完整的視角

7ceb7394-912c-11ee-939d-92fbcf53809c.jpg

人在水平面的視野,單眼視野界限為標(biāo)準(zhǔn)視線每側(cè)94°~104°。雙眼視區(qū)大約在每側(cè)62°以內(nèi)的區(qū)域,在這個(gè)區(qū)域里還包括辨別字的視線角度為10°~20°,辨別字母的視線角度為5°~30°,在各自的視線范圍以外,字和字母趨于消失。對于特定的顏色的辨別,視線角度為30°~60°。

7d1af182-912c-11ee-939d-92fbcf53809c.jpg

垂直平面的視野是:假定標(biāo)準(zhǔn)視線是水平的,定為0°,則最大視區(qū)為視平線以上50°和視平線以下70°。顏色辨別界限為視平線以上30°,視平線以下40°,實(shí)際上人的自然視線是低于標(biāo)準(zhǔn)視線的,在一般狀態(tài)下,站立時(shí)自然視線低于水平線10°,坐著時(shí)自然視線低于水平視線15°。

眼垂直視野可以看到標(biāo)準(zhǔn)視線上約50°、下約70°的范圍,水平視野可以左右104°的范圍。人在眼睛不轉(zhuǎn)動的情況下視野是十分有限的,能夠集中注意力水平視野是40°,垂直視野15°。

7d2fd16a-912c-11ee-939d-92fbcf53809c.jpg

我再補(bǔ)充一個(gè)縱深視野:

1、0.2-11m之間,我們能獲得一個(gè)“真實(shí)”3D的視野,這也是我們的舒適景深;

2、11-20m間,我們依然能夠通過雙眼在視網(wǎng)膜上成像的差別,獲得一個(gè)“邊緣”的3D視野;

3、而20米之外的事物,我們只能得到一個(gè)“扁平”的2D視野,因?yàn)榫跋笸ㄟ^雙眼的成像差別太小,無法分辨。

7d4947da-912c-11ee-939d-92fbcf53809c.jpg

其實(shí)這說的更沒說一樣

主要刺激光源(3000-3500K):

將主要刺激光源安置在眼罩內(nèi)部,以確保照明均勻且集中在用戶的視野中。

盡量避免直接光照用戶的眼睛,可以考慮使用漫射器材或?qū)⒐庠措[藏在眼罩的設(shè)計(jì)中,以防止強(qiáng)烈光線對用戶眼睛的刺激。

背景光源(850納米):

背景光源可以被用來模擬夜視或者在VR場景中提供某種環(huán)境信息。

與主光源相比,背景光源的亮度可以相對較低,以確保不會對用戶體驗(yàn)造成干擾。

考慮采用柔和的背景照明,以避免過于刺眼或不自然的效果。

燈光布局和均勻性:

確保燈光布局均勻,以避免在眼罩內(nèi)產(chǎn)生不均勻的亮度或陰影。

考慮使用多個(gè)光源來增加照明的均勻性,特別是在眼罩內(nèi)覆蓋范圍較大的情況下。

對背景光源和刺激光源進(jìn)行不同的光學(xué)評價(jià)可能是基于實(shí)驗(yàn)、應(yīng)用或觀察需求而定的。以下是一些常見的因素,這些因素可能導(dǎo)致對它們的光學(xué)評價(jià)存在差異:

感知效果:

刺激光源通常是實(shí)驗(yàn)中要引起注意的主要光源,其顏色、強(qiáng)度和變化可能對實(shí)驗(yàn)結(jié)果產(chǎn)生直接影響。因此,對刺激光源的評價(jià)可能更關(guān)注其在實(shí)驗(yàn)中產(chǎn)生的感知效果。

背景光源可能更側(cè)重于提供一種環(huán)境、背景或輔助信息,其顏色和亮度可能被調(diào)整以創(chuàng)造某種氛圍,而不是成為實(shí)驗(yàn)的主要焦點(diǎn)。

顏色溫度:

刺激光源的顏色溫度可能會更直接地影響觀察者的認(rèn)知和情緒。在許多實(shí)驗(yàn)和應(yīng)用中,顏色的選擇對于調(diào)查不同條件下的感知和行為反應(yīng)非常重要。

背景光源的顏色溫度則可能更多地取決于設(shè)計(jì)的整體氛圍和實(shí)驗(yàn)的目的。它通常被設(shè)計(jì)成輔助刺激光源,以創(chuàng)造更逼真的環(huán)境。

亮度和對比度:

刺激光源可能需要更高的亮度和對比度,以確保在實(shí)驗(yàn)中引起足夠的關(guān)注和反應(yīng)。

背景光源通常會以相對較低的亮度出現(xiàn),以避免干擾實(shí)驗(yàn)者或觀察者對刺激光源的關(guān)注。

3000-3500K,表示這個(gè) LED 燈泡的光的色溫在3000到3500開爾文之間。這對應(yīng)于暖白色光,適合用于舒適的環(huán)境照明。 850納米(NM),表示這個(gè)光源的波長為850納米。這是紅外光譜中的近紅外范圍。

刺激光源和背景光源對瞳孔測量有一定的影響,這取決于它們的亮度、顏色和變化。

刺激光源的影響:

亮度:刺激光源的高亮度可能導(dǎo)致瞳孔收縮,尤其是在較暗的環(huán)境中。這可能會對瞳孔測量的基線產(chǎn)生影響。

顏色:不同顏色的光源可能會導(dǎo)致瞳孔有不同的反應(yīng)。一些顏色可能引起更強(qiáng)烈或更迅速的瞳孔反應(yīng)。

背景光源的影響:

亮度:背景光源的高亮度可能導(dǎo)致瞳孔收縮,尤其是在相對較暗的環(huán)境中。背景光源的亮度水平與刺激光源的亮度之間的對比可能影響瞳孔測量的靈敏性。

顏色:背景光源的顏色可能影響瞳孔的基礎(chǔ)大小和對刺激光源顏色變化的響應(yīng)。一些顏色可能導(dǎo)致瞳孔對刺激光源的反應(yīng)更為顯著。

光源變化的影響:

變化頻率:如果刺激光源或背景光源有頻繁的變化(例如閃爍),這可能導(dǎo)致瞳孔的相應(yīng)變化。這在進(jìn)行某些類型的瞳孔反應(yīng)實(shí)驗(yàn)時(shí)需要特別注意。

持續(xù)性變化:長時(shí)間的光源變化可能導(dǎo)致瞳孔適應(yīng),使其在測量過程中產(chǎn)生動態(tài)的響應(yīng)。

里面控制的參數(shù)就是亮度和閃爍了,接下來就是寫一些代碼:

const int warmWhiteLED = 9;  // 連接暖白LED的引腳
const int infraredLED = 10;  // 連接紅外LED的引腳


void setup() {
  pinMode(warmWhiteLED, OUTPUT);
  pinMode(infraredLED, OUTPUT);
}


void loop() {
  // 控制暖白LED
  analogWrite(warmWhiteLED, 128);  // 設(shè)置PWM值來調(diào)整亮度
  delay(1000);  // 延時(shí)1秒


  // 控制紅外LED
  digitalWrite(infraredLED, HIGH);  // 開啟LED
  delay(500);  // 延時(shí)0.5秒
  digitalWrite(infraredLED, LOW);  // 關(guān)閉LED
  delay(500);  // 延時(shí)0.5秒
}

最簡單的Arduino

const int warmWhiteLED = 9;  // 連接暖白LED的引腳
const int infraredLED = 10;  // 連接紅外LED的引腳


void setup() {
  pinMode(warmWhiteLED, OUTPUT);
  pinMode(infraredLED, OUTPUT);
}


void loop() {
  // 控制暖白LED的亮度
  for (int brightness = 0; brightness <= 255; brightness++) {
    analogWrite(warmWhiteLED, brightness);  // 設(shè)置PWM值來調(diào)整亮度
    delay(10);  // 延時(shí)10毫秒,可調(diào)整過渡的速度
  }


  delay(1000);  // 延時(shí)1秒


  // 控制紅外LED的亮度和閃爍
  for (int brightness = 0; brightness <= 255; brightness++) {
    analogWrite(infraredLED, brightness);  // 設(shè)置PWM值來調(diào)整亮度
    delay(10);  // 延時(shí)10毫秒,可調(diào)整過渡的速度
  }


  delay(1000);  // 延時(shí)1秒


  for (int brightness = 255; brightness >= 0; brightness--) {
    analogWrite(infraredLED, brightness);  // 設(shè)置PWM值來調(diào)整亮度
    delay(10);  // 延時(shí)10毫秒,可調(diào)整過渡的速度
  }


  delay(1000);  // 延時(shí)1秒
}

使用for循環(huán)變得更絲滑一些。

這里就是想著也可以提前預(yù)設(shè)一些刺激的規(guī)則,在樹莓派上面可以這樣寫:

import RPi.GPIO as GPIO
import time


# 定義LED引腳
warm_white_led_pin = 17  # 適應(yīng)您的硬件設(shè)置
infrared_led_pin = 18  # 適應(yīng)您的硬件設(shè)置


# 初始化GPIO設(shè)置
GPIO.setmode(GPIO.BCM)
GPIO.setup(warm_white_led_pin, GPIO.OUT)
GPIO.setup(infrared_led_pin, GPIO.OUT)


# 定義LED控制函數(shù)
def set_led_brightness(pin, brightness):
    # 控制LED亮度,brightness范圍0-100
    pwm = GPIO.PWM(pin, 100)  # 頻率設(shè)置為100Hz
    pwm.start(brightness)


def blink_led(pin, frequency, duration):
    # 控制LED閃爍,frequency為頻率,duration為持續(xù)時(shí)間
    pwm = GPIO.PWM(pin, frequency)
    pwm.start(50)  # 亮度設(shè)置為50%
    time.sleep(duration)
    pwm.stop()


# 定義預(yù)先設(shè)計(jì)好的刺激規(guī)則
def apply_stimulus_rule(rule):
    if rule == "rule1":
        set_led_brightness(warm_white_led_pin, 50)
        blink_led(infrared_led_pin, 2, 5)
    elif rule == "rule2":
        set_led_brightness(warm_white_led_pin, 75)
        blink_led(infrared_led_pin, 5, 7)
    # 添加其他規(guī)則...


# 測試
apply_stimulus_rule("rule1")


# 清理GPIO設(shè)置
GPIO.cleanup()

可能對于所以樹莓派控制這樣簡單的功能性價(jià)比不高,可以在MCU上面實(shí)現(xiàn):

import machine
import time


# 定義LED引腳
warm_white_led_pin = 19  # 適應(yīng)您的硬件設(shè)置
infrared_led_pin = 18  # 適應(yīng)您的硬件設(shè)置


# 初始化LED引腳
warm_white_led = machine.PWM(machine.Pin(warm_white_led_pin), freq=1000, duty=0)
infrared_led = machine.PWM(machine.Pin(infrared_led_pin), freq=1000, duty=0)


# 定義LED控制函數(shù)
def set_led_brightness(led, brightness):
    # 控制LED亮度,brightness范圍0-1023
    led.duty(brightness)


def blink_led(led, frequency, duration):
    # 控制LED閃爍,frequency為頻率,duration為持續(xù)時(shí)間
    led.freq(frequency)
    time.sleep(duration)
    led.freq(0)


# 定義預(yù)先設(shè)計(jì)好的刺激規(guī)則
def apply_stimulus_rule(rule):
    if rule == "rule1":
        set_led_brightness(warm_white_led, 512)
        blink_led(infrared_led, 2, 5)
    elif rule == "rule2":
        set_led_brightness(warm_white_led, 768)
        blink_led(infrared_led, 5, 7)
    # 添加其他規(guī)則...


# 測試
apply_stimulus_rule("rule1")


# 清理
warm_white_led.deinit()
infrared_led.deinit()

那么也可以加入一些遠(yuǎn)程控制的功能,使用串口:

import machine
import time
import ustruct


# 定義LED引腳
warm_white_led_pin = 19  # 適應(yīng)您的硬件設(shè)置
infrared_led_pin = 18  # 適應(yīng)您的硬件設(shè)置


# 初始化LED引腳
warm_white_led = machine.PWM(machine.Pin(warm_white_led_pin), freq=1000, duty=0)
infrared_led = machine.PWM(machine.Pin(infrared_led_pin), freq=1000, duty=0)


# 初始化串口
uart = machine.UART(0, baudrate=115200, tx=17, rx=16)  # 適應(yīng)您的硬件設(shè)置


# 定義LED控制函數(shù)
def set_led_brightness(led, brightness):
    # 控制LED亮度,brightness范圍0-1023
    led.duty(brightness)


def blink_led(led, frequency, duration):
    # 控制LED閃爍,frequency為頻率,duration為持續(xù)時(shí)間
    led.freq(frequency)
    time.sleep(duration)
    led.freq(0)


# 定義通過串口控制LED的函數(shù)
def control_led_via_serial():
    while True:
        if uart.any():
            data = uart.read(4)  # 期望接收4字節(jié)數(shù)據(jù)
            if data:
                brightness, frequency = ustruct.unpack('hh', data)
                set_led_brightness(warm_white_led, brightness)
                blink_led(infrared_led, frequency, 1)  # 1秒的閃爍示例


# 啟動串口控制
control_led_via_serial()

過串口接收兩個(gè)16位整數(shù),分別代表LED的亮度和頻率。

這兩個(gè)值使用ustruct.unpack解包。可以通過串口發(fā)送相應(yīng)的二進(jìn)制數(shù)據(jù)來控制LED。

import struct


brightness = 512
frequency = 2


data = struct.pack('hh', brightness, frequency)
uart.write(data)

上位機(jī)這里可以這樣寫,這篇文章寫的很倉促,很多功能沒有考慮到,如果有需要的或者更加專業(yè)的建議可以告訴我。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 光源
    +關(guān)注

    關(guān)注

    3

    文章

    704

    瀏覽量

    67781
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68616
  • 視網(wǎng)膜
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    12783
  • vr
    vr
    +關(guān)注

    關(guān)注

    34

    文章

    9639

    瀏覽量

    150278

原文標(biāo)題:設(shè)計(jì)一套眼內(nèi)刺激系統(tǒng).上-光源

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Rainbow NB-IoT測試儀在封閉環(huán)境也能信號檢測

    Rainbow NB-IoT封閉環(huán)境信號檢測Rainbow NB-IoT測試儀具有藍(lán)牙無線數(shù)據(jù)傳輸?shù)墓δ?,廣泛應(yīng)用于NB-IoT水表、電表、智能停車、智慧農(nóng)業(yè)等場景的信號測試,尤其是密封環(huán)境的測試
    發(fā)表于 09-20 09:16

    你是我的環(huán)境光傳感器

    環(huán)境光就很強(qiáng),從而將亮度調(diào)暗。為了解決這個(gè)問題,在使用光電晶體管有時(shí)需要在玻璃上開個(gè)小孔,這樣給生產(chǎn)帶來了麻煩以及增加了成本。 圖- 3 新代的
    發(fā)表于 08-07 04:45

    怎樣利用電機(jī)旋轉(zhuǎn)角度和轉(zhuǎn)速雙閉環(huán)去搭建個(gè)閉環(huán)控制系統(tǒng)?

    怎樣利用電機(jī)旋轉(zhuǎn)角度和轉(zhuǎn)速雙閉環(huán)去搭建個(gè)閉環(huán)控制系統(tǒng)?雙閉環(huán)控制系統(tǒng)的結(jié)構(gòu)是由哪些部分組成的?
    發(fā)表于 07-22 09:25

    閉環(huán)直流調(diào)速系統(tǒng)仿真

    閉環(huán)直流調(diào)速系統(tǒng)仿真(Matlab)答辯人:王玲瓏 2011.05.07 雙閉環(huán)直流調(diào)速系統(tǒng)仿真 展示目錄 原始調(diào)速系統(tǒng)穩(wěn)定性分析 轉(zhuǎn)速、
    發(fā)表于 09-07 06:58

    開環(huán)步進(jìn)電機(jī)與閉環(huán)步進(jìn)電機(jī)系統(tǒng)對比分析哪一個(gè)更好?

    溫度下達(dá)到熱平衡-不到開環(huán)系統(tǒng)半。電機(jī)發(fā)熱的顯著降低可能意味著機(jī)器制造商降低了零件成本,因?yàn)樗麄兛梢允÷灶~外的保護(hù)和冷卻子系統(tǒng)?! ∷?、開環(huán)與閉環(huán)步進(jìn)電機(jī)
    發(fā)表于 03-10 10:06

    基于C8051F020的密閉環(huán)境溫度恒溫控制系統(tǒng)設(shè)計(jì)

    本文給出了種基于C8051F020單片機(jī)實(shí)現(xiàn)密閉環(huán)境溫度自動控制的系統(tǒng)方案。將半導(dǎo)體制冷模塊置于個(gè)
    發(fā)表于 07-26 16:05 ?3326次閱讀
    基于C8051F020的密<b class='flag-5'>閉環(huán)境</b>溫度恒溫控制<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)

    加州大學(xué)研發(fā)出閉環(huán)神經(jīng)刺激器 可自動檢測和預(yù)防癲癇發(fā)作

    據(jù)報(bào)道,加州大學(xué)伯克利分校的研究人員開發(fā)出種無線,自主的閉環(huán)神經(jīng)刺激器。該設(shè)備被放置在大腦外部,監(jiān)測大腦中的電活動,并通過電刺激進(jìn)行干預(yù)以預(yù)防癲癇發(fā)作。
    發(fā)表于 01-13 11:29 ?2517次閱讀

    基于MSP430單片機(jī)和NRF24L01的封閉環(huán)境檢測系統(tǒng)設(shè)計(jì)

    基于MSP430單片機(jī)和NRF24L01的封閉環(huán)境檢測系統(tǒng)設(shè)計(jì)
    發(fā)表于 10-25 16:40 ?1次下載

    祥控封閉煤場環(huán)境監(jiān)控系統(tǒng)的功能特點(diǎn)

    濟(jì)南祥控封閉煤場環(huán)境監(jiān)控系統(tǒng)支持根據(jù)現(xiàn)場的實(shí)際情況制定和合理的配置,目前已在很多的煤礦和火電企業(yè)中被廣泛應(yīng)用。
    的頭像 發(fā)表于 12-21 15:57 ?479次閱讀
    祥控<b class='flag-5'>封閉</b>煤場<b class='flag-5'>環(huán)境</b>監(jiān)控<b class='flag-5'>系統(tǒng)</b>的功能特點(diǎn)

    什么是封閉煤場環(huán)境安全監(jiān)控系統(tǒng)?

    祥控封閉煤場環(huán)境安全監(jiān)控系統(tǒng)集成了煤堆溫度實(shí)時(shí)監(jiān)測、明火煤監(jiān)測、擋煤墻測溫、可燃及有毒氣體監(jiān)測、粉塵濃度監(jiān)測等多個(gè)子系統(tǒng),具有數(shù)據(jù)綜合展示,實(shí)時(shí)顯示、報(bào)警狀態(tài)、報(bào)警記錄查詢、歷史數(shù)據(jù)查
    的頭像 發(fā)表于 01-10 17:38 ?1734次閱讀
    什么是<b class='flag-5'>封閉</b>煤場<b class='flag-5'>環(huán)境</b>安全監(jiān)控<b class='flag-5'>系統(tǒng)</b>?

    封閉煤場安全綜合監(jiān)測控制系統(tǒng)實(shí)時(shí)檢測現(xiàn)場環(huán)境和煤溫變化

    濟(jì)南祥控自動化開發(fā)的封閉煤場安全綜合監(jiān)測控制系統(tǒng)方面通過安裝各類環(huán)境檢測設(shè)備對煤場環(huán)境進(jìn)行數(shù)據(jù)采集和煤溫監(jiān)測,另
    的頭像 發(fā)表于 05-19 17:04 ?1314次閱讀
    <b class='flag-5'>封閉</b>煤場安全綜合監(jiān)測控制<b class='flag-5'>系統(tǒng)</b>實(shí)時(shí)檢測現(xiàn)場<b class='flag-5'>環(huán)境</b>和煤溫變化

    光刻圖案化+微流控技術(shù)用于封閉環(huán)境下細(xì)胞行為和機(jī)制的研究

    細(xì)胞通過限制性三維地形遷移可導(dǎo)致核包膜完整性喪失、DNA損傷和基因不穩(wěn)定。盡管有這些有害的現(xiàn)象,暫時(shí)暴露在封閉環(huán)境中的細(xì)胞通常不會死亡。
    的頭像 發(fā)表于 08-08 10:06 ?1387次閱讀
    光刻圖案化+微流控技術(shù)用于<b class='flag-5'>封閉環(huán)境</b>下細(xì)胞行為和機(jī)制的研究

    封閉煤場安全監(jiān)控系統(tǒng)

    濟(jì)南祥控自動化開發(fā)的XKCON祥控封閉煤場安全監(jiān)控系統(tǒng)采用物聯(lián)網(wǎng)、傳感器、數(shù)字通信、人工智能及嵌入式系統(tǒng)控制等先進(jìn)技術(shù),通過對煤場環(huán)境進(jìn)行智能化監(jiān)測與數(shù)據(jù)智能分析,從而實(shí)現(xiàn)
    的頭像 發(fā)表于 08-15 17:44 ?1207次閱讀
    <b class='flag-5'>封閉</b>煤場安全監(jiān)控<b class='flag-5'>系統(tǒng)</b>

    封閉式園區(qū)人員定位管理系統(tǒng)的功能和作用

    在當(dāng)今充滿競爭的商業(yè)環(huán)境中,企業(yè)安全和員工管理變得尤為重要。尤其是在封閉式園區(qū)這樣的環(huán)境中,確保員工的安全和準(zhǔn)確管理變得尤為關(guān)鍵。為了滿足這需求,
    的頭像 發(fā)表于 08-31 14:39 ?619次閱讀

    閉環(huán)增益對系統(tǒng)動態(tài)性能的影響

    在自動控制系統(tǒng)中,閉環(huán)控制作為種重要的控制方式,通過引入反饋機(jī)制來調(diào)整系統(tǒng)的輸出,使其更好地適應(yīng)外部環(huán)境的變化。
    的頭像 發(fā)表于 07-30 10:05 ?2514次閱讀