LED1602学号以2Hz闪烁3秒后进入系统,oled显示姓名3秒后进入系统,上位机发送学号后两位到单片机,3秒后单片机进入正常系统
这是一个简单的流程控制问题,可以使用Arduino编程语言来实现。
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // OLED显示屏宽度
#define SCREEN_HEIGHT 64 // OLED显示屏高度
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
const int ledPin = 13; // LED灯引脚
const int oledDelay = 3000; // OLED显示延迟时间
const int ledBlinkDelay = 500; // LED闪烁延迟时间
const int systemDelay = 3000; // 进入系统延迟时间
void setup() {
pinMode(ledPin, OUTPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // 初始化OLED显示屏
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(2);
display.setCursor(0, 0);
display.println("姓名"); // 在OLED上显示姓名
display.display();
delay(oledDelay);
display.clearDisplay();
display.display();
}
void loop() {
blinkLED(2); // LED闪烁
displaySystemNumber(); // 显示学号后两位
delay(systemDelay);
// 进入正常系统
}
void blinkLED(int times) {
for (int i = 0; i < times; i++) {
digitalWrite(ledPin, HIGH);
delay(ledBlinkDelay);
digitalWrite(ledPin, LOW);
delay(ledBlinkDelay);
}
}
void displaySystemNumber() {
display.clearDisplay();
display.setCursor(0, 0);
display.println("学号后两位"); // 在OLED上显示学号后两位
display.display();
}
请根据实际情况修改代码中的LED引脚、OLED显示屏类型和I2C地址等参数。