ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
์ฝ”๋”ฉ ์ง ๐Ÿ’ช
ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
  • ์นดํ…Œ๊ณ ๋ฆฌ (135)
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ• (12)
      • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (5)
      • DB (0)
      • Node.js (4)
      • ํ˜•์ƒ ๊ด€๋ฆฌ (2)
      • Spring (1)
    • ์›น (11)
      • React (5)
      • ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ__์›น (6)
    • ๋ชจ๋ฐ”์ผ (2)
      • ์•ˆ๋“œ๋กœ์ด๋“œ (2)
    • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด (55)
      • C (13)
      • Python (15)
      • SQL (5)
      • Java (22)
    • ์‚ฌ๋ฌผ์ธํ„ฐ๋„ท (11)
      • ์•„๋‘์ด๋…ธ (11)
    • ์ผ์ƒ (31)
      • ๋ง›์ง‘ (13)
      • ๋žญํ‚น๋‹ญ์ปด (4)
      • ํ›„๊ธฐ (11)
      • ์š”๋ฆฌ (3)
      • ์žก๋‹ด (0)
    • ๊ต์–‘ (4)
      • ์‹ฌ๋ฆฌํ•™ (3)
      • ํ…Œ๋‹ˆ์Šค (1)
    • ์ž๊ฒฉ์ฆ (9)
      • ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (9)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ’ป github

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ

์ฝ”๋”ฉ ์ง ๐Ÿ’ช

[์•„๋‘์ด๋…ธ] 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜
์‚ฌ๋ฌผ์ธํ„ฐ๋„ท/์•„๋‘์ด๋…ธ

[์•„๋‘์ด๋…ธ] 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜

2022. 5. 2. 18:59

[ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜(7-segment display) ]

 - 7๊ฐœ์˜ ์„ ๋ถ„์œผ๋กœ ์ˆซ์ž๋‚˜ ๊ธ€์ž๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด LED๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“  ์ถœ๋ ฅ ์žฅ์น˜

 - 7๊ฐœ ์„ ๋ถ„์— ์†Œ์ˆ˜์  ํ‘œ์‹œ๋ฅผ ์œ„ํ•œ LED(dp)๊ฐ€ ์ถ”๊ฐ€๋œ 8๊ฐœ์˜ ์„ธ๊ทธ๋จผํŠธ๋“ค์„ 1๋ฐ”์ดํŠธ์˜ ๋ฐ์ดํ„ฐ๋กœ ์ œ์–ด ๊ฐ€๋Šฅ

 - FND(Flexible Numeric Display)๋ผ๊ณ ๋„ ๋ถ€๋ฆ„

 - ํ‘œ์‹œ ์žฅ์น˜์˜ 10๊ฐœ ํ•€ ์ค‘ 2๊ฐœ๋Š” VCC/GND๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณตํ†ต ํ•€

 - ๋‚˜๋จธ์ง€ 8๊ฐœ์˜ ํ•€์€ ํ•ด๋‹น ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ œ์–ดํ•˜๋Š” ์ œ์–ดํ•€

1์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜

 

(์ขŒ) ๊ณตํ†ต ์–‘๊ทน ๋ฐฉ์‹ (์šฐ) ๊ณตํ†ต ์Œ๊ทน ๋ฐฉ์‹

 

7์„ธ๊ทธ๋จผํŠธ ํ‘œ์ค€ ๋””์Šคํ”Œ๋ ˆ์ด

 

// 0~9๊นŒ์ง€ ์ˆซ์ž ํ‘œํ˜„์„ ์œ„ํ•œ 
// ์„ธ๊ทธ๋จผํŠธ a, b, c, d, e, f, g, dp์˜ ํŒจํ„ด

byte patterns[] = {
    0xFC,	// 0b 1111 1100  ->  0
    0x60,	// 0b 0110 0000  ->  1
    0xDA,	// 0b 1101 1010  ->  2
    0xF2,	// 0b 1111 0010  ->  3
    0x66,	// 0b 0110 0110  ->  4
    0xB6,	// 0b 1011 0110  ->  5
    0xBE,	// 0b 1011 1110  ->  6
    0xE4,	// 0b 1110 0100  ->  7
    0xFE,	// 0b 1111 1110  ->  8
    0xE6,	// 0b 1110 0110  ->  9
 };

 

 

 

[ 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ์žฅ์น˜ ]

 - 1์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜์˜ ์ œ์–ด๋ฅผ ์œ„ํ•ด์„œ๋Š” 8๊ฐœ์˜ ์ œ์–ด์„ ์ด ํ•„์š”ํ–ˆ์Œ.

 - 1์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜๋ฅผ ํ†ตํ•ด ๋„ค์ž๋ฆฌ์ˆ˜์˜ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด 

   32๊ฐœ์˜ ์ œ์–ด์„ ์ด ํ•„์š”ํ•จ.

 - ์•„๋‘์ด๋…ธ ์šฐ๋…ธ๋Š” ์ตœ๋Œ€ 20๊ฐœ์˜ ๋””์ง€ํ„ธ ์ž…์ถœ๋ ฅ ํ•€๋งŒ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋ถˆ๊ฐ€๋Šฅํ•จ.

 - ์ด ๋•Œ 4์ž๋ฆฌ ์„ธ๊ทธ๋จผํŠธ ์žฅ์น˜์˜ ๊ฒฝ์šฐ๋Š” 1์ž๋ฆฌ ์„ธ๊ทธ๋จผํŠธ ์žฅ์น˜์™€ ๋‹ค๋ฅธ ๋ฐฉ์‹์„ ์‚ฌ์šฉ

 - ์ธ๊ฐ„ ๋ˆˆ์˜ ๋ฐ˜์‘์†๋„๋Š” ๊ทธ๋ ‡๊ฒŒ ๋น ๋ฅด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ˆœ์‹๊ฐ„์— ๋ฌผ๊ฑด์ด ์‚ฌ๋ผ์ง€๋Š” ๊ฒฝ์šฐ

   ์ž ๊น์€ ์‚ฌ๋ผ์ง„ ๊ฒƒ์„ ์ธ์‹ํ•˜์ง€ ๋ชปํ•จ(์ž”์ƒ ํšจ๊ณผ)

 - ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ์žฅ์น˜์—์„œ ํ•œ๋ฒˆ์— ํ•œ์ž๋ฆฌ ์ˆ˜๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๋น ๋ฅธ ์†๋„๋กœ

   ์ž๋ฆฌ์ˆ˜๋ฅผ ๋ฐ”๊พธ์–ด ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์„ ๋ฐ˜๋ณตํ•œ๋‹ค๋ฉด ์ž”์ƒํšจ๊ณผ์— ์˜ํ•ด 4์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒƒ์œผ๋กœ

   ๋ณด์ด๊ฒŒ ๋œ๋‹ค.

 - ์ž”์ƒ ํšจ๊ณผ๋ฅผ ์ด์šฉํ•˜๋Š” 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜๋Š” 32๊ฐœ๊ฐ€ ์•„๋‹Œ 12๊ฐœ์˜ ํ•€๋งŒ์œผ๋กœ ์ž‘๋™ ๊ฐ€๋Šฅ

 

  1์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜ 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜
์ถœ๋ ฅ 1์ž๋ฆฌ ์ˆซ์ž ํ‘œํ˜„ ๊ฐ€๋Šฅ 4์ž๋ฆฌ ์ˆซ์ž ํ‘œํ˜„ ๊ฐ€๋Šฅ
ํ•€ ์‚ฌ์šฉ  ๊ณตํ†ตํ•€ 8๊ฐœ (a, b, c, d, e, f, g, dp)
  4๊ฐœ์˜ ์ž๋ฆฌ ์„ ํƒํ•€ (๊ฐ ์ž๋ฆฟ์ˆ˜ ์„ ํƒ)
Digit 1, Digit 2, Digit 3, Digit 4

 

4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ์žฅ์น˜

 

