2018年8月4日 星期六

DIY - ESP8266:ESP-12F Futaba M11BT222A VFD 顯示屏程式(一百一十)

DIY - ESP8266:ESP-12F Futaba M11BT222A VFD 顯示屏程式(一百一十):

ESP-12F Futaba M11BT222A VFD 顯示屏(VFD / Vacuum Fluorescent Display)程式是主要驅動普誠(Princeton Technology Corp)的 PT6311 晶片和 VFD顯示部分,定義好顯示屏 I/O DIN(Data In)- GPIO13(D7),SCL(Clock)- GPIO14(D5),STB(Chip Select)- GPIO0(D3),首先是初始化驅動晶片,然後連接上網絡,獵取網絡時間 NTP(Network Time Protocol),最後用 VFD 顯示時間。

ESP-12F Futaba M11BT222A VFD 網絡時間顯示
ESP-12F Futaba M11BT222A VFD 顯示屏 IO 設定:
/*
*****************************************************************************
* Use discrete I/O for interface (No PMP module used)
* Function                   MCU Pins                 LCD pins (TY280T-24032-BO Rev 1B)
* ==========           ========                 ========
* CHIP SELECT         GPIO0                         /CS
* CLOCK                    GPIO14 (D5)               STB
* DIN                           GPIO12 (D6)              DIN
* DOUT                      GPIO13 (D7)               DOUT
******************************************************************************/
// Futaba M11BT222A VFD STB GPIO0 Output (D3)
// Futaba M11BT222A VFD CS=STB=Chip Select Pin
//#define d16312_CS_ACTIVE                       GPIO_OUTPUT_SET(0, 0)
//#define d16312_CS_DEACTIVE                  GPIO_OUTPUT_SET(0, 1)
#define m11bt222a_CS_DEACTIVE              GPIO_OUTPUT_SET(0, 0)
#define m11bt222a_CS_ACTIVE                   GPIO_OUTPUT_SET(0, 1)
#define m11bt222a_CS_INIT              PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0); m11bt222a_CS_DEACTIVE

// Futaba M11BT222A CLK (Output) GPIO14 Output (D5)
#define m11bt222a_CLK_MUX                     PERIPHS_IO_MUX_MTMS_U
#define m11bt222a_CLK_FUNC                    FUNC_GPIO14
#define m11bt222a_CLK_PIN                        14
#define m11bt222a_CLK_BIT                        BIT14

// Futaba M11BT222A Dout (Input) GPIO12 Input (D6)
#define m11bt222a_DOUT_MUX                  PERIPHS_IO_MUX_MTDI_U
#define m11bt222a_DOUT_FUNC                 FUNC_GPIO12
#define m11bt222a_DOUT_PIN                     12
#define m11bt222a_DOUT_BIT                     BIT12

// Futaba M11BT222A Din (Output) GPIO13 Output (D7)
#define m11bt222a_DIN_MUX                      PERIPHS_IO_MUX_MTCK_U
#define m11bt222a_DIN_FUNC                     FUNC_GPIO13
#define m11bt222a_DIN_PIN                         13
#define m11bt222a_DIN_BIT                         BIT13

ESP-12F Futaba M11BT222A VFD 顯示屏初始化程式:
void ICACHE_FLASH_ATTR vfd_m11bt222a_init(void)
{
    PIN_FUNC_SELECT(m11bt222a_DOUT_MUX, m11bt222a_DOUT_FUNC); // GPIO12 Input (D6)
    PIN_FUNC_SELECT(m11bt222a_DIN_MUX, m11bt222a_DIN_FUNC);  // GPIO13 Output (D7)
    PIN_FUNC_SELECT(m11bt222a_CLK_MUX, m11bt222a_CLK_FUNC);  // GPIO14 Output (D5)

    m11bt222a_CS_DEACTIVE;
    _CLK0;
    _DIN0;
}

void ICACHE_FLASH_ATTR vfd_m11bt222a_reset(void)
{
    vfd_m11bt222a_cmd(0x0A); // 11Grids/Digits x 17 Segments
    vfd_m11bt222a_cmd(0x40); // Normal Display Increments Address After Data has been written
    vfd_m11bt222a_cmd(0xC0); // Address Start from 00H
    vfd_m11bt222a_cmd(0x8F); // Display Control Command - Display On, Max DIM
}

ESP8266 程式:DIY - ESP12F - 042 - VFD - 04 PT6311 M11B Date Time - 20180614

ESP-12F Futaba M11BT222A VFD 網絡時間顯示
ESP-12F Futaba M11BT222A VFD 網絡時間顯示
ESP-12F Futaba M11BT222A VFD 網絡時間顯示
相關網址:
※ DIY - ESP8266:VFD 真空螢光顯示屏(一百零四)
※ DIY - ESP8266:ESP-12F DV305 AD16312 VFD 顯示板試驗電路(一百零五)
※ DIY - ESP8266:ESP-12F DV305 AD16312 VFD 顯示板程式(一百零六)
※ DIY - ESP8266:Futaba M11BT222A VFD 顯示屏介紹(一百零七)
※ DIY - ESP8266:ESP-12F Futaba M11BT222A VFD 顯示屏拆解(一百零八)
※ DIY - ESP8266:ESP-12F Futaba M11BT222A VFD 顯示屏電路(一百零九)

2018年 8月 4日 天氣報告
氣溫:28.5@ 20:40
相對濕度:百分之 74%
天氣:天色大致良好

1 則留言: