张小哥

Monthly throwable calendar

 
Overview

10-07 update

The new V2 version is already being printed. It is still in the draft stage and will be available soon. The color of the solder mask on the front panel and the color of the backlight have not yet been determined, so it will take some time, especially the solder mask. It is not yet available. I don’t have a color that I’m very satisfied with, and I’m still trying. Regarding the color of the backlight, I took a few pictures with a landline phone today, so I’ll just make do with it. There is still a gap between the actual look and feel 20211008_194833.jpg because I only have four colors of LEDs on hand, so Just combine these ten colors, and the effect after adding the cover is like this... 20211008_195001.jpg20211008_195013.jpg20211008_195047.jpg20211008_195122.jpg


10-05 update

Since the 100 years of a certain distribution next door has expired, the area of ​​this version exceeds 10*10, and the free monthly throw function cannot be implemented, so maintenance has been stopped.


09-19 Update

The effect of the newly made hollow panel has come out, but it is still not ideal. The digital tubes are too close and the LEDs are too far away. If the brightness is too high, the digital tubes will be very dazzling. If the brightness is low, the digital display will not be clear. We are considering countermeasures.20210919_224652.jpg


Project Description

A small monthly calendar that displays the current date and time, driven by ESP-12F, and uses Tianwei’s TM1640 to display the time. It’s really easy to use.


Project function introduction

Because I have been overusing my brain recently, my memory is not particularly good. I often forget things easily, as well as which month, year, day, and day of the week it is today, so I made something like this and placed it on the table to remind myself of the time. , and can also prevent Alzheimer’s disease in advance20210913_171949.jpg

The board is equipped with an infrared receiver and an infrared transmitter, but they are just installed. The relevant wheels have not been built yet, mainly because the demand is unclear at the moment, so I will build them when I think of it.20210913_171330.jpg

In addition, although there is also a DS1307 on the board that can record time, I cannot drive it due to my incompetence (I apologize to you all, Orz), so it is currently useless. I will continue to study it after finishing this period.

I found the problem. DS1307 requires a voltage of 5V, which has been changed. 20210913_171445.jpg There is also a very metaphysical question. Regarding the power supply, I installed two DC heads and a 6P USB-C head, but it is very strange. Yes, if it is connected to the C port, the program can be burned normally. However, if the power supply is powered by DC, the program cannot be downloaded. It is very strange. The two places are obviously next to each other.Screenshot 2021-09-13 174626.png

There are two types of boards, one is a core board with original components, and the other is a structural component. There are some things to pay attention to when assembling:20210913_171435.jpg20210913_171301.jpg

The document layer in the picture is the location of the opening.Screenshot 2021-09-13 175404.png

I didn't pay attention at the time, but there would be conflicts in some places, so the corresponding components needed to be moved. R1 and R5 needed to be moved slightly inward. Do not solder the two pads of the C port, otherwise they would affect the assembly.20210913_171502.jpg













About TM1640 driver

TM1640 is not a standard IIC driver, so it cannot be used. It needs to simulate the communication process through hardware. It actually consists of three parts: the start signal of communication, the end signal, and the process of writing data.

//开始信号
void i2c_start() {
  digitalWrite(scl, 1);
  delayMicroseconds(2);
  digitalWrite(sda, 1);
  delayMicroseconds(2);
  digitalWrite(sda, 0);
  delayMicroseconds(2);
  digitalWrite(scl, 0);
  delayMicroseconds(2);
}
//结束信号
void i2c_stop() {
  digitalWrite(scl, 0);
  delayMicroseconds(2);
  digitalWrite(sda, 0);
  delayMicroseconds(2);
  digitalWrite(scl, 1);
  delayMicroseconds(2);
  digitalWrite(sda, 1);
  delayMicroseconds(2);
}
//等待应答信号,这里用不到
void i2c_ack() {
  int v = digitalRead(sda);
  while (v == 1) {
    delay(10);
    //Serial.println("wite the call back");
    v = digitalRead(sda);
  }
  //Serial.println("Got the call back");
  pinMode(sda, OUTPUT);
  digitalWrite(scl, 0);
  delayMicroseconds(2);
  digitalWrite(sda, 1);
  delayMicroseconds(2);
  digitalWrite(scl, 1);
  delayMicroseconds(2);
  digitalWrite(scl, 0);
  delayMicroseconds(2);
}
//写数据
void i2c_Write(uint8_t data) {
  for (int i = 0; i <= 7; i++) {
    if (data % 2) {
      digitalWrite(sda, 1);
      delayMicroseconds(2);
      digitalWrite(scl, 0);
      delayMicroseconds(2);
      digitalWrite(scl, 1);
      delayMicroseconds(2);
      digitalWrite(scl, 0);
      delayMicroseconds(2);
      digitalWrite(sda, 0);
    }
    else
    {
      delayMicroseconds(2);
      digitalWrite(sda, 0);
      delayMicroseconds(2);
      digitalWrite(scl, 0);
      delayMicroseconds(2);
      digitalWrite(scl, 1);
      delayMicroseconds(2);
      digitalWrite(scl, 0);
      delayMicroseconds(2);
      digitalWrite(sda, 0);
    }
    data /= 2;
  }
}















参考设计图片
×
 
 
Search Datasheet?

Supported by EEWorld Datasheet

Forum More
Update:2025-06-23 13:03:22

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
community

Robot
development
community

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号