如何利用TM4C123实现桌面电子日历的设计

描述

本文要介绍的是一个基于 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 时钟

天气信息(温度/室内)

特别提醒消息

作为其他应用的思路

动态海报

哈利波特的世界报纸

智能软件

餐厅信息表

变色车

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分