找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 18883|回復(fù): 10
收起左側(cè)

Arduino示波器制作 (LCD12864顯示)

  [復(fù)制鏈接]
ID:426684 發(fā)表于 2018-12-21 20:49 | 顯示全部樓層 |閱讀模式
Arduino 示波器 (LCD12864)制作出來的實物圖如下:
IMG_20181221_203348.jpg IMG_20181221_203342.jpg

實驗?zāi)康?顯示變化頻率的正弦波
硬件:Arduino UNO,LCD12864
代碼:
#include <U8glib.h> //聲明庫
U8GLIB_ST7920_128X64_4X u8g(13, 12, 11); // 聲明液晶屏 SPI Com: SCK =13, MOSI = 12, CS =  11
int x,y; //繪點坐標(biāo)
int Buffer[128]; //緩存值儲存數(shù)組
const  uint8_t grap []   U8G_PROGMEM  ={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x80,0x0C,0xE0,0x00,0x08,
0x40,0x00,0x00,0x60,0x00,0x00,0x00,0x00,
0x07,0x80,0x30,0x80,0x7F,0x60,0x00,0x08,
0x40,0x00,0x01,0xC0,0x08,0x00,0x00,0x00,
0x07,0x80,0x10,0xC0,0x2D,0xC0,0x00,0x08,
0x40,0x00,0x02,0xC0,0x18,0x01,0x00,0x00,
0x06,0x00,0x15,0xE0,0x3D,0xC0,0x00,0x08,
0x40,0x00,0x04,0x80,0x10,0x02,0x00,0x00,
0x1B,0xE0,0x07,0x20,0x0E,0xC0,0x00,0x08,
0x40,0x00,0x09,0x80,0x70,0x20,0x00,0x80,
0x7F,0xF0,0x45,0x40,0x07,0xF0,0x00,0x08,
0x40,0x00,0x7F,0xBD,0xE3,0x6C,0xDB,0xC0,
0x73,0x00,0x45,0x80,0xFD,0x80,0x00,0x08,
0x40,0x00,0xFF,0xAB,0x22,0xD8,0xB6,0x80,
0x0B,0x00,0x4D,0xC0,0xC8,0x80,0x00,0x08,
0x40,0x00,0x42,0x52,0x45,0x51,0x64,0x80,
0x33,0x60,0x67,0x40,0x30,0xE0,0x00,0x08,
0x40,0x00,0x85,0x1E,0xD7,0xB5,0xBC,0xC0,
0x6A,0x20,0x68,0x80,0x4F,0xE0,0x00,0x08,
0x40,0x01,0x06,0x1B,0x62,0xD9,0x23,0x00,
0x06,0x00,0x4B,0x70,0x3D,0x60,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x02,0x00,0x40,0x3C,0x39,0xE0,0x00,0x08,
0x40,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFD,0xFF,0xBF,0xC3,0xC7,0x1F,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x10,0x00,0x00,0x10,0x02,0x20,0x08,
0x40,0x00,0x24,0x00,0x00,0x00,0x00,0x02,
0x30,0x18,0x0F,0x00,0x90,0x0A,0x60,0x08,
0x40,0x00,0x42,0x00,0x00,0x00,0x00,0x02,
0x40,0x20,0x1D,0x81,0x58,0x0F,0xA0,0x08,
0x40,0x00,0x81,0x00,0x00,0x00,0x00,0x07,
0xC0,0x3C,0x13,0x83,0xF0,0x07,0x60,0x08,
0x40,0x01,0x00,0x80,0x00,0x40,0x00,0x0F,
0x40,0xDC,0x1E,0x43,0x3C,0x0F,0x60,0x08,
0x40,0x02,0x00,0x40,0x00,0x80,0x00,0x07,
0xE0,0xE0,0x39,0x81,0x70,0x3A,0xA0,0x08,
0x40,0x3F,0xFF,0xFF,0xFF,0xF0,0x00,0x0B,
0x70,0x30,0x1B,0x01,0x10,0x06,0xA0,0x08,
0x40,0x08,0x00,0x10,0x02,0x00,0x00,0x04,
0xC0,0x2C,0x2E,0xC1,0x10,0x0B,0xA0,0x08,
0x40,0x10,0x00,0x08,0x04,0x00,0x00,0x02,
0x00,0x60,0x18,0x00,0x10,0x02,0x60,0x08,
0x40,0x00,0x00,0x04,0x08,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x00,0x20,0x08,
0x40,0x00,0x00,0x02,0x10,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x01,0x20,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,
0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};//首頁圖片
void setup( ){
Serial.begin(9600);
u8g.firstPage();  //清屏
do  draw1( );      //顯示
while( u8g.nextPage( ));
delay(1000);
}
//采樣
void sample(int j){
for(x = 0;x < 128;x++)
//Buffer[x] = analogRead(A0);  //信號采樣
//Buffer[x] =0;  //信號采樣
Buffer[x]=int(sin(x*(j*3.1412/180))*208-j);
for(x = 0;x < 128;x++)
//Buffer[x] = 32-(Buffer[x]); //計算縱坐標(biāo)值
//Serial.println(Buffer[x]);
Buffer[x] = 32-(Buffer[x]>>4); //計算縱坐標(biāo)值
}
//顯示
void draw( ){
for(x = 0;x < 128;x++)
u8g.drawLine(x, Buffer[x],x,Buffer[x+1]);  //畫相鄰兩點連線
u8g.drawLine(64,0,64,63); // 畫坐標(biāo)軸
u8g.drawLine(0,32,128,32);
for(x=0;x<128;x+=8)   //畫坐標(biāo)軸刻度
u8g.drawLine(x,31,x,33);
for(x=0;x<64;x+=8)
u8g.drawLine(63,x,65,x);
u8g.drawFrame(0,0,128,64); //畫邊框
}
void loop( ){
for(int j=8;j<32;j++){
sample(j);         //采樣
u8g.firstPage();  //清屏
do  draw( );      //顯示
while( u8g.nextPage( ));
delay(500);
}
u8g.firstPage();  //清屏
do  draw1( );      //顯示
while( u8g.nextPage( ));
delay(3000);
}
void draw1(void) {
u8g.setColorIndex(1);
u8g.drawBitmapP ( 0 , 0 , 16 , 64 , grap);
}
視頻效果:


評分

參與人數(shù) 2黑幣 +53 收起 理由
Arvin0011 + 3 共享資料的黑幣獎勵!
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:138707 發(fā)表于 2018-12-30 22:51 | 顯示全部樓層
發(fā)個壓縮包,多好,,,
回復(fù)

使用道具 舉報

ID:462258 發(fā)表于 2019-1-5 10:26 | 顯示全部樓層
用字符(中文字庫)的12864能做么?
回復(fù)

使用道具 舉報

ID:586710 發(fā)表于 2019-7-19 09:35 | 顯示全部樓層
請問有驅(qū)動的庫文件嗎
回復(fù)

使用道具 舉報

ID:294401 發(fā)表于 2019-7-20 15:32 | 顯示全部樓層
請問有驅(qū)動的庫文件嗎
回復(fù)

使用道具 舉報

ID:79544 發(fā)表于 2019-8-26 09:50 | 顯示全部樓層
感謝分享!學(xué)習(xí)啦。。。。。!
回復(fù)

使用道具 舉報

ID:373684 發(fā)表于 2019-10-10 18:41 | 顯示全部樓層
Arduino DUE板可以做嗎????有沒有詳細(xì)的資料啊/
回復(fù)

使用道具 舉報

ID:630908 發(fā)表于 2019-10-27 15:11 | 顯示全部樓層
有電路圖嗎?
回復(fù)

使用道具 舉報

ID:163044 發(fā)表于 2023-2-16 19:23 | 顯示全部樓層
請問有驅(qū)動的庫文件嗎..
回復(fù)

使用道具 舉報

ID:1083556 發(fā)表于 2023-7-23 01:27 | 顯示全部樓層
用字符(中文字庫)的12864能做么?
回復(fù)

使用道具 舉報

ID:1083556 發(fā)表于 2023-7-23 11:52 來自手機 | 顯示全部樓層
內(nèi)容很深刻,支持
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表