本文要介绍的是一个基于 TM4C123 Tiva (ARM) 开发板控制并在 Energia IDE 中编程的 E-ink 显示器的电子桌面文档。
理念
E-Ink 显示器很特别,因为它们可以在没有任何电源的情况下显示长时间保存数据。只有电源来改变的内容。
在阳光下非常具有可取性,是三年不变的信息(如标签、不变、日历、电子书、地点等)的最佳选择。
正巧我手头只有一个很酷的显示器,所以我决定制作一个桌面电子日历展示品。
它的组件
正常运行)显示它的问题,就像 Uno 的问题中的一个像 RAM 一样。由于需要对 2 个组件进行缓冲,因此 Uno 不应该。我有 TI 的 TM4C123 Tiva,它可以是 Energia IDE的Arduino一样进行编程。好消息是它有32 kB RAM。通过对waveshare提供的Arduino代码稍作修改,事情就开始运行了。
制作首个在塑料盒上制作的预告片,上面制作隐藏和播放孔,用于,Tiva 将提前定位。
使用热胶将支架放置在 3AA 支架上。将电池组的电池座、USB 母线座热熔开关用于切割板载电源和电池座。
成品图:
Energia
都是一样的 IDE。几乎都是 Arduino 中借用的 IDE。 ,并为自己制作了日历功能。
主程序:
#include
#include "EPD_drive.h"
#include "EPD_drive_gpio.h " #include "Display_Lib.h
"
int SW1= 17;
诠释 SW2=31;
整数月 = 8;
整数年 = 2017;
WaveShare_EPD EPD = WaveShare_EPD();
无效设置(){
pinMode(CS,输出);// 引脚 12
pinMode(DC,OUTPUT); // 引脚 10
pinMode(RST,OUTPUT); // 引脚 09
pinMode(BUSY,INPUT); // 引脚 19
pinMode(SW1, INPUT_PULLUP);
pinMode(SW2,INPUT_PULLUP);
// MOSI/DIN 是引脚 8
// SCK/CLK 是引脚 11
// mySPI.beginTransaction(mySPISettings(2000000, MSBFIRST, mySPI_MODE0)); // 如果您使用的是 arduino Mega
SPI.begin(),请使用此行;
SPI.setModule(0);
// 在 Tiva TM4C123 中需要以下 3 行代码,在 Arduino Mega 中删除这些
SPI.setClockDivider(SPI_CLOCK_DIV4);
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);
EPD.Dis_Clear_full();
}
void loop() {
if (digitalRead(SW1)==0|digitalRead(SW2)==0)
月=月+1;
如果 (月>12)
{ 月 =1;
年=年+1;}
print_calendar(月,年);
延迟(2000);
}
原型图
未来可能的拓展
任何开发板都(由于调试威廉希尔官方网站 ),很容易降低使用时间制作过程中,只要我更新系统需要给上的信息时才自动更新。理想的应该是一个系统的开关,MCU 定期(月度)从睡眠中启动电源并显示。
也有更多的选择,如:
时间的 RTC 时钟
天气信息(温度/室内)
特别提醒消息
作为其他应用的思路
动态海报
哈利波特的世界报纸
智能软件
餐厅信息表
变色车
全部0条评论
快来发表一下你的评论吧 !