
正規寫法
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
}
void set_number(int p1, int p2, int p3, int p4, int i)
{
if ((i&0x1)!=0)
digitalWrite(p1, HIGH);
else
digitalWrite(p1, LOW);
if ((i&0x2)!=0)
digitalWrite(p2, HIGH);
else
digitalWrite(p2, LOW);
if ((i&0x4)!=0)
digitalWrite(p3, HIGH);
else
digitalWrite(p3, LOW);
if ((i&0x8)!=0)
digitalWrite(p4, HIGH);
else
digitalWrite(p4, LOW);
}
void loop()
{
for (int i=0; i<100;i++)
{
int one = i % 10;
int ten = i / 10;
set_number(2, 3, 4, 5, ten);
set_number(6, 7, 8, 9, one);
Serial.print(ten);
Serial.println(one);
delay(1000);
}
}
偷懶寫法
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
}
void set_number(int p1, int p2, int p3, int p4, int i)
{
if ((i&0x1)!=0)
digitalWrite(p1, HIGH);
else
digitalWrite(p1, LOW);
if ((i&0x2)!=0)
digitalWrite(p2, HIGH);
else
digitalWrite(p2, LOW);
if ((i&0x4)!=0)
digitalWrite(p3, HIGH);
else
digitalWrite(p3, LOW);
if ((i&0x8)!=0)
digitalWrite(p4, HIGH);
else
digitalWrite(p4, LOW);
}
void loop()
{
for (int i=0; i<10;i++)
{
set_number(2, 3, 4, 5, i);
for (int j=0; j<10; j++)
{
set_number(6, 7, 8, 9, j);
delay(1000);
}
}
}
Latest posts by SHXJ (see all)
- 受保護的內容: NAS 版 Mathbot 管理網站與 Linebot 啟動方法 - 2024 年 11 月 15 日
- Realtime 啥鬼的 - 2021 年 6 月 15 日
- nodejs 數學遊戲 - 2021 年 6 月 8 日