切換
舊版
前往
大廳
主題

【Minecraft Education Edition】Binary Counter

蒼玥華 | 2019-04-27 18:01:53 | 巴幣 0 | 人氣 175


  其實滿久以前就嘗試做過Binary Counter(BC),不過那時候是照著上課學到的電路原理去做的,需要先把基本的AND、OR、NOT等Logic Gate做出來,接著拼出D Filp-Flop(DFF)和Full Adder(FA),最後看要幾位數的BC就串幾個DFF和FA。
  這樣的設計確實可行,但占地大、延遲長且不穩定,所以實用性不高。(雖然也有可能是我電路設計得不好就是了_(:3」∠)_)
  今天剛好看到Minecraft版有人在問BC,恰好又是修同一堂課的同學,所以心血來潮花了一個下午加晚上研究不使用BUD的BC。
  大致做出一個滿意的作品之後,決定寫一篇文紀錄一下研究過程中不同的思路與做法。



【整體方向】
  • 先做出一位數BC,再進行擴充。

思路一】
  • 「(黏性)活塞」與「延遲、延長訊號」
  • 這邊的延長指的是持續時間。

概觀:

影片:

流程:
  1. 按鈕按下,激發黏性活塞與活塞。活塞因中繼器延遲而慢一步,使紅石塊不被黏性活塞拉回。BC狀態:0→1。
  2. 紅石塊啟動「訊號延長電路」,延長黏性活塞收到的訊號。
  3. 按鈕再次按下,黏性活塞此時會比活塞晚收回,並把紅石塊拉回來。BC狀態:1→0。
  4. 「訊號延長電路」關閉,回到初始狀態。
  5. 反覆循環。

優點:
  無。

缺點:
  1. 中繼器過多不好協調。
  2. 不穩定,按鈕按太快會有BUG。
  3. 不易擴充。

結論:
  有待改進。
--- 分隔線 ---

思路二】
  • 「環繞式結構」

概觀:

影片:

流程:
  1. 按鈕按下,激發一號與三號活塞。隨後紅石塊激發二號活塞推動紅石塊至三號位。BC狀態:0→1
  2. 按鈕再次按下,激發一號與三號活塞,隨後紅石塊激發四號活塞推動紅石塊至一號位。BC狀態:1→0。
  3. 反覆循環。

優點:
  1. 無中繼器。
  2. 穩定,不受按鈕快慢影響。
  3. 容易擴充,僅需將四號位的輸出作為下一個BC的輸入。

缺點:
  1. 占地略大。
  2. 多位數BC會因為活塞運作時間而延遲較長。

結論:
  還算實用。
--- 分隔線 ---

思路三】
  • 「轉化訊號源」與「屏蔽訊號」
  • 由於按鈕產生的訊號過長,所以利用黏性活塞與觀察者方塊將訊號轉化為極短脈衝的形式,使一些電路設計變得可行。

概觀:

影片:

流程:
  1. 按鈕按下,激發一號活塞推動紅石塊。二號活塞因為黏性活塞阻擋訊號而無動作。BC狀態:0→1
  2. 黏性活塞失去能量而收回,不再阻擋訊號。
  3. 按鈕再次按下,激發一號與二號活塞。二號活塞因中繼器延遲,最後會把紅石推回去。BC狀態:1→0。
  4. 黏性活塞獲得能量,再次阻擋訊號。
  5. 反覆循環。

優點:
  1. 穩定,不受按鈕快慢影響。
  2. 容易擴充,僅需將二號活塞的輸入(會被黏性活塞阻擋的部分)作為下一個BC的輸入。

缺點:
  1. 佔地略大。
  2. 多位數BC需要中繼器延長訊號距離。(雖然說可以採用無延遲中繼器的設計,但這樣就需要更多空間。)

結論:
  實用。



  以上就是我目前的成果。其實在寫這篇的時候,腦中又迸出了更多的設計,但我決定先把這篇寫完,免得我興致過後又懶得寫了(~ _~)
  之後,如果有更好的設計的話會再補上來的。也歡迎有更好想法的網友多多指教。

  感謝收看。

創作回應

相關創作

更多創作