本过程贴记录如下字任务目标的完成:
基础任务1:1 编程实现按键状态的采集
基础任务3:3 基于屏幕驱动函数实现字符的显示,例如显示Hello EEPW & DigiKey;也可显示自己喜欢的名言警句
按键有蓝色与红色两个button,分别接到开发板的D5,d6两个数字引脚,通过pinMode设置内部上拉,因为button按下后为低电平。
屏幕驱动采用adafruit的ST7789库,结合GFX库。非常方便显示字符、数字与图片。
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789
#include <SPI.h>
// Use dedicated hardware SPI pins
Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);
void setup(void) {
Serial.begin(115200);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
// turn on backlite
pinMode(TFT_BACKLITE, OUTPUT);
digitalWrite(TFT_BACKLITE, HIGH);
// turn on the TFT / I2C power supply
pinMode(TFT_I2C_POWER, OUTPUT);
digitalWrite(TFT_I2C_POWER, HIGH);
delay(10);
// initialize TFT
tft.init(135, 240); // Init ST7789 240x135
tft.setRotation(3);
tft.fillScreen(ST77XX_BLACK);
tft.setTextColor(ST77XX_WHITE);
delay(1000);
}
void loop() {
tft.setCursor(0, 0);
tft.setTextSize(3);
tft.println("HELLO EEPW");
if (digitalRead(5) == LOW) {
tft.setCursor(0, 20);
tft.setTextSize(3);
tft.print("BTN 1 pressed");
} else if (digitalRead(6) == LOW) {
tft.setCursor(0, 20);
tft.setTextSize(3);
tft.print("BTN 2 pressed");
}
delay(100);
tft.fillRect(0, 20, 240, 24, ST77XX_BLACK);
}演示视频见附件:
我要赚赏金
