Arduino日記-七段式LED顯示可變電阻的變化

posted by 藉口 on January 20th, 2008
 

昨天買的七段式LED型號是OHS-511EN-52,上網完全查不到參考資料。

DSC02110.JPG

昨天雖然在James那邊有用過另一種型號的七段式LED,也有查到腳位資料,但那顆是共陽,我買的是共陰,以前也沒玩過這些東西,大腦中對這些玩意兒的資訊趨近於零。既然上網查不到,那只好一腳一腳試了。

用Arduino寫程式一腳一腳試,為了去除各種變因,一次只測試一腳,pin A測試完,再改寫成測試pin B,如此一腳一腳慢慢測。下面把我測試的結果拍下來,紀錄一下。

DSC02114.JPG
這張圖顯示各個LED所代表的腳位以及代號。

DSC02115.JPG
第三及第八腳是接地。

既然知道了腳位,也知道如何讀取可變電阻的數值,那就讓七段式LED顯示可變電阻的變化吧。可變電阻在Arduino裡被讀出有1024階的數值(0~1023),不過一個七段式LED能表現的有限,以我現有的電子知識來說,不可能連接四個來顯示這些數值,所以只能以區間來表示,把1024分成10階(本來考慮16階,顯示0~9,a~f,太複雜,算了),反正現在只是研究,不需要做到那樣。

以下是程式碼:


/*
Read analog value with OHS-511EN-52
*/

// 定義LED腳位
int ledPinA = 7;
int ledPinB = 6;
int ledPinC = 4;
int ledPinD = 3;
int ledPinE = 2;
int ledPinF = 9;
int ledPinG = 10;
int ledPinGND1 = 14;
int ledPinGND2 = 14;
int ledPinDP = 5;

// 定義可變電阻值腳位
int analogPin = 0;
// 可變電阻值
int analogVal = 0;
// LED顯示數字
int numLED = 0;

void setup(){
Serial.begin(9600); // 建立序列埠並設定傳輸速度為9600bits/sec
}

void loop(){
analogVal = analogRead(analogPin); //讀入analog值

int foo = (analogVal+1) * 10 / 1024;
numLED = foo*9/10;

Serial.print("Analog value:");
Serial.print(analogVal);
Serial.print(" / LED value:");
Serial.print(numLED);
Serial.print("\n");
showChar(numLED);

}

void clearChar(){ // clear
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
}

void showChar(int intChar){
switch(intChar){
case 0:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
break;
case 1:
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
break;
case 2:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinDP, LOW);
break;
case 3:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinDP, LOW);
break;
case 4:
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinDP, LOW);
break;
case 5:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinDP, LOW);
break;
case 6:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinDP, LOW);
break;
case 7:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
digitalWrite(ledPinDP, LOW);
break;
case 8:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinDP, LOW);
break;
case 9:
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, HIGH);
digitalWrite(ledPinDP, LOW);
break;
}

}

測試結果影片:


Technorati : , ,

 
 

 

3 Responses

001: 小咪,

January 21st, 2008 at 6:14 pm

啪~!啪~!啪~用力拍手中,因為看你的文章,我才知道Arduino是什麼意思呢~謝謝你哦! (~^O^~)

002: Jaming,

January 21st, 2008 at 7:57 pm

nice beginning…

003: 藉口,

January 23rd, 2008 at 12:22 pm

James,
你也加油吧…^^

小咪,
不客氣。

 





  • бизнес, бизнес идеи, идеи для бизнеса, идеи бизнеса
  • бизнес идеи, идеи для бизнеса, идеи бизнеса, бизнес
  • бизнес план, бизнес планы
  • бизнес план, бизнес планирование
  • создание бизнеса
  • создание бизнеса
  • генерация бизнес идей, список бизнес идей, как генерировать
  • генерация бизнес идей, список бизнес идей, как генерировать
  • идеи малого бизнеса, идеи для малого бизнеса
  • идеи малого бизнеса, идеи для малого бизнеса
  • идеи для домашнего бизнеса, идея домашнего бизнеса
  • идеи для домашнего бизнеса, идея домашнего бизнеса
  • бизнес
  • философия успеха
  • работа дома, надомная работа, работа на дому
  • работа дома, надомная работа, работа на дому
  • как устроиться на работу
  • интернет-работа дома, интернет работа, работа в интернете дома
  • лучшая работа дома, надомная работа, работа на дому
  • лучшая интернет-работа дома, интернет работа, работа в интернете дома
  • работа в Днепропетровске, работа Днепропетровск
  • работа Днепропетровск, работа в Днепропетровске
  • работа в Одессе, работа Одесса
  • работа в Одессе, работа Одесса
  • работа в Киеве, работа Киев
  • работа в Киеве, работа Киев
  • работа в Харькове, работа Харьков
  • работа Харьков, работа в Харькове
  • мягкая мебель в Днепропетровске, мягкая мебель Днепропетровск
  • матрацы Днепропетровск, матрасы Днепропетровск
  • мягкая мебель Днепропетровск, мягкая мебель в Днепропетровске
  • диваны Днепропетровск, диваны в Днепропетровске
  • фабрика Creale
  • мягкие уголки Днепропетровск, мягкие уголки в Днепропетровске
  • фабрика Romira
  • шкафы-купе Днепропетровск, шкафы-купе в Днепропетровске
  • кухни Днепропетровск, кухни в Днепропетровске
  • мебель Днепропетровск, мебель в Днепропетровске
  • детские Днепропетровск, детские в Днепропетровске
  • кровати Днепропетровск, кровати в Днепропетровске
  • спальни Днепропетровск, спальни в Днепропетровске
  • мебельные магазины Днепропетровск
  • фабрика Скай
  • кухонные уголки в Днепропетровске, кухонные уголки Днепропетровск
  • прихожие в Днепропетровске, прихожие Днепропетровск
  • компьютерные столы Днепропетровск, компьютерные столы в Днепропетровске
  • VIP подарки, VIP сувениры, сувениры и подарки
  • VIP подарки, VIP сувениры, сувениры и подарки
  • подарки для мужчин, подарки мужчине
  • подарки мужчине, подарки для мужчин
  • бизнес подарки, бизнес сувениры
  • бизнес сувениры, бизнес подарки
  • оригинальные подарки, оригинальные сувениры
  • оригинальные сувениры, оригинальные подарки
  • необычные подарки, необычные сувениры
  • необычные сувениры, необычные подарки
  • интернет-магазин сувениров, интернет-магазин подарков
  • интернет магазин подарков, интернет магазин сувениров
  • 
     
  • , , , , , , - , , , ,