七節顯示器
七節顯示器(7-segment Display)常用在需要顯示一些數字的場合。每一個數字的顯示器,它的內部有八顆LED燈,利用不同的LED燈亮起,便能代表不同的數字。一般阿拉伯數字中,如果用直線來畫出0~9的數字,8是最複雜的數字,它用到了七條直線,需要用到七顆LED燈,因此這個顯示器稱為「七節顯示器」,有時候數字還會有小數點,所以這也是為什麼一個數字要用到八顆LED燈的原因。
最多筆畫數的8,用掉了七條直線
一個數字就得要控制8個LED,數字愈多,要控制的腳位就愈多,對一般人來說,要從最底層來控制七節顯示器是很困難的。Lumex推出的七節顯示器,內部有個控制IC,它把複雜的控制全部接手,使用者不需要做一些很底層的控制,只要將顯示器接到開發板的序列埠,透過序列埠傳送一些控制指令,顯示器內部的IC便會接手處理,顯示出使用者想要顯示的數字。
但是對中小學生來說,就算是控制指令,也是很難理解的一些文字,例如,要清除顯示器上的所有數字,必須下的指令為「atd0=()」,這些指令對學生來說是個完全無意義的東西,而且還需要記憶住這些指令才能控制顯示器,於是我設計了在BlocklyDuino上便可以使用的積木,讓學生也能透過拖拉積木的方式輕鬆控制七節顯示器。所有積木分成三部份,連接、顯示,以及指示燈。指示燈的積木是針對顯示器上有指示燈的型號而設計。積木的位置位於「吉哥積木」→「Lumex」→「七節顯示器」中。
不同長度的數字型的七節顯示器都可以用同樣的擴展積木就可以驅動,只要在「初始化」區塊設定字元數即可。
範例一:基本顯示數字範例
以下的範例使用了五位數的七節顯示器,顯示器連到ESP32的Serial1,RX連到GPIO27,TX連到GPIO13,另外ESP32的GPIO2連接了一個電位器,ESP32每100毫秒偵測一次電位器的值,並將它顯示在七節顯示器上。
範例二:有指示燈的四位數顯示器
四位數顯示器如果有包含左右兩邊的指示燈,可以控制指示燈的顯示燈數。顯示器連到ESP32的Serial1,RX連到GPIO27,TX連到GPIO13,另外ESP32的GPIO2連接了一個聲音感測器,ESP32重複偵測聲音大小,並將感測到的類比數值顯示在顯示器上,並依據聲音大小調整左右兩邊指示燈的燈數。