(A) 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ๊ณตํ†ต ์Œ๊ทน ๋ฐฉ์‹

 - (A) ๊ทธ๋ฆผ์„ ๋ณด๋ฉด 12, 9, 8, 6ํ•€์€ ์ž๋ฆฌ ์„ ํƒํ•€์œผ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Œ

 - 8๊ฐœ์˜ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ์ œ์–ดํ•˜๋Š” ํ•€์€ ๊ฐ ์ž๋ฆฌ์—์„œ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ ์ค‘

 - ํ•ด๋‹น ๊ทธ๋ฆผ์—์„œ๋Š” ๊ณตํ†ต ์Œ๊ทน ๋ฐฉ์‹์œผ๋กœ ํšŒ๋กœ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ,

   12๋ฒˆ ํ•€์— LOW ๊ฐ’์„ ํ• ๋‹นํ•˜๊ณ , 8๊ฐœ์˜ ๊ณตํ†ต ์ œ์–ดํ•€์— 0xFC(0)๋ฅผ ์ „๋‹ฌํ•˜๋ฉด ์ฒซ๋ฒˆ์งธ ์ž๋ฆฌ์— 0 ํ‘œ์‹œ

   ์ด ๋•Œ ๋‹ค๋ฅธ ์ž๋ฆฟ์ˆ˜ ์„ ํƒํ•€์—๋Š” HIGH ๊ฐ’์„ ํ• ๋‹นํ•ด์•ผํ•จ

 - 12, 9,ํ•€์— HIGH, 8,6๋ฒˆํ•€์— LOW ๊ฐ’์„ ํ• ๋‹น ํ• ๊ฒฝ์šฐ 0 0 x x ํ‘œ์‹œ

(B) 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜ ํšŒ๋กœ ๊ตฌ์„ฑ

 

 

 

4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜์— ์ˆซ์ž ํ•œ์ž๋ฆฌ ํ‘œ์‹œ

// C++ code
// ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ž๋ฆฌ๋ฅผ ์˜ฎ๊ฒจ ๊ฐ€๋ฉด์„œ ์ˆซ์ž๋ฅผ ํ‘œ์‹œ
// ๊ฐ ์ž๋ฆฟ์ˆ˜๋งˆ๋‹ค ํ•œ๋ฒˆ์”ฉ ํ‘œ์‹œํ•œ ํ›„ 0~9๊นŒ์ง€ ์ˆซ์ž๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ํ‘œ์‹œ

byte patterns[10] = {
    0xFC,	// 0b 1111 1100  ->  0
    0x60,	// 0b 0110 0000  ->  1
    0xDA,	// 0b 1101 1010  ->  2
    0xF2,	// 0b 1111 0010  ->  3
    0x66,	// 0b 0110 0110  ->  4
    0xB6,	// 0b 1011 0110  ->  5
    0xBE,	// 0b 1011 1110  ->  6
    0xE4,	// 0b 1110 0100  ->  7
    0xFE,	// 0b 1111 1110  ->  8
    0xE6,	// 0b 1110 0110  ->  9
};

// ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€
int digit_pin[4] = {5, 4, 3, 2};

// ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp)
int seg_pin[8] = {13, 12, 11, 10, 9, 8, 7, 6};

void setup()
{
  // ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int i=0; i<4; i++)
    pinMode(digit_pin[i], OUTPUT);
  
  // ์„ธ๊ทธ๋จผํŠธ ์ œ์–ด ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int j=0; j<8; j++)
    pinMode(seg_pin[j], OUTPUT);
}

// ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜์— ์ˆซ์ž ํ•˜๋‚˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ•จ์ˆ˜ 
void show_digit(int pos, int num){
  
  // ์ธ์ž๋กœ ๋ฐ›๋Š” pos(์ž๋ฆฟ์ˆ˜) ์œ„์น˜์˜ ํ•€๋งŒ์„ ํ‘œ์‹œ
  for(int i=0; i<4; i++){
    if(i+1 == pos)
      digitalWrite(digit_pin[i], LOW);
    else
      digitalWrite(digit_pin[i], HIGH);
  }
  
  // ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ํ•€ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp) ์ œ์–ด
  for(int j=0; j<8; j++){
    boolean on_off = bitRead(patterns[num], 7-j);
    digitalWrite(seg_pin[j], on_off);
  }
}

