Created
March 11, 2015 12:22
-
-
Save sj82516/c1f6f53beef4e0971bee to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Lab01 | |
// LM35 + 4*7 segment Display | |
// 七段顯示器 reference: Cooper Maa | |
// define the LED digit patterns, from 0 - 9 | |
// 1 = LED on, 0 = LED off, in this order: | |
// Arduino pin: 2,3,4,5,6,7,8 (Mapping a,b,c,d,e,f,g of Seven-Segment LED) | |
byte seven_seg_digits[10][7] = { { 1,1,1,1,1,1,0 }, // = 0 | |
{ 0,1,1,0,0,0,0 }, // = 1 | |
{ 1,1,0,1,1,0,1 }, // = 2 | |
{ 1,1,1,1,0,0,1 }, // = 3 | |
{ 0,1,1,0,0,1,1 }, // = 4 | |
{ 1,0,1,1,0,1,1 }, // = 5 | |
{ 1,0,1,1,1,1,1 }, // = 6 | |
{ 1,1,1,0,0,0,0 }, // = 7 | |
{ 1,1,1,1,1,1,1 }, // = 8 | |
{ 1,1,1,0,0,1,1 } // = 9 | |
}; | |
void setup() { | |
// 7-segment | |
pinMode(2, OUTPUT); | |
pinMode(3, OUTPUT); | |
pinMode(4, OUTPUT); | |
pinMode(5, OUTPUT); | |
pinMode(6, OUTPUT); | |
pinMode(7, OUTPUT); | |
pinMode(8, OUTPUT); | |
pinMode(9, OUTPUT); | |
//十位數 7 個位數 | |
pinMode(10, OUTPUT); | |
pinMode(11, OUTPUT); | |
digitalWrite(9, 0); // 關閉小數點 | |
Serial.begin(9600); | |
} | |
// 在七段顯示器上顯示指定的一個數字 | |
void sevenSegWrite(byte digit) { | |
byte pin = 2; | |
for (byte seg = 0; seg < 7; ++seg) { | |
digitalWrite(pin, seven_seg_digits[digit][seg]); | |
++pin; | |
} | |
} | |
void loop() { | |
float reading; | |
int temp; | |
reading = analogRead(A5); | |
temp = (500 * reading) / 1024; | |
//十位數輸出 | |
digitalWrite(10,LOW); | |
sevenSegWrite(temp/10); | |
delay(5); | |
digitalWrite(10,HIGH); | |
//個位數輸出 | |
digitalWrite(11,LOW); | |
sevenSegWrite(temp%10); | |
delay(5); | |
digitalWrite(11,HIGH); | |
//電腦顯示debug用 | |
Serial.println(temp); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment