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

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

3天內不再提示

設計一個封閉環境內的眼刺激系統

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

設計一個封閉環境內的眼刺激系統:

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

一個人完整的視角

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

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

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

垂直平面的視野是:假定標準視線是水平的,定為0°,則最大視區為視平線以上50°和視平線以下70°。顏色辨別界限為視平線以上30°,視平線以下40°,實際上人的自然視線是低于標準視線的,在一般狀態下,站立時自然視線低于水平線10°,坐著時自然視線低于水平視線15°。

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

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

我再補充一個縱深視野:

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

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

3、而20米之外的事物,我們只能得到一個“扁平”的2D視野,因為景象通過雙眼的成像差別太小,無法分辨。

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

其實這說的更沒說一樣

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

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

盡量避免直接光照用戶的眼睛,可以考慮使用漫射器材或將光源隱藏在眼罩的設計中,以防止強烈光線對用戶眼睛的刺激。

背景光源(850納米):

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

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

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

燈光布局和均勻性:

確保燈光布局均勻,以避免在眼罩內產生不均勻的亮度或陰影。

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

對背景光源和刺激光源進行不同的光學評價可能是基于實驗、應用或觀察需求而定的。以下是一些常見的因素,這些因素可能導致對它們的光學評價存在差異:

感知效果:

刺激光源通常是實驗中要引起注意的主要光源,其顏色、強度和變化可能對實驗結果產生直接影響。因此,對刺激光源的評價可能更關注其在實驗中產生的感知效果。

背景光源可能更側重于提供一種環境、背景或輔助信息,其顏色和亮度可能被調整以創造某種氛圍,而不是成為實驗的主要焦點。

顏色溫度:

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

背景光源的顏色溫度則可能更多地取決于設計的整體氛圍和實驗的目的。它通常被設計成輔助刺激光源,以創造更逼真的環境。

亮度和對比度:

刺激光源可能需要更高的亮度和對比度,以確保在實驗中引起足夠的關注和反應。

背景光源通常會以相對較低的亮度出現,以避免干擾實驗者或觀察者對刺激光源的關注。

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

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

刺激光源的影響:

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

顏色:不同顏色的光源可能會導致瞳孔有不同的反應。一些顏色可能引起更強烈或更迅速的瞳孔反應。

背景光源的影響:

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

顏色:背景光源的顏色可能影響瞳孔的基礎大小和對刺激光源顏色變化的響應。一些顏色可能導致瞳孔對刺激光源的反應更為顯著。

光源變化的影響:

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

持續性變化:長時間的光源變化可能導致瞳孔適應,使其在測量過程中產生動態的響應。

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

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


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


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


  // 控制紅外LED
  digitalWrite(infraredLED, HIGH);  // 開啟LED
  delay(500);  // 延時0.5秒
  digitalWrite(infraredLED, LOW);  // 關閉LED
  delay(500);  // 延時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);  // 設置PWM值來調整亮度
    delay(10);  // 延時10毫秒,可調整過渡的速度
  }


  delay(1000);  // 延時1秒


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


  delay(1000);  // 延時1秒


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


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

使用for循環變得更絲滑一些。

這里就是想著也可以提前預設一些刺激的規則,在樹莓派上面可以這樣寫:

import RPi.GPIO as GPIO
import time


# 定義LED引腳
warm_white_led_pin = 17  # 適應您的硬件設置
infrared_led_pin = 18  # 適應您的硬件設置


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


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


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


# 定義預先設計好的刺激規則
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)
    # 添加其他規則...


# 測試
apply_stimulus_rule("rule1")


# 清理GPIO設置
GPIO.cleanup()

可能對于所以樹莓派控制這樣簡單的功能性價比不高,可以在MCU上面實現:

import machine
import time


# 定義LED引腳
warm_white_led_pin = 19  # 適應您的硬件設置
infrared_led_pin = 18  # 適應您的硬件設置


# 初始化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控制函數
def set_led_brightness(led, brightness):
    # 控制LED亮度,brightness范圍0-1023
    led.duty(brightness)


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


# 定義預先設計好的刺激規則
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)
    # 添加其他規則...


# 測試
apply_stimulus_rule("rule1")


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

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

import machine
import time
import ustruct


# 定義LED引腳
warm_white_led_pin = 19  # 適應您的硬件設置
infrared_led_pin = 18  # 適應您的硬件設置


# 初始化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)  # 適應您的硬件設置


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


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


# 定義通過串口控制LED的函數
def control_led_via_serial():
    while True:
        if uart.any():
            data = uart.read(4)  # 期望接收4字節數據
            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()

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

這兩個值使用ustruct.unpack解包??梢酝ㄟ^串口發送相應的二進制數據來控制LED。

import struct


