yj hung

AMS TCS3430 coding on STM32(Arduino)

    前言 該設備具有先進的環境傳感(ALS)和C IE 1931三刺激顏色控制(和C光傳感)。每個設備通道過濾器來使其能夠準確地測量環境環境,並根據光學特性來測量環境。顏色。這些用於計算色度、照度和色溫,所有這些都支持各種潛在的應用程序。 DFRobot_TCS3430 Nucleo-F401RE 連線 傳感器板子與上圖Nucleo-F401RE腳位對接部分硬件即完成   注意此板是3.3V非5V,與I2C的腳為傳感器板是含電阻的,如果是焊路電路板記得要外加電阻正常 編碼流程   首先在開始感應前先把TCS3430內的記憶體reset才不會造成I2C編寫指令錯誤   The Sensor Initialization         首先在開始Sensing前要先把TCS3430內的ADC等等全部重新設定,避免I2C寫入或讀取Fail     初始化表         初始化完成後即可抓取Data         其中getXData()等等涵式庫如下以此類推         額外設定     setWaitTimer/setALSGain/setHighGAIN     以上等等不同Gain設定最主要是影響感光程度可把其調整得更加敏感,Wait time主要是看檢測時間間隔用於節電     校正與Lux / CCT Calculations […]

AMS TCS3430 coding on STM32(Arduino) Read More »

AMS Time-of-Flight sensor ( TMF8801 )on STM32 -2

前言 上篇主要針對AMS TOF TMF8801初始化與FactoryCalib做初步介紹完了這邊介紹他如何獲取量測資訊與流程下圖表流程圖為主要我去彙整TMF8801上篇的流程圖上篇,不清楚的看官可以針對這表格再比對一下  Get sensor distancePeak data and Confidence 在抓取資訊後發現奇怪TMF8801怎只能抓取到最遠660mm!!! 後續花很長時間比對與AMS官網上放的Firmware 發現有些地方不同且網路資訊很多都沒寫到,重點官網上竟然Application Note也沒寫到 是需要做Firmware upload TMF8801才能達到官網規格最遠2.5M 解讀Firmware upload 首先先到官網下載Firmware開啟下圖的文件(用記事本即可) 程式代碼 主要加入這3個步驟把Data一個一個寫入因為STM32的MCU架構與MPU Linux系統不同,無法讀取外部檔案所以這邊是把data解析出來後存到陣列裡 第一步download_INT_RAM()主要先讓TMF8801 RAM全部初始化方便後續把data陸續寫入 第二步寫入Data 第3步相對簡單只是Datasheet要求的你把RAM寫入Data後要做一次復歸動作

AMS Time-of-Flight sensor ( TMF8801 )on STM32 -2 Read More »

SPI introduction and Coding on STM32

目錄 前言 一、SPI協議簡介 SPI物理層 SPI協議層 一、基本通訊程序 2. 通訊的攔截和停止信號 3.資料有效性 4. CPOL/CPHA 及通訊模式 二、STM32cubeMX設定 三、STM32 HAL庫中的SPI 1.SPI初始化結構體 一、SPI協議簡介 SPI 協議是由摩托羅拉公司提出的通訊協議(Serial Peripheral Interface),即通訊外圍設備面是全高速雙工的通訊協議,它被廣泛地在通訊設備與MCU之間使用,它被廣泛地在ADC、LCD等設備與MCU之間使用,3 條總線分別為SCK、MOSI、MISO,觸發選用SS SPI物理層 SS(Slave Select) SS(從設備選擇信號線,常稱為選片信號線,也稱為NSS、CS,以下用NSS表示,當有多個SPI從設備與SPI主機連接時,設備的選擇其他信號線) SCK 及任何一條信號線,我在每一個設備的SPI、MISO 線上,即從設備上,都共同使用這3 條信號;而從設備本身的這個NS NS 上有多少條信號線,本協議的多少個設備通過路由,有多少個從設備上選址,即線路上的設備地址,即上的設備並進行通訊協議;沒有設備地址,使用NSS信號線來探測,當主機要選擇從設備的時候,該從設備的信號線設置為低調它,即從該設備被選中有效片選,接著開始與被人的設備進行SPI通訊,所以SPI通訊以NSS線置NSS低作為被線信號,以簡單的說此PIN是主人使用Slave要接收訊號以及Master去跟Slave要數據需要觸發的腳位(類似I2C的地址概念) SCK(Serial Clock):信號線時鐘,用於通訊數據同步,它由通訊主機設備產生,決定通訊的頻率,不同的支持的最高頻率不一樣,如STM32的SPI時鐘頻率最大為fpclk/2 ,兩個設備之間通訊時,通訊設備之間的通訊低速 MOSI(主設備輸出/從輸入)主輸出:主設備輸出線,主機資源的資料設備從鏈路信號,從機由線索線輸入讀入發送的資料,即這條線索的方向為主機到從機 MISO Master Input,,Slave Output):從主設備輸出的資料輸入(從線索輸入設備,從線索輸入)方向為從機到主機 二、SPI協議層 一、基本通訊程序 是一個機器與信號源的信號源都來自主機,NSS、CK、MOS I 由主機控制產生而 MISO 的由主機產生,通過信號線讀取從機的信號線,MOSI (SS) 為各種稀有的 MISO 時間段才有效,我和 MISO 傳輸一個短期的資料 CPOL/CPHA 及通訊模式

SPI introduction and Coding on STM32 Read More »

AMS Time-of-Flight sensor ( TMF8801 ) -1

前言 A time-of-flight camera (ToF camera) is a range imaging camera system employing time-of-flight techniques to resolve distance between the camera and the subject for each point of the image, by measuring the round trip time of an artificial light signal provided by a laser or an LED.這邊選用SparkFun Qwiic Time-of-Flight Sensor TMF8801模組來當驅動模板搭配STM32F401RE的Nucleo-F401RE板子 這邊使用TMF8801與Nucleo-F401RE作為開發工具以下開始程式範例與接線說明 TMF8801介紹 TMF8801是2019年AMS推出的用于测量(dToF)距離的集成式模塊,號稱當時體積最小。這個Sensor可以精準測量0.02m至2.5m範圍,實際量測在100KLux陽光底下大約剩下60cm可以外加一些裝置最大只能Gan到1M,暗室下能夠測量到2.5m,2m以内基本都能量測到。相比VL53L0X測距模組,测量距離與準度是相對好些。 Features Direct ToF technology with high sensitivity

AMS Time-of-Flight sensor ( TMF8801 ) -1 Read More »

Shopping Cart