求助

6月19日 00:22
我想利用8*8led矩陣配合搖桿進行紅點的移動,但我目前想到的方法是,宣告每一個點為一個圖像(如下圖,隨著搖桿移動的多寡,進行紅點的移動,請問有沒有別的方法進行宣告呢,又或者並非是用宣告的方式,有另一種特別的方法呢,麻煩各位幫我解答了,謝謝
0
回應 4
文章資訊
1 篇文章0 人追蹤
Logo
每月有 5 則貼文
共 4 則留言
國立虎尾科技大學
一個點為一個pixel,不考慮亮度可變,一個pixel可以進一步壓縮成一個bit。 如此一來8個byte的陣列便可表示8x8矩陣的顯示狀況。
B1 可以請問一下你所說的pixel與bit的使用方法及原理嗎?或是我應該搜索什麼關鍵字才能找到相關知識
國立虎尾科技大學
pixel:像素,指8x8矩陣為一張圖片,一點為一個像素。 bit:位元,8位元為一個byte(位元組)
用陣列是必須的,但是可以用定位的方式來處理座標和渲染。 假設你只有一個點: 1. 先初始化int x、int y、byte[8] arr(用來裝給矩陣的陣列)。 2. 接收搖桿的信號,判斷要怎麼移動然後去修改x跟y值。 3. 歸零舊的 arr[y],我會選擇歸零新的y - 1和 y +1的陣列(7 > y > 0) 4. 渲染 arr[y] 的陣列,這時就要看 x 在哪,如果是用MAX7219,lib是接收byte,所以要妥善運用二進制位移,公式應該是 0b01 << (7 - x) 5. 最後輸出到MAX7219上,然後輪迴 我沒測試過,但我想理論上可行,這方法可以不用 8x8 arr 一直重新渲染,只要處理一小部分就好。