brightness = 512
frequency = 2


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

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

審核編輯:湯梓紅

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

    關注

    3

    文章

    630

    瀏覽量

    67480
  • 代碼
    +關注

    關注

    30

    文章

    4589

    瀏覽量

    67232
  • 視網膜
    +關注

    關注

    0

    文章

    34

    瀏覽量

    12710
  • vr
    vr
    +關注

    關注

    34

    文章

    9570

    瀏覽量

    149021

原文標題:設計一套眼內刺激系統.上-光源

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

收藏 人收藏

    評論

    相關推薦

    基于數字CNN與生物視覺的仿生設計

    對脊椎動物的實驗可知,可以用兩種特性來描述視網膜中神經節細胞對圖像空間信息的反應,種是從圖像刺激到神經節細胞輸出第一個脈沖的時間間隔,稱為脈沖延時,另外種就是輸出的總脈沖數[7-1
    發表于 09-19 09:35

    Rainbow NB-IoT測試儀在封閉環境也能信號檢測

    Rainbow NB-IoT封閉環境信號檢測Rainbow NB-IoT測試儀具有藍牙無線數據傳輸的功能,廣泛應用于NB-IoT水表、電表、智能停車、智慧農業等場景的信號測試,尤其是密封環境的測試
    發表于 09-20 09:16

    你是我的環境光傳感器

    環境光就很強,從而將亮度調暗。為了解決這個問題,在使用光電晶體管有時需要在玻璃上開小孔,這樣給生產帶來了麻煩以及增加了成本。 圖- 3 新代的
    發表于 08-07 04:45

    怎樣利用電機旋轉角度和轉速雙閉環去搭建閉環控制系統?

    怎樣利用電機旋轉角度和轉速雙閉環去搭建閉環控制系統?雙閉環控制系統的結構是由哪些部分組成的?
    發表于 07-22 09:25

    閉環直流調速系統仿真

    閉環直流調速系統仿真(Matlab)答辯人:王玲瓏 2011.05.07 雙閉環直流調速系統仿真 展示目錄 原始調速系統穩定性分析 轉速、
    發表于 09-07 06:58

    介紹閉環開關電源線路

    閉環開關電源線路其實就是小的閉環自動控制系統
    發表于 10-29 09:32

    設計最佳能量采集系統的訣竅

    我經常被問到問題,那就是設計最佳能量采集系統的訣竅是什么。在這篇博文中,我將討論在能量采集設計方面,設計出
    發表于 11-18 07:21

    開環步進電機與閉環步進電機系統對比分析哪一個更好?

    溫度下達到熱平衡-不到開環系統半。電機發熱的顯著降低可能意味著機器制造商降低了零件成本,因為他們可以省略額外的保護和冷卻子系統?! ∷?、開環與閉環步進電機
    發表于 03-10 10:06

    什么是開環/閉環/半閉環進給伺服系統?

    種是把角位移檢測裝置安裝在絲杠末端;另種是把角位移檢測裝置安裝在電動機軸端?! “?b class='flag-5'>閉環控制系統的精度比閉環要差些,但驅動功率大,快速
    發表于 03-21 17:53

    加州大學研發出一種閉環神經刺激器 可自動檢測和預防癲癇發作

    據報道,加州大學伯克利分校的研究人員開發出一種無線,自主的閉環神經刺激器。該設備被放置在大腦外部,監測大腦中的電活動,并通過電刺激進行干預以預防癲癇發作。
    發表于 01-13 11:29 ?2429次閱讀

    基于MSP430單片機和NRF24L01的封閉環境檢測系統設計

    基于MSP430單片機和NRF24L01的封閉環境檢測系統設計
    發表于 10-25 16:40 ?1次下載

    祥控封閉煤場環境監控系統的功能特點

    濟南祥控封閉煤場環境監控系統支持根據現場的實際情況制定和合理的配置,目前已在很多的煤礦和火電企業中被廣泛應用。
    的頭像 發表于 12-21 15:57 ?341次閱讀
    祥控<b class='flag-5'>封閉</b>煤場<b class='flag-5'>環境</b>監控<b class='flag-5'>系統</b>的功能特點

    什么是封閉煤場環境安全監控系統?

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

    光刻圖案化+微流控技術用于封閉環境下細胞行為和機制的研究

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

    封閉煤場安全監控系統

    濟南祥控自動化開發的XKCON祥控封閉煤場安全監控系統采用物聯網、傳感器、數字通信、人工智能及嵌入式系統控制等先進技術,通過對煤場環境進行智能化監測與數據智能分析,從而實現
    的頭像 發表于 08-15 17:44 ?642次閱讀
    <b class='flag-5'>封閉</b>煤場安全監控<b class='flag-5'>系統</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>