今天我要用Arduino來做一個很好玩的作品。
最近在學LED的控制,剛好手邊又有七段顯示器跟可變電阻,所以我就自己組一個可以利用可變電阻來調整七段顯示器數字變化的速度。
先來介紹可變電阻
圖片來源:
七段顯示器接腳圖
這是我接的圖,老實說,很亂,很難接。
底下這是程式碼,接上電腦可以看類比波圖
int i;
int j;
int k = 0;
const byte num[16] = {B00111111, B00000110, B01011011, B01001111, B01100110, B01101101, B01111101, B00000111, B01111111, B01101111,B01110111,B01111100,B00111001,B01011110,B01111001,B01110001};
const int seg[] = {2, 3, 4, 5, 6, 7, 8, 9}; //設置七段顯示器的燈泡腳位
void setup() {
for (i = 0; i < 8; i++)
pinMode(seg[i], OUTPUT);
Serial.begin(9600); //這段是為了方便我們在電腦上看波形
}
void loop() {
for (i = 0; i < 16; i++)
{
k = analogRead(A0); //類比輸入,直到把數值輸入至k變數,共1024段
for (j = 0; j < 8; j++)
{
if (bitRead(num[i], j))
digitalWrite(seg[j], HIGH);
else
digitalWrite(seg[j], LOW);
}
delay(k); //延遲k秒
Serial.println(k,DEC); //輸出k值結果
}
}
接下來我們來看看實作結果:
沒有留言:
張貼留言