|
|
繪制溫度變化曲線,需要用到兩根數(shù)軸X與Y。
數(shù)軸有三大要素,原點(diǎn),方向,單位。分別設(shè)計(jì)為X0,Y0,向右,向上,X1,Y1。
lcd12864是128*64的屏,它的解析能力為一個(gè)點(diǎn),也即X向?yàn)?28個(gè)點(diǎn),Y向?yàn)?4個(gè)點(diǎn)。問(wèn)題來(lái)了:
1、你打算用幾個(gè)點(diǎn)做一個(gè)X1或Y1。
2、坐標(biāo)原點(diǎn)X0,Y0設(shè)計(jì)定在屏幕的何處理(可以設(shè)置的屏外的虛擬點(diǎn))。
3、溫度放于X還是Y,假設(shè)是Y,Y1打算取多少度(一個(gè)數(shù)軸單位是多少度)?
4、溫度變化,為個(gè)變化是時(shí)間還是其它什么?假設(shè)是時(shí)間,就用Y軸表示吧。同理Y1=多少時(shí)間呢?
以上1、2、3、4完成設(shè)計(jì)后,剩下的就是采樣計(jì)算了。
在某個(gè)時(shí)間采樣一個(gè)溫度值,求出它的(X,Y),在屏上增加顯示這個(gè)(X,Y)點(diǎn)。
5、建議用內(nèi)存做一個(gè)M*N的點(diǎn)超大點(diǎn)陣,M*N>>128*64,M,N的大小能滿足你的溫度曲線的范圍。
如此,每次采樣的點(diǎn)每可以打在內(nèi)存M*N的點(diǎn)陣上,就不愁無(wú)處打點(diǎn)了。
6、選擇M*N中的某個(gè)128*64的部分,用屏顯示出來(lái)。也即用屏顯示M*N的一個(gè)小部分。
7、建議每間隔一個(gè)單位的時(shí)間,采樣一個(gè)溫度值,并將這個(gè)采樣點(diǎn)打在M*N上,如果這個(gè)點(diǎn)在顯示屏內(nèi),就刷新一下顯示,不在顯示屏內(nèi),無(wú)需作處理。
8、切屏:修改顯示屏對(duì)應(yīng)于M*N中的位置,就可以達(dá)成更換顯示的目的。
|
|