我從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