32X64點陣顯示二維碼教程
- 2020 年 3 月 17 日
- 筆記
1
獲取二維碼所要包含的信息
這一步要分兩種情況,第一種是你已經有要顯示的二維碼圖片;第二種是要顯示的二維碼信息是文字、網址、電話等文字性的素材。
第一種情況處理辦法:百度搜索「二維碼解碼」,利用網絡資源,解碼現有的二維碼或者圖片等信息。如下圖:1處選擇二維碼,如果是網絡圖片選下面一個,具體根據自己情況選擇,2處上傳二維碼圖片,3處就會出現解析結果,直接複製這個解析結果備用。
第二種情況直接跳到步驟二。

2
百度「聯圖二維碼」打開聯圖網,製作新的二維碼。如下圖:1處輸入上一步中解析得到的信息,步驟一中情況二直接輸入二維碼要包含的信息即可,這裡小代以我們的VIP視頻解析網站地址為例,記住一定用你自己的網址或你自己要顯示的信息;2處選擇圓角;3處只需調整糾錯等級,使每行點數小於30,大於30的點在點陣上無法顯示,(經驗值,等級調到低就可以了),調完了自己數一下是不是小於30個點了。4處保存圖片到電腦。

3
用畫圖軟件打開上一步得到的二維碼圖片,這裡需要注意,我們得到的圖片外面白色邊框我們也要算一行一列,再在上面和右面加上一行,這樣湊足32×32個點。完了後再用不同顏色的線把圖片分為16×16個點,接着再分成8×8個點,再接着分成4×8個點,以方便後面的取模用。分為如下圖:

如圖,這裡小代用紅線分為了16×16個點,藍線分為了8×8個點,綠線分為了4X8個點。方面我們後面取模。
4
按順序取模得到二進制數據。從左上角開始,每八個點為一個8位的二進制數,每取一個二進制數加一個空格,把左上角的8X16個點取完後再想右移8個點,同樣的原理取模,左後取模的是右下角的8X16個點,具體順序如下圖:

把取的數據新建一個txt文檔保存,最終得到如下圖所示的一個txt文檔,文檔中有4列32行的二進制數。

再把以上二進制數轉換為16進制數保存為數組形式,其中,前面16行數據保存為一個數組,後16行數據保存為一個數組。具體如下圖:

5
把數據替換到程序中數組部分編譯後下載程序到單片機既可以實現顯示二維碼。
替換部分如下圖所示:

6
顯示效果

註:有需要製作圖片的朋友可以自己取模後把得到的數據txt文檔發給我,我來完成替換程序中代碼,下載程序,最後拍照發給你,可以實現掃碼收款、掃碼加好友,學電子的可以很好的裝逼用。有需要程序源碼和電路圖的請關注我們微信公眾號:單片機,回復「點陣二維碼」獲取。