你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于电子墨水显示的静态桌面eCalendar

[复制链接]
木木&点点 发布时间:2019-2-15 13:35
基于电子墨水显示屏的电子桌面日历,由TM4C123 Tiva(ARM)开发板控制,在Energia IDE中编程。
1.jpg
硬件组件
德州仪器EK-TM4C123GXL TM4C Tiva LaunchPad  ×       1      
200x200,1.54英寸电子墨水显示模块  × 1      
SparkFun IOIO面包板支架   ×   1      
AA电池       ×     3      
SparkFun Kaplon磁带   ×   1      
4xAA电池座       ×     1      
USB-A到Micro-USB线       ×     1      
USB母端口   ×   1      
软件应用程序和在线服务
能源公司         
德州仪器Energia
Arduino IDE      
手动工具和制造机器
热胶枪(通用)     
手钻
想法
电子墨水显示器是特殊的,因为它们可以在没有任何电源的情况下保存数年。仅需要电源来改变显示器的内容。
2.jpg
有关Elink显示屏的信息,没有电源
它们在阳光下具有良好的可读性,是静态,周期长,不变信息(如标签,海报,日历,电子书,身份证等)的最佳选择。
我手边有一个很酷的显示器,所以我决定制作一个桌面电子日历展品。
3.jpg
展示
需要的东西
我从waveshare 买了这个。Arduino,Raspberry Pi和STM32都有示例代码。常规Arduinos(如Uno)的问题在于它只有2 kB RAM。由于显示需要缓冲全局变量,因此Uno变得不稳定。我有一个TI的TM4C123 Tiva板,可以像Energia IDE中的Arduino一样进行编程。好消息是它有32 kB RAM。稍微修改了wavehare提供的Arduino代码,就可以运行了。
4.jpg
需要的东西
& \( Q2 t! i& m7 B% t* P+ X: u
5.jpg
最终项目的力量
构建硬件
首先,在矩形塑料盒上制作切口和孔,用于电缆运行,隐藏Tiva板,将显示器放在前面。
6.jpg
将显示器与Tiva连接
接下来,使用热胶将盒子放在Sparkfun面包板支架上,使其处于倾斜位置。然后3AA电池座,电源开关和USB母端口热胶粘在便携式车载电源选项上。
成品看起来像这样:
7.1.jpg
7.2.jpg
7.3.jpg
软件
Energia只是一个Arduino克隆IDE。几乎一切都是一样的。驱动显示器的主要代码是从Arduino的wavehare示例中借用的(该项目将与ArduinoMega一起使用)。我只是对SPI总线初始化做了一些调整,并制作了自己的日历功能。其余部分令人震惊。
8.jpg
未来发展
任何开发板都存在一个问题(由于调试电路),难以降低电流消耗。如果使用裸微控制器,它很容易进入睡眠模式并节省电量。这不是这里的情况,这就是为什么我只在我需要更新显示器上的信息时才使用推动电源开关来为系统供电。理想的系统应该是全自动的,MCU应该定期从睡眠中唤醒(每月一次)并自动更新显示。
也许更多的选择,如:
用于时间的RTC时钟
室内天气信息(温度/湿度)
特别提醒信息
这些会让它变得更酷!无论如何,总有改进的余地。
其他应用理念
动态海报
哈利波特的世界就像报纸一样
智能名片
餐厅的信息表
换色车
外部资源
http://energia.nu/reference/spi/
http://energia.nu/pin-maps/guide_tm4c123launchpad/
http://www.waveshare.com/wiki/1.54inch_e-Paper_Module
http://en.wikipedia.org/wiki/Electronic_paper#Electrophoretic
Pin地图
9.jpg
电子墨水显示屏和Tiva的连接
注意
显示驱动器需要在操作之间延迟,这是一个慢速的东西,因为显示器内部有物理墨水颗粒需要时间来安定下来。
该项目与Arduino兼容(芯片具有2+ kB RAM)。
原理图
          10.jpg
代码
        #include <SPI.h>
#include "EPD_drive.h"
#include "EPD_drive_gpio.h"
#include "Display_Lib.h"
int SW1= 17;
int SW2= 31;
int month = 8;
int year = 2017;
WaveShare_EPD EPD = WaveShare_EPD();
void setup() {
pinMode(CS,OUTPUT);  //  pin 12
  pinMode(DC,OUTPUT);  //  pin 10
  pinMode(RST,OUTPUT); //  pin 09
  pinMode(BUSY,INPUT); //  pin 19
  pinMode(SW1, INPUT_PULLUP);
   pinMode(SW2, INPUT_PULLUP);
// MOSI/DIN is pin 8
// SCK/CLK is pin 11
// mySPI.beginTransaction(mySPISettings(2000000,MSBFIRST, mySPI_MODE0)); // Use this line if you are using arduino Mega
SPI.begin();
SPI.setModule(0);
// following 3 lines of code is required inTiva TM4C123, in Arduino Mega remove these
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)
month=month+1;
    if (month>12)
{month =1;
year =year+1;}
  
print_calendar(month,year);
delay(2000);
  
}
) L  [6 L9 f4 x
收藏 评论2 发布时间:2019-2-15 13:35

举报

2个回答
TLLED 回答时间:2019-2-15 15:30:13
电子墨水显示效果看着不错
mmuuss586 回答时间:2019-2-15 23:26:10
4 ^& x2 s. [: \4 F0 n
这个屏多少钱?

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版