我从YouTube上挑选了一个螺旋桨时钟(POV Clock)代码,并修改为仅显示2条消息:“Hello”和“World”。如何在POV显示中显示不同的消息?
我想让POV显示器在2秒内显示“Hello”,然后在其他2秒内显示“World”,但我遇到问题。
此刻代码只显示“你好”的速度非常快,2秒后它再次显示。
我知道我需要让指示灯闪烁2秒钟,显示单词,擦除并显示另一个单词,但我不知道该怎么做。
如果有人可以帮助我,我将不胜感激。
我使用的是临饰品5V 16MHz的
const int LEDpins[] = {
4,9,10,11,12,8,6,5
};
int rows= 8;
const int charHeight = 8;
const int charWidth = 5;
const unsigned char font[95][5] = {};
const int sensorPIN = 3;
int sensVal;
int i;
int j;
int conteo = 0;
char textString[] = "Hello";
char textString01[] = "World";
String tmp_str;
void setup() {
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
pinMode(3, INPUT);
for (i = 0; i < rows; i++)
pinMode(LEDpins[i], OUTPUT);
}
void loop() {
Print();
delay(2000);
Print01();
delay(2000);
}
void Print() {
tmp_str=tmp_str+" ";
while(digitalRead(sensorPIN) != 0) {
digitalWrite(13, LOW);
}
digitalWrite(13, HIGH);
for (int k=sizeof(textString)-1; k>-1; k--){
printLetterboven(textString[k]);
}
}
void Print01() {
tmp_str=tmp_str+" ";
while(digitalRead(sensorPIN) != 0) {
digitalWrite(13,LOW);
}
digitalWrite(13, HIGH);
for (int k=sizeof(textString01)-1; k>-1; k--){
printLetterboven(textString01[k]);
}
}
void printLetterboven(char ch) {
if (ch < 32 || ch > 126){
ch = 32;
}
ch -= 32;
for (int i=charWidth-1; i>-1; i--) {
byte b = font[ch][i];
for (int j=0; j<charHeight; j++) {
digitalWrite(LEDpins[j], bitRead(b,j));
}
delay(1);
}
for (i = 0; i < rows; i++)
digitalWrite(LEDpins[i] , LOW);
delay(1);
}
请花一点时间,当你得到一个通过单击灰色选中图标“接受”,我的回答机会,让别人可以从你的问题中受益,并从我的答复中,谢谢! :) – TomServo