更多

    製作 Arduino 測斜儀(上)

    【#1430 PCM】全虛擬 CES2021 科技•新常態

    CES 在上周迎來了開辦以來第一次全虛擬的展覽,並且成功獲得各大小科技公司支持,依然資訊豐富,更可能比去年精彩,更值得各位繼續關注!

    【場料】港行三款 Galaxy A 系減價 最平兩千有交易

    已踏入 2021 年新手機續繼主打 5G ,而較舊的 4G 手機在市場上已欠缺競爭力,令一眾 2020 年推出的 4G 手機做成一定的減價壓力。近日 Samsung 三款 Galaxy A 系列, A31 、 A51 及 A71 行貨都作出了定價調整。

    【場料】最平 5G 手機 SmarTone 出機只需 $1,499

    近日 Redmi 在香港發佈了一款平價 5G 手機 Redmi Note 9T ,最平版本建議零售價只係 $1,599 ,不過如果而家響 SmarTone 以客戶價買該款手機,可以平一百 $1,499 入手,都咪話唔抵玩。

    在初中級數學科中三角比(正弦、餘弦及正切)的課堂,學生可以了解到直角三角形的角與邊的關係。現在可以利用這些理論,來計算一些有關距離或高度的問題,例如找出一座大廈的高度,或估計一條河的闊度等。
    三角比課題的其中一個延伸活動是製作測斜儀,學生可以利用量角器、硬卡紙、飲管、幼繩及重物等物資製作。使用者需以眼睛望向所要量度物件的最高點,從而在量角器上,估計出物件的仰角,然後運用三角比的公式來計算出物件的高度。然而目測方法較不準確,所估計出的角度仰角,往往誤差較大,而令計算出來物件的高度有頗大的偏差。
    今次的設計文章會描述如何運用 Arduino 微處理器、三軸加速度計感測器及激光發射器來製作測斜儀,從而得出一個較準確的量度高度的工具。

    三角比課題簡介

    製作中,會運用到初中級數學科中的三角比知識。假設是有一個同學站在禮堂的一個位置,與禮堂牆壁的距離是 a ,我們可以構想出一個直角三角形, ∠ABC 為該學生望向禮堂最高點的仰角為 x ,就可以用三角比的方法來找出禮堂的高度,概念圖如下:
    另一方面,從下面的公式,如果知道仰角 x 及同學站立位置與禮堂牆壁的距離 a ,我們就可以得出禮堂的高度。
    [row][double_paragraph] Photo2 [/double_paragraph][double_paragraph] Photo15
    [/double_paragraph] [/row]

    Arduino 測斜儀設計

    在文章的最初,提及到以往利用量角器製作的測斜儀,因為是利用目測的方法估計出的仰角,以致誤差較大,使計算出來物件的高度有頗大的偏差。今次運用的五項電子裝置,分別有 Arduino UNO 及以下四項,相關裝置用途如下。

    A. 激光發射器

    利用激光發射器將光束射向所需要量度物件的最高點,用來量度公式中的仰角 x 。激光發射器的使用是非常簡單,只需要接上 Arduino 的電源便可以發射光束。在實驗中,會把它連接到 Pin11 ,因為這是一個脈衝寬度調變 Pulse Width Modulation ( PWM ),方便調節光束的亮度。
    p80

    B. 三軸加速度計感測器

    加速度計的感測器原理是基於地球表面的重力加速度是有方向性的,當感應器傾斜的時候,晶片會根據重力的改變來測量三軸傾斜的變化,然後輸出三軸的類比數值。
    不過,此習作中,只需使用 x 軸的訊號,但要留意的是不能直接使用接
    收訊號,要需要先將這些訊號校準( Calibration ),範圍由 0° 至 90° 。校準的方法如下,將感測器平放在一個正方體上面(仰角為 0° )並放在一個水平面上,記下 x 軸的類比數值,然後將正方體轉動 90° ,再次記下 x 軸的類比數值,最後在程式中將 0° 至 90° 映射到剛才記錄到的兩個數值上,這個校準步驟變完成了。
    [row][double_paragraph]

    三軸感應器正面,能看到 晶片及標誌。
    三軸感應器正面,能看到晶片及標誌。

    [/double_paragraph][double_paragraph]
    背面有接線說明。
    背面有接線說明。

    [/double_paragraph] [/row]

    C. Keypad

    在使用這個 Arduino 測斜儀工具時,可以利用 4×4 鍵盤,將水平距離輸入至 Arduino 。在 Arduino 中使用鍵盤是非常簡單,只需加入 Keypad  Library 便可,但請注意,確定輸入的數據類型是「數字」,而不是「字串」,因為我們需要運用這個輸入來計算出物件高度。 Keypad 的接駁方法,鍵盤的接是 8 / 7 / 6 / 5 /4 / 3 / 2 / 1 ,再接駁到 Arduino 的 5 / 4 / 3 / 2 / 9/ 8 / 7 / 6 接口。

    數字按鍵鍵盤。
    數字按鍵鍵盤。

    D. LCD液晶顯示器

    最後,需要利用 LCD 液晶顯示器來顯示輸入的水平距離,量度到的仰
    角,及想求出的物件高度。我們所使用的是 1602 液晶模組,即是包括兩行,每行有 16 個字元位置的顯示器,在此題目中已十分足夠應用。為方便製作,運用背面已經焊接好 I2C 介面的控制板可直接接駁顯示器,只需要接駁四條電線就可以, LCD 液晶顯示器的接駁方法是 LCD 液晶顯示器的接口按序是 VCC / GND / SCL / SDA ,分別接駁到 Arduino 的 5V / Gnd / A5 / A4 接口。
    [row][double_paragraph]

    LCD wiring 正面有 16 個字元位置的顯示器。
    LCD wiring 正面有 16 個字元位置的顯示器。

    [/double_paragraph][double_paragraph]
    LCD wiring 背面是接線口。
    LCD wiring 背面是接線口。

    [/double_paragraph] [/row]
    下星期待續……

    您會感興趣的內容

    相關文章