这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 过程一、按钮信号的获取

共7条 1/1 1 跳转至

过程一、按钮信号的获取

菜鸟
2024-11-02 02:37:00     打赏

实现逻辑为,按下按钮屏幕提示按钮被按下。

〇、前置步骤,安装Arduino IDE,直接下载绿色版。下载ST7789屏幕驱动库。

一、驱动屏幕亮起

二、链接按钮,监控按钮状态。

三、直接看代码

#include <Adafruit_GFX.h>
#include <Adafruit_ST7789.h>

#define TFT_CS        7       // CS 引脚
#define TFT_DC        39      // DC 引脚
#define TFT_RST       40      // RESET 引脚
#define TFT_BACKLIGHT 45      // 背光控制引脚

Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);

// 按钮引脚
const int buttonA_PIN = 12; // 按钮 A 引脚
const int buttonB_PIN = 13; // 按钮 B 引脚

void setup() {
  pinMode(TFT_BACKLIGHT, OUTPUT);
  digitalWrite(TFT_BACKLIGHT, HIGH); // 打开背光

  tft.init(135, 240);     // 根据屏幕分辨率初始化
  tft.setRotation(0);     // 根据需要调整屏幕方向
  tft.fillScreen(ST77XX_BLACK);  // 设置背景色为黑色

  // 按钮引脚设置为输入
  pinMode(buttonA_PIN, INPUT_PULLUP); // 使用上拉电阻
  pinMode(buttonB_PIN, INPUT_PULLUP); // 使用上拉电阻
}

void loop() {
  // 读取按钮状态
  int buttonA_state = digitalRead(buttonA_PIN);
  int buttonB_state = digitalRead(buttonB_PIN);

  // 清空屏幕
  tft.fillScreen(ST77XX_BLACK);

  // 显示按钮状态
  if (buttonA_state == LOW && buttonB_state == LOW) { // 同时按下
    tft.setTextColor(ST77XX_WHITE);
    tft.setCursor(10, 10);
    tft.setTextSize(2);
    tft.print("Button 1 & 2 Pressed");
  } else if (buttonA_state == LOW) { // 按下按钮 A
    tft.setTextColor(ST77XX_WHITE);
    tft.setCursor(10, 10);
    tft.setTextSize(2);
    tft.print("Button 1 Pressed");
  } else if (buttonB_state == LOW) { // 按下按钮 B
    tft.setTextColor(ST77XX_WHITE);
    tft.setCursor(10, 10);
    tft.setTextSize(2);
    tft.print("Button 2 Pressed");
  } else { // 没有按下
    tft.setTextColor(ST77XX_WHITE);
    tft.setCursor(10, 10);
    tft.setTextSize(2);
    tft.print("No Button Pressed");
  }

  delay(50); // 短暂延迟以避免过于频繁的更新
}

四、效果照片

1730485755952.png

image.png

五、注意事项

这个板子要进入烧录模式才可以下载,在我的电脑上会认出COM7、COM8,只有识别为COM8的时候才可以烧录。

貌似官方是希望用户买了这个板子使用CircuitPython,板子上的两个按钮随便按几下就进入Python的烧录程序去了,这一点非常不好,本身对S3了解的不多,没想到这么不好用。非常不友好。






关键词: 电子     测光     按钮    

助工
2024-11-02 10:40:57     打赏
2楼

真快,我板子还没见到影子


工程师
2024-11-02 11:43:52     打赏
3楼

xuexi le 



院士
2024-11-02 17:23:38     打赏
4楼

好快完成了,谢谢分享。


专家
2024-11-03 00:38:36     打赏
5楼

学习学习


菜鸟
2024-11-03 01:10:09     打赏
6楼

这模块,我才刚报名,你都发货了??



专家
2024-11-08 11:49:07     打赏
7楼

这动作真快!我的还没有拿到。加油!早日完工!


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]