專題--燈籠牆實作

在前面的章節中我們介紹了許多的micro:bit的練習,如何運用在練習中建立的實例運用到實際的場域中呢?這次博雅教育中心的成果展裡面所展示的燈籠牆是其中的一個例子。先來看看照片:

從照片中同學們應該可以看得出來,在這面牆上共有7串燈籠,每一燈籠串共有10個燈籠,在這個例子中每一串我們只使用了中間的8個燈籠,也就是每一串都有8個燈籠是可以由我們來分別控制它們的明滅動作的。

在組裝之前是這個樣子的:

以及這個樣子:

由於每一串均需使用一個控制器,因此7串燈籠共使用了7個控制器,而由於每一個燈籠中使用的是12V的高亮度LED,這顆LED所供應的電流並不是micro:bit所能提供的,因此要控制這些燈的開關,就是繼電器控制模組派上用場的時候了。

每一個單獨的控制器如下所示:

在上面的控制器裡面使用了一個八路繼電器模組,每一個繼電器可以控制1個燈的明滅運用。這支影片示範的是讓八路繼電器模組可以使用2進位的方式從00000000計算到11111111,同學們有看出來嗎?

在燈籠牆的例子中使用的就是這樣控制模組,但是,如何才能控制這7個模組的運作呢?答案是透過micro:bit的無線電功能。

在每一個模組中,它都會一直不斷地偵測無線電訊號,如果一收到從無線電來的訊息之後,立刻剖析收到的字串,依照字串的內容來呈現出對應的燈號,其程式碼如下所示:

上述的程式中,UNIT_NO代表的就是第幾串燈籠串,當收到屬於自己這串命令的時候,會把收到的命令剖析出來,每一個數字(放在digit變數中)先把它轉換成整數,之後把它從10進位轉換成2進位,再依序依照該位元是0或是1把訊號送給繼電器模組,以決定開關是打開還是關閉,也就是可以直接以數字的方式控制燈的明滅。以下是原始設計文字元的紙張:

在7串燈籠的控制器都燒錄了之後,接下來就可以透過控制器去傳送要呈現的資訊給每一個燈籠串,其中一個範例如下:

Last updated