void loop()
{
  for(int n=0; n<10; n++){
    for(int pos=1; pos<=4; pos++){
      show_digit(pos, n);
      delay(200);
    }
  }
}

 

 

 

4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜์— ์นด์šดํ„ฐ ๊ฐ’ ํ‘œ์‹œ

// C++ code
// 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ์žฅ์น˜์— 4์ž๋ฆฌ ์ˆซ์ž ํ‘œ์‹œ
// 0.1์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ์ˆซ์ž ์ฆ๊ฐ€ 0~9999

byte patterns[10] = {
    0xFC,	// 0b 1111 1100  ->  0
    0x60,	// 0b 0110 0000  ->  1
    0xDA,	// 0b 1101 1010  ->  2
    0xF2,	// 0b 1111 0010  ->  3
    0x66,	// 0b 0110 0110  ->  4
    0xB6,	// 0b 1011 0110  ->  5
    0xBE,	// 0b 1011 1110  ->  6
    0xE4,	// 0b 1110 0100  ->  7
    0xFE,	// 0b 1111 1110  ->  8
    0xE6,	// 0b 1110 0110  ->  9
};

// ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€
int digit_pin[4] = {5, 4, 3, 2};
// ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp)
int seg_pin[8] = {13, 12, 11, 10, 9, 8, 7, 6};

int count = 0;
int SEGMENT_DELAY = 5;
unsigned long time_previous, time_current;

void setup()
{
  // ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int i=0; i<4; i++)
    pinMode(digit_pin[i], OUTPUT);
  
  // ์„ธ๊ทธ๋จผํŠธ ์ œ์–ด ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int j=0; j<8; j++)
    pinMode(seg_pin[j], OUTPUT);
  
  time_previous = millis();
}

// ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜์— ์ˆซ์ž ํ•˜๋‚˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ•จ์ˆ˜ 
void show_digit(int pos, int num){
  
  // ์ธ์ž๋กœ ๋ฐ›๋Š” pos(์ž๋ฆฟ์ˆ˜) ์œ„์น˜์˜ ํ•€๋งŒ์„ ํ‘œ์‹œ
  for(int i=0; i<4; i++){
    if(i+1 == pos)
      digitalWrite(digit_pin[i], LOW);
    else
      digitalWrite(digit_pin[i], HIGH);
  }
  
  // ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ํ•€ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp) ์ œ์–ด
  for(int j=0; j<8; j++){
    boolean on_off = bitRead(patterns[num], 7-j);
    digitalWrite(seg_pin[j], on_off);
  }
}

void show_4_digit(int n){
  
  n = n % 10000;		// 4์ž๋ฆฌ๋กœ ์ œํ•œ
  int n4 = n / 1000;	// ์ฒœ ์ž๋ฆฌ
  n = n % 1000;
  int n3 = n / 100;		// ๋ฐฑ ์ž๋ฆฌ
  n = n % 100;
  int n2 = n / 10;		// ์‹ญ ์ž๋ฆฌ
  int n1 = n % 10;		// ํ•œ ์ž๋ฆฌ

  show_digit(1, n4);
  delay(SEGMENT_DELAY);
  show_digit(2, n3);
  delay(SEGMENT_DELAY);
  show_digit(3, n2);
  delay(SEGMENT_DELAY);
  show_digit(4, n1);
  delay(SEGMENT_DELAY);
}

void loop()
{
  time_current = millis();
  
  if(time_current - time_previous >= 100){
    time_previous = time_current;
    
    count++;
  }
  
  show_4_digit(count);
}

 

 

 

 

4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜์— ๊ฐ€๋ณ€์ €ํ•ญ ๊ฐ’ ํ‘œ์‹œ

// C++ code
// ๊ฐ€๋ณ€์ €ํ•ญ ๊ฐ’์„ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋ฅผ ํ†ตํ•ด ์„ธ๊ทธ๋จผํŠธ ์žฅ์น˜์— ํ‘œํ˜„

byte patterns[10] = {
    0xFC,	// 0b 1111 1100  ->  0
    0x60,	// 0b 0110 0000  ->  1
    0xDA,	// 0b 1101 1010  ->  2
    0xF2,	// 0b 1111 0010  ->  3
    0x66,	// 0b 0110 0110  ->  4
    0xB6,	// 0b 1011 0110  ->  5
    0xBE,	// 0b 1011 1110  ->  6
    0xE4,	// 0b 1110 0100  ->  7
    0xFE,	// 0b 1111 1110  ->  8
    0xE6,	// 0b 1110 0110  ->  9
};

// ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€
int digit_pin[4] = {5, 4, 3, 2};
// ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp)
int seg_pin[8] = {13, 12, 11, 10, 9, 8, 7, 6};

int SEGMENT_DELAY = 5;

void setup()
{
  // ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int i=0; i<4; i++)
    pinMode(digit_pin[i], OUTPUT);
  
  // ์„ธ๊ทธ๋จผํŠธ ์ œ์–ด ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int j=0; j<8; j++)
    pinMode(seg_pin[j], OUTPUT);
}

// ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜์— ์ˆซ์ž ํ•˜๋‚˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ•จ์ˆ˜ 
void show_digit(int pos, int num){
  
  // ์ธ์ž๋กœ ๋ฐ›๋Š” pos(์ž๋ฆฟ์ˆ˜) ์œ„์น˜์˜ ํ•€๋งŒ์„ ํ‘œ์‹œ
  for(int i=0; i<4; i++){
    if(i+1 == pos)
      digitalWrite(digit_pin[i], LOW);
    else
      digitalWrite(digit_pin[i], HIGH);
  }
  
  // ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ํ•€ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp) ์ œ์–ด
  for(int j=0; j<8; j++){
    boolean on_off = bitRead(patterns[num], 7-j);
    digitalWrite(seg_pin[j], on_off);
  }
}

void show_4_digit(int _n){
  
  int n = _n;
  
  n = n % 10000;		// 4์ž๋ฆฌ๋กœ ์ œํ•œ
  int n4 = n / 1000;	// ์ฒœ ์ž๋ฆฌ
  n = n % 1000;
  int n3 = n / 100;		// ๋ฐฑ ์ž๋ฆฌ
  n = n % 100;
  int n2 = n / 10;		// ์‹ญ ์ž๋ฆฌ
  int n1 = n % 10;		// ํ•œ ์ž๋ฆฌ

  if(_n > 999)
    show_digit(1, n4);
  delay(SEGMENT_DELAY);
  if(_n > 99)
    show_digit(2, n3);
  delay(SEGMENT_DELAY);
  if(_n > 9)
    show_digit(3, n2);
  delay(SEGMENT_DELAY);
  show_digit(4, n1);
  delay(SEGMENT_DELAY);
}

void loop()
{
  int reading = analogRead(A0);
  
  show_4_digit(reading);
}

 

 

 

 

4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜์— ์‹œ๊ฐ„ ํ‘œ์‹œ

// C++ code
// 4์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ ํ‘œ์‹œ
// 60์ดˆ๋‚˜ 60๋ถ„์ด ๋  ๊ฒฝ์šฐ 0์œผ๋กœ ๋˜๋Œ์•„๊ฐ„๋‹ค.

byte patterns[10] = {
    0xFC,	// 0b 1111 1100  ->  0
    0x60,	// 0b 0110 0000  ->  1
    0xDA,	// 0b 1101 1010  ->  2
    0xF2,	// 0b 1111 0010  ->  3
    0x66,	// 0b 0110 0110  ->  4
    0xB6,	// 0b 1011 0110  ->  5
    0xBE,	// 0b 1011 1110  ->  6
    0xE4,	// 0b 1110 0100  ->  7
    0xFE,	// 0b 1111 1110  ->  8
    0xE6,	// 0b 1110 0110  ->  9
};

// ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€
int digit_pin[4] = {5, 4, 3, 2};
// ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp)
int seg_pin[8] = {13, 12, 11, 10, 9, 8, 7, 6};

int SEGMENT_DELAY = 5;
unsigned long time_previous, time_current;
int min=0, sec = 0;

void setup()
{
  // ์ž๋ฆฟ์ˆ˜ ์„ ํƒ ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int i=0; i<4; i++)
    pinMode(digit_pin[i], OUTPUT);
  
  // ์„ธ๊ทธ๋จผํŠธ ์ œ์–ด ํ•€ ์ถœ๋ ฅ ์„ค์ •
  for(int j=0; j<8; j++)
    pinMode(seg_pin[j], OUTPUT);
  
  time_previous = millis();
}

// ํ•ด๋‹น ์ž๋ฆฟ์ˆ˜์— ์ˆซ์ž ํ•˜๋‚˜๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ•จ์ˆ˜ 
void show_digit(int pos, int num){
  
  // ์ธ์ž๋กœ ๋ฐ›๋Š” pos(์ž๋ฆฟ์ˆ˜) ์œ„์น˜์˜ ํ•€๋งŒ์„ ํ‘œ์‹œ
  for(int i=0; i<4; i++){
    if(i+1 == pos)
      digitalWrite(digit_pin[i], LOW);
    else
      digitalWrite(digit_pin[i], HIGH);
  }
  
  // ์„ธ๊ทธ๋จผํŠธ ๋ชจ๋“ˆ ํ•€ ์—ฐ๊ฒฐ ํ•€(a,b,c,d,e,f,g, dp) ์ œ์–ด  
  for(int j=0; j<8; j++){
    boolean on_off = bitRead(patterns[num], 7-j);
    digitalWrite(seg_pin[j], on_off);
  }
}

// 4์ž๋ฆฌ 7์„ธ๊ทธ๋จผํŠธ ํ‘œ์‹œ ์žฅ์น˜์— 4์ž๋ฆฌ ์ˆซ์ž ํ‘œ์‹œ ํ•จ์ˆ˜
void show_4_digit(int n){
  
  n = n % 10000;		// 4์ž๋ฆฌ๋กœ ์ œํ•œ
  int n4 = n / 1000;	// ์ฒœ ์ž๋ฆฌ
  n = n % 1000;
  int n3 = n / 100;		// ๋ฐฑ ์ž๋ฆฌ
  n = n % 100;
  int n2 = n / 10;		// ์‹ญ ์ž๋ฆฌ
  int n1 = n % 10;		// ํ•œ ์ž๋ฆฌ

  show_digit(1, n4);
  delay(SEGMENT_DELAY);
  show_digit(2, n3);
  delay(SEGMENT_DELAY);
  show_digit(3, n2);
  delay(SEGMENT_DELAY);
  show_digit(4, n1);
  delay(SEGMENT_DELAY);
}

void loop()
{
  time_current = millis();
  
  if(time_current - time_previous >= 1000){
    time_previous = time_current;
    sec++;
    if(sec == 60){	// 60์ดˆ๊ฐ€ ๋  ๊ฒฝ์šฐ ๋ถ„ ์ฆ๊ฐ€
      sec = 0;
      min++;
    }
    if(min == 60)	// 60๋ถ„์ด ๋  ๊ฒฝ์šฐ ์ดˆ๊ธฐํ™”
      min = 0;
  }
  
  show_4_digit(min*100 + sec);
}
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€
    '์‚ฌ๋ฌผ์ธํ„ฐ๋„ท/์•„๋‘์ด๋…ธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [์•„๋‘์ด๋…ธ] ์„œ๋ธŒ ๋ชจํ„ฐ
    • [์•„๋‘์ด๋…ธ] ํ…์ŠคํŠธ LCD
    • [์•„๋‘์ด๋…ธ] ์Šคํ”ผ์ปค์™€ ์„ผ์„œ
    • [์•„๋‘์ด๋…ธ] ์ฃผ๊ธฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ
    ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
    ใ‚ใกใ‚ƒใใกใ‚ƒ ้–‹็™บ่€…๐Ÿฆพ
    ๐Ÿ‘Š ๋ธ”๋กœ๊ทธ๋„ ๊ทผ์„ฑ์ด๋‹ค? ๐Ÿ‘Š

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”