前言

最近因為工作上會用到,所以做了一些研究。當然啦,這篇偏向統計物理的心得筆記。但是因為有用 FORTH 來模擬了一下,應該也是不錯 FORTH 語言的參考,所以把它歸類在 FORTH 語言裡面。

一般而言,這種模擬可以用任何語言, R 語言, Python,MatLab ... 都行。 因為 gFORTH 有很完整跟非常標準的浮點運算,所以我都把 gFORTH 當數值分析語言來用,也蠻方便的。做個心得筆記記錄,以後要用時查閱方便。

 

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言:

因為最近工作上難免會稍微碰觸到的議題,身為愛唬爛的的唬爛科系(物理系)學生,自然是發憤圖強,趕快去翻翻大學一年級所上過的普通物理學教材:費因曼物理學講義,好好地複習一下,心得整理了一下。說什麼也要好好增加自己唬爛的功力啊。

所以根據費因曼物理學講義,整理了這篇旋轉座標系下的科氏力 Coriolis Force ,物理心得筆記,以後自己忘記了也可以回來快速查閱使用。

 

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言

其實是從零件盒翻到一顆一年前買的 BMP180,這個很普遍的大氣壓力感測器。想說,好吧,來玩玩這顆感測器吧,順便豐富一下我們 Flash FORTH 的函式庫吧。

利用人家已經寫好的函式庫,然後 #include 進來用,這太 Low 了啦。來練練功,試看看只靠 Data Sheet 裡的資料,能否順利寫出底層可以跟 BMP180 溝通的程式碼呢?就這樣抱著試看看的心態,(鍵盤)東敲敲,西打打的,最後還是順利寫出來囉,蠻有趣的。

其實,以前就對那種利用氣壓計來做天氣預測的電子晴雨計非常著迷。只要有機會出國的話,總是會買個帶回來,放在客廳。出門前總是會多看幾眼,瞧瞧它的預測,看是要下雨了,還是會是個大晴天來當個參考。當然,現在網路時代,即時氣象預測應該都比這種老古董準確多囉。但,客廳擺個電子溫度計晴雨計的個人小氣象台,瞬間質感就增加很多。☺️

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言

玩 Arduino 的,第一個會接觸到的溫度跟濕度感測器十之八九,大概是 DHT 系列的感測器。

這一系列的感測器,因為已經一堆人幫它寫好底層溝通的函式囉,所以真的是使用上超級簡單的。真的不誇張,五分鐘搞定。所以當初筆者也用同樣的方法,很快的開發了一個露點溫度濕度計

但是,現在玩 Flash FORTH 這種少數人口在玩的語言,自然就沒這麼好命囉,這種特殊協定,可是沒人會理你的。

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言

國中上物理課的時候,大家耳熟能詳的一個題目一定是:請問外面下雨打雷中,突然一道閃電劃空而過,然後你手上剛好有個碼錶開始計時。最後經過 4.7秒後你聽到雷的聲音了。今日室外的溫度計刻度是 23.7度C,請問跟估計一下閃電發生的距離離你多遠啊??

這時候老師會叫你背一下聲音在空氣中的速度公式,聲速 (m/sec) = 331 + 0.6 * T (攝氏溫度)

所以目前聲速為 331+ 0.6 * 23.7 = 345.22 m/s

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言

其實是今天請假在家,因為好不容易預約到可以打武漢肺癌的疫苗囉。在家等待的過程有點無聊,所以坐在電腦桌前玩起 ADXL345 的這個三軸加速度計囉!照著之前這篇部落格的經驗,很快的就完成 Flash FORTH 的版本。測試了一下,運作非常良好,所以做個小小的記錄囉。

 

ADXL345 三軸加速度計

文章標籤

ohiyooo2 發表在 痞客邦 留言(1) 人氣()

前言,

前一篇部落格文章,談到了 Arduino 的看門狗 Watchdog。因為發現很少然談及這塊,所以程式碼採用 Arduino IDE 的 C/C++ 來撰寫。來熟悉一下 Atmel 原廠的 avr 函式庫的呼叫。

但這裡的部落格,是要盡可能來推廣 FORTH 語言的。所以同樣的主題跟程式,我們也來一篇 Flash FORTH 版本的吧。來熟悉一下 Flash FORTH 下, Arduino 的看門狗如何操作。

關於看門狗,搞不清楚這是什麼的,請看我的前一篇部落格文,有來龍去脈,應該蠻有助於暸解這是怎麼回事,這裡就不贅述了。這一篇,是上一篇的延伸,補充 Flash FORTH 的看門狗 Watchdog 的使用方式。

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言,和 Watchdog 電路的初相遇:

話說,其實筆者大學念的是物理系,研究所念的還是物理。來搞這些電路或是 Firmware 單晶片軟體大家會不會覺得很奇怪呀?😬

其實一點也不奇怪,一流的物理實驗,當然那些實驗儀器都不可能是現成的。都是教授自己根據實驗需求設計,慢慢建構出來的。所以只要是走實驗物理方向的物理系老師或學生,除了物理理論的本業外,會點基本電路跟電腦儀器控制這些其實也算是基本功。真空技術,各種的實驗方法跟感測器的熟悉,這些其實也是實驗物理裡面基本的素養。就這樣,自然當從研究所畢業後,就誤打誤撞的跑去一家半導體設備商磨練跟工作。

剛畢業,第一次在那家設備商接觸到非常龐大的商用半導體機台,真的是和在學校自己所組的那種簡陋的實驗器材,一個是天,一個是地的那種差別。(真的是很大的震撼教育!) 真的是讓剛畢業的我,眼界大開呀!💪

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言

最近在家裡讀到一本堪稱聖經等級的,由 Elliot Williams 所著,「Make:AVR程式設計」,驚為天人啊。這本主要是在教你如何使用Atmel AVR 系列的單晶片,來製作各式各樣的應用。

Ateml AVR 系列的晶片,最出名的應該是 Arduino Uno 所採用的 Atmega328p 這個單晶片微處理器囉。不過作者超強的,捨棄 Arduino 的硬體,教你如何只需要石英晶體振盪器就好,就可以讓MCU動作來控制東西囉。程式撰寫也不使用 Arduino IDE,而是採用 Atmel 原廠所推出的 Avr-gcc 的原廠標準 C/C++ 語言開發環境跟Atmel原廠所提供的 AVR 單晶片專屬的原廠函式庫,真的是開了眼界了。

其中一章,講如何控制 AVR 微處理上面的10位元解析度的類比數位轉換器ADC。真的有點驚嚇到的深入,次一個章節,作者提到一個我從未聽過,被稱作 Over-Sampling 過取樣的演算法。透過這個演算法,可以利用時間來換空間啊。透過多次的取樣跟適當的演算法,竟然可以把 AVR 內部廉價的 10 bits 解析度的ADC,輕易的提升至高價高品質的 12 bits 的解析度。

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()

前言:

最近在研究鼎鼎大名的卡爾曼濾波器 Kalman Filter。這個濾波器已經發展很久囉,因為太威了,各種資料的處理,數據的融合都少不了它。所以被廣泛地使用在工業上的各行各業,航天,導航,汽車,無人車控制,...甚至是電腦裡滑鼠位置速度的讀取,連最近最夯的BMS電池管理系統都可以見到它的身影。它其實是個數學統計理論加上馬可夫鏈的一個結果,核心的五個公式,可以透過嚴密的統計跟控制理論完整的推導出來。不過對初學者而言,直接透過反直覺的這五個矩陣運算的複雜公式來學習卡爾曼濾波器,除了直接被嚇跑,恐怕也得不到任何新的洞見跟有價值的想法。

所以最好的學習方式,還是先從簡單的一維公式開始,比較可以容易操作跟熟悉所有卡爾曼濾波器的想法。等非常熟悉後,再回頭去看這五個卡爾曼濾波器的數學推導跟所有動態模型的條件跟假設,這樣在學習上會比較有幫助些。

所以這篇來用一維的卡爾曼濾波器公式先來熟悉,跟練功。比較嚴密跟太數學的推導之後再說吧!(留到下一篇)

文章標籤

ohiyooo2 發表在 痞客邦 留言(0) 人氣()