第1步:工具和材料
工具:
烙鐵
3D打印機(可選)
手鋸
熱膠槍
材料:
4.3英寸電子墨水顯示模塊
microSD卡
紐扣電池座/3節AAA電池座
BC548晶體管
瞬時按鈕
1k電阻
100k電阻
Pref board
相框9x13cm(或類似尺寸)
第2步:接線
首先,測試你的組件是否是一個好主意工作。幸運的是,這很容易做到。只需將屏幕連接到Arduino,就像我的原理圖一樣,除了你不必使用的晶體管和按鈕。只需將電源引腳直接連接到5V。您可以使用epd.h庫中的示例草圖。
原理圖非常簡單,因為只有幾個組件。但是,電阻器,晶體管和按鈕不能只是漂浮在半空中。最簡單的解決方案是將它們焊接在一個小型的預制板上。準備好這塊電路板后,它們都可以布局并永久連線。
當然,為了擺放零件,你需要準備相框。我選擇了9x13cm的相框,可以舒適地容納顯示器和其他電子設備。同樣大小的相框將完成這項工作。這只是為屏幕制作切口的問題。如果您有相同尺寸的框架,您可以像我一樣3D打印背面,因為我無法在一塊硬化紙板上切一個孔。..
您可能會注意到我正在使用Arduino nano我建議使用Arduino mini pro。您可以使用其中任何一個,但需要卸下電源調節器和LED。如果你正在使用nano,你還必須刪除USB到串行芯片和任何其他不必要的組件。這是必要的,否則你的電池將在幾天內耗盡。 Arduino mini pro沒有那么多不必要的組件。
一旦將所有部件連接在一起,請將電線向下拉以保持低調。我還在玻璃框架的背面放置了紙張切口,以隱藏除屏幕之外的所有東西。
第3步:軟件
該軟件是用Arduino 1.8.5編寫的。它需要兩個庫,epd和Arduino低功耗。這兩個都應該在庫管理器中。安裝這兩個庫后,您應該能夠編譯并將代碼上傳到Arduino。如果你想配置它,實際上只有一個變量refreshRate。這是加載圖片之間的時間。默認情況下,它設置為10800,即24小時。這意味著一個單位是8秒。因此將其設置為1,圖片將每8秒更新一次。將其設置為2將為16秒,將其設置為10800為24h。
#include
#include
const int wake_up = 6;
const int reset = 5;
const int lcd_on = 4;
const int button = 3;
int refreshRate = 10800; //time between loading images. number you enter * 8 = seconds between refresh (10800 = 24h)
int counter = 1;
int refreshCounter = 0;
int ByteReceived;
bool errorFlag = false;
bool picSend = false;
bool picLoaded = false;
void(* resetFunc) (void) = 0;
void setup(void)
{
pinMode(lcd_on,OUTPUT);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
//LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
}
void loop(void){
DrawPic(counter);
counter++;
}
void wakeUp(){
refreshCounter++;
if(refreshCounter 《 refreshRate) enterSleep();
}
void DrawPic(int index){
pinMode(lcd_on,OUTPUT);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
//delay(2000);
digitalWrite(lcd_on,HIGH);
delay(300);
epd_init(wake_up, reset);
epd_wakeup(wake_up);
epd_set_memory(MEM_TF);
epd_clear();
digitalWrite(13,HIGH);
//int index = 7;
String indexStr = String(counter);
String str = ‘i’ + indexStr + “.BMP ”;
char character[str.length()] ;
str.toCharArray(character, str.length());
epd_disp_bitmap(character, 0, 0);
epd_udpate();
epd_enter_stopmode();
while(1){
ByteReceived = Serial.read();
if(ByteReceived == 13){
picSend= true;
}
if(ByteReceived == 69){
errorFlag= true;
//if(!picSend && counter == 1) noSDcard();
//if(picSend && counter == 1) noPic();
//resetFunc();
counter = 0;
//Serial.flush();
break;
}
if(ByteReceived == 75 && picSend && picLoaded){
break;
}
if(ByteReceived == 75 && picSend){
picLoaded = true;
}
}
digitalWrite(13,LOW);
digitalWrite(lcd_on,LOW);
picLoaded = false;
errorFlag= false;
picSend= false;
refreshCounter = 0;
enterSleep();
}
void noSDcard(){
epd_wakeup(wake_up);
//delay(5000);
epd_clear();
epd_set_ch_font(GBK32);
epd_set_en_font(ASCII32);
epd_disp_string(“Can‘t find SD card”, 0, 300);
epd_udpate();
delay(10000);
}
void noPic(){
epd_wakeup(wake_up);
//delay(5000);
epd_clear();
epd_set_ch_font(GBK32);
epd_set_en_font(ASCII32);
epd_disp_string(“Can’t find this picture”, 0, 300);
epd_udpate();
delay(10000);
}
void enterSleep(){
attachInterrupt(1, wakeUp, RISING);
LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF);
wakeUp();
detachInterrupt(1);
}
步驟4:準備照片
屏幕分辨率為800x600,有4種顏色,黑色,白色和兩種灰度。屏幕還有一個我們將使用的讀卡器。然而,僅僅上傳卡上的圖片是行不通的。顯示器僅支持BMP文件,文件大小越小,加載速度越快,這將節省大量電池。
幸運的是,所有這些問題只需一個程序即可解決。 Adobe Photoshop。我知道不是每個人都有這個程序,但你可以隨時使用GIMP或繪畫。但我會告訴你如何在Photoshop中完成所有這些工作。
我建議觀看這個視頻,因為它更具描述性。基本上,首先將圖像拖動到PS。轉到圖像 - 》圖像大小。確保單位為像素并將高度設置為600.寬度將自動更改。如果寬度不是800,則需要移除圖像的邊以獲得正確的分辨率。轉到圖像 - 》畫布大小。再次將單位設置為像素并將寬度設置為800.按“確定”,然后按“繼續”。您的圖像現在應該是正確的尺寸。
電子墨水屏幕上的圖像通常看起來有點暗,所以最好將亮度調高一點。單擊右下角的月亮圖標(帶有黑色和白色半部的圓圈),然后選擇“亮度/對比度”。我通常將亮度設置為30但你當然可以玩它。接下來,我們將其更改為4種顏色,以便我們可以預覽它的外觀。轉到圖像 - 》模式 - 》索引顏色。..。如果它要求您展平圖層,請單擊“確定”。在調色板中選擇Local(自適應)。在顏色放4并單擊確定。接下來轉到圖像 - 》模式 - 》顏色表。你應該看到你的4種顏色。將左側的一個設置為黑色,將右側的一個設置為白色。兩者之間應該是灰色陰影。選擇確定。接下來轉到文件 - 》另存為。選擇BMP作為類型。
文件的名稱應為iX.BMP,其中X是圖片的編號。如果它是第一個你將它命名為i1并點擊保存.BMP將自動添加。第二十六張圖片將是i26.BMP等。一旦你點擊保存,你將獲得BMP選項。將深度更改為4位并點擊確定。
確保您的microSD卡格式化為FAT32格式。該卡應該是空的,你可以只復制你的照片。如上所述,它們應該從i1到i150命名,或者你的最后一張圖像。例如,如果你錯過了一個號碼,你將擁有i21.BMP然后i23.BMP i23及更高版本永遠不會被加載,因為它將在21之后回到1.
步驟5:完成
加載圖像后,您只需插入存儲卡即可并將電池放入。第一張圖像應在幾秒鐘后加載,并且每24小時更新一次。盡管只有四種顏色,但圖像看起來非常壯觀。對于如此小的屏幕,分辨率非常高,自適應色彩擴散使其看起來至少有50種灰度。
-
電子墨水屏
+關注
關注
4文章
58瀏覽量
19848 -
數碼相框
+關注
關注
1文章
37瀏覽量
27262
發布評論請先 登錄
相關推薦
評論