LCD Display

圖:LCD顯示器

LCD全名液晶顯示器(liquid-crystal display),是低功率且相對而言高效能的顯示器。

在arduino中,我們可以呼叫LiquidCrrystal.h函式庫來控制LCD顯示器。請參見Arduino-HelloWorld

Piezo Disc

圖:壓電器 piezo

Piezo 中文稱壓電器,為一對平行設置的金屬片,當金屬片通電時,兩片金屬片之間產生一定值之電容。我們可以對壓電器輸出電流脈衝,使它發出聲音。我們也可以將壓電器黏附在一平面上,利用壓電器感應震動。原理是:當震動發生時,壓電器兩片金屬間產生瞬間位移,從而激發微量電流。

在arduino上如何應用壓電器感應震動的介紹:Arduino-Knock

壓電器有時買來時只是簡單的金屬片,此時需要自行焊接電線到壓電器上,焊接方法如影片。此外,購買時選購的壓電器面積越大,則驅動它需要的電壓也越高;同時壓電器在感應震動時產生的電壓也越高。

IC of integrated circuit

74HC595

Shift Register。序列8輸出 或 平行3輸入。

CD4021B

Shift Register。平行8輸入。

SN7430

TTL邏輯閘。八組輸入之NAND結果。

CD4068B

COMS邏輯閘。八組輸入之AND或NAND結果。

gyroscope & accelerator & magnet

名詞解釋:在航空用語中關於移動的描述,東西南北四個方向表述X軸、Y軸的移動位移,高度表述Z軸的移動位移。而一架飛機的機頭指向前方,此時,在X軸(vertical axis)上的轉動體現飛機的飛行方向、其角度稱為偏擺(yaw);而Y軸(lateral axis)的角度是左右機翼的朝上或朝下的角度、稱為俯仰(pitch);而X軸(longitudinal axis)的轉動則表現機身肚子朝下或翻轉、稱為翻滾(roll)。三種旋轉角度統稱為飛機的姿態角(Euler angle)。X、Y、Z軸的移動加上轉動就是一般通稱的六軸,如果再加上能夠準確描述東西南北的磁力計,就是九軸。

很遺憾地,在中文領域中選擇電路模組時,我們經常會看到三軸、六軸、九軸感測器的描述。但這些以軸數來描述產品的名稱經常給人錯誤的理解,以為三軸就感應器就是可以感知XYZ的轉動、六軸感應器就是可以感之XYZ的移動加轉動等等,甚至網路上也出現了錯誤的、未經實務經驗驗證的教學資料。實際上,每個產品的設計都有其應用領域的背景,而關於三軸、六軸的資料,也並非簡單直觀地能夠透過感應器取得。以下我們先介紹每種感測器的運作原理。

加速計與重力場交互作用。從名稱上我們很容易誤解它是量測物件運動加速度,但實際上加速計並不適合用來量測運動中的物件,而是用來量測靜止物件的傾斜狀態。我們可以把加速計可以想像成一個周圍都掛著秤的重物,它在平放的狀態中中,會感測到地球的重力加速度(9.5 m/s2)。而當重物傾斜時,它會產生垂直與水平的分力。加速計有軸數的區別,想像一個六面體,它可以在X軸上掛秤,也可以在Y軸和Z軸上掛秤來增加軸數從一軸到最多三軸。因此,透過一顆三軸加速計我們可以得到X軸與Y軸的(水平面的)傾斜角度。然而關於Z軸上的轉動我們無從透過一顆重物的重量資料取得,在Z軸上我們可以得到的是該物件以加速度上升或落下時的加速度資料。
加速計因為是透過重力的分力來量測,因此物件的輕微晃動都會造成很大的數值變化,在動態物件上使用加速計會收到很高的雜訊。
一軸的加速計在取得從0-360度的傾斜角度時,其資料是一個正弦(sin)。可以想像,隨著角度的變化,正弦值在1與-1之間改變,其波峰與波谷發生在90度和270度,-270-+90度之內的感測結果與90-270度的結果鏡射重疊。因此,我們需要引入第二軸的加速計。而且實際上,當加速計在量測傾斜角度時,一個角度的改變也可以理解成是一個平面(兩個軸)上的變化。如X軸上的轉動是Y-Z平面的角度變化。如此一來在量測同一個傾斜角度時,X軸的資料為一正弦變化,Y軸的資料從90度開始計算、為一餘弦(cos),透過兩組資料可以完成360度的角度判斷。從兩軸(X、Y)得到資料換算成傾斜角度的算式因此為:arctan (x / y)。最後,我們考慮的是,但是難免會有在第三軸上面的影響。想像當我們想量測水平面上的轉動(偏擺yaw)時,如果並非垂直於重力場,那我們從arctan(x / y)上得到的結果,當我們有三軸(X、Y、Z)的加速計時,
加速計介紹:http://www.makezine.com.tw/151-2/
加速計介紹:http://www.hobbytronics.co.uk/accelerometer-info

陀螺儀可以想像成一顆永動的陀螺,因為轉動貫量守恆,所以即便改變它放置的平面角度時,它的旋轉軸角度仍不受影響。因此透過量測旋轉軸和平面之間的角度,我們可以知道物件的角度改變狀況。此外,當放置平面在水平面上加速度移動時,會因為慣性造成陀螺傾斜,因此陀螺儀可以感測X、Y軸上的加速度變化。

磁力計就像是指南針,透過感應地球磁場來得知絕對方位。

加速計、陀螺儀和磁力計的模組運用微機電技術製成。市面上有提供許多不同的陀螺儀(gyroscope)與加速計(accelerator)模組,每一種的特性和通訊界面略有不同。以下就我們實測過的產品進行介紹。

關於動作感知:https://www.w3.org/TR/motion-sensors/

ADXL345 – GY291

ADXL345-GY291

類型:accelerator
工作電壓:3.3V
感應資料:X、Y軸傾斜角、垂直(Z軸)直線加速度。
通訊界面(已實測可行):I2C (arduino上使用Wire.h函式庫)。
推薦參考範例:https://howtomechatronics.com/tutorials/arduino/how-to-track-orientation-with-arduino-and-adxl345-accelerometer/

MPU6050-GY521 (ITGMPU)

MPU 6050-GY521/ITGMPU

類型:accelerator+gyroscope+
工作電壓:3.3V
感應資料:X、Y、Z軸傾斜角、
https://howtomechatronics.com/tutorials/arduino/arduino-and-mpu6050-accelerometer-and-gyroscope-tutorial/