MY9221 LED BAR¸ðµâ
       
 
ÀÌ ¸Å´º¾óÀº ÁÖ½Äȸ»ç Á¦ÀÌÄÉÀÌÀÌ¿¥¾¾(JK EMC) ¿¡ ÀÇÇØ¼­ ¹ø¿ª, ¼öÁ¤, ÀÛ¼º µÇ¾ú°í ¼ÒÀ¯±Ç ¶ÇÇÑ
ÁÖ ½Äȸ»ç Á¦ÀÌÄÉÀÌÀÌ¿¥¾¾(JK EMC)ÀÇ °ÍÀÔ´Ï´Ù. ¼ÒÀ¯±ÇÀÚÀÇ Çã°¡¸¦ ¹ÞÁö ¾Ê°í ¹«´ÜÀ¸·Î ¼öÁ¤, »èÁ¦Çϰųª ¹èÆ÷ ÇÒ ¼ö ¾ø½À´Ï´Ù.

 

 

MY9221 10 Level Meter ( 10·¹º§ LED ·¹º§¹ÌÅÍ )


 
 




  1. MY9221 LED ¼¾¼­ ¼Ò°³
2. ¾Æ µÎÀ̳ë¿Í °°ÀÌ »ç¿ëÇϱâ
    2.1 ¼¾¼­ ȸ·Îµµ¹× ¿Ü°û Ä¡¼ö
    2.2 ¾ÆµÎÀ̳ë UNO R3 ¹è¼±µµ
    2.3 ¾ÆµÎÀÌ³ë ½ºÄÉÄ¡ ÄÚµå
    2.4 ¾ÆµÎÀÌ³ë ½ºÄÉÄ¡ ÄÚµå ½ÇÇà °á°ú µ¿¿µ»ó

 
 MY9221 ¸ðµâ ¼Ò°³


MY9221 LED¸ðµâÀº MU9221 IC·Î LED¸¦ Á¦¾îÇÏ´Â ¸ðµâÀÔ´Ï´Ù.
ÀÌ ¸ðµâÀº 10°³ÀÇ ¼¼±×¸ÕÆ®°¡ ±ä ¸·´ë±âÇüÅ·ΠµÇ¾î ÀÖ½À´Ï´Ù.
3.3V~ 5V±îÁö »ç¿ëÀÌ °¡´ÉÇÏ¸ç ¼Õ½±°Ô ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï Á¦À۵Ǿú½À´Ï´Ù.
ÀÌ ¸ðµâÀº ¹èÅ͸®ÀÜ·®, À½¾çÈ¿°ú, ÃøÁ¤·®µî ¿©·¯ °÷¿¡¼­ ¾²ÀÏ ¼ö ÀÖ½À´Ï´Ù.





Characteristic Value Unit
Supply Voltage 2.7 ~ 5 V
Output Current
60 mA 
Input Data Clock Frequency 0.07 ~ 10 MHz
Operating Ambient Temperature -40 ~ 85  ¡ÆC




 
MY9221 LED ȸ·Îµµ¹× ¿Ü°ûÄ¡¼ö

MY9221 LED ¸ðµâ ȸ·Îµµ

     - LED PDF ȸ·Îµµ ´Ù¿î·Îµå
     - MY9211 µ¥ÀÌÅÍ½ÃÆ® ´Ù¿î·Îµå(http://www.jkelec.co.kr)
     - LED  DXF ijµå ÆÄÀÏ ´Ù¿î·Îµå
LED


MY9221 LED ¼¾¼­ ¿Ü°û(mm´ÜÀ§) Ä¡¼ö

      LED

 
 MY9221 LED ¾ÆµÎÀ̳ë UNO R3 ¹è¼±µµ

MY9221 LED <---> ¾ÆµÎÀ̳ë
VCC <---> 5V, 3V
GND <---> GND
DCKI <---> 9
DI <---> 10

¿É¼Ç( DCKO, DO)¸¦ ÀÌ¿ëÇÏ¿© ¿©·¯°³¸¦ ¿¬°áÇÏ¿© »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.


- Fritzing ÆÄÀÏ ´Ù¿î·Îµå


LED

 


 
MY9221 LED ¾ÆµÎÀÌ³ë ½ºÄÉÄ¡ ÄÚµå

MY9221 LED¸ðµâ¸¦ ÀÌ¿ëÇÏ¿© LED µ¿ÀÛÀ» Ãâ·ÂÇÏ´Â ¿¹Á¦ ÀÌ´Ù.

¾ÆµÎÀÌ³ë ½ºÄÉÄ¡ ÄÚµå
     - MY9221 LED µ¿ÀÛ ½ºÄ³Ä¡ ÆÄÀÏ ´Ù¿î·Îµå



#include <Arduino.h>
#define BARPORT 0x00

class LEDBAR
{
private:
unsigned int Clk;
unsigned int Data;
bool PORT;
unsigned char state[10];

void SEND(unsigned int da);
void LATCH(void);
void SET(unsigned char bits[]);

public:
LEDBAR(unsigned char PINClk, unsigned char PINData, bool PT);
void Mode(){
pinMode(Clk, OUTPUT);
pinMode(Data, OUTPUT);
}
void FLOOR(float level);
void Toggle(unsigned char led);
void OUT(unsigned int bits);
unsigned int const Getbits();
};

LEDBAR::LEDBAR(unsigned char PINClk, unsigned char PINData, bool PT)
{
Clk = PINClk;
Data = PINData;
PORT = PT;

for (byte i = 0; i < 10; i++)
state[i] = 0x00;

pinMode(Clk, OUTPUT);
pinMode(Data, OUTPUT);
}

void LEDBAR::LATCH()
{
digitalWrite(Data, LOW);
delayMicroseconds(10);

for (unsigned char i = 0; i < 4; i++)
{
digitalWrite(Data, HIGH);
digitalWrite(Data, LOW);
}
}

void LEDBAR::SEND(unsigned int da)
{
for (unsigned char i = 0; i < 16; i++)
{
unsigned int state = (da & 0x8000) ? HIGH : LOW;
digitalWrite(Data, state);

state = digitalRead(Clk) ? LOW : HIGH;
digitalWrite(Clk, state);

da <<= 1;
}
}

void LEDBAR::FLOOR(float level)
{
level = max(0, min(10, level));
level *= 8; // there are 8 (noticable) levels of brightness on each segment

// Place number of 'level' of 1-bits on state
for (byte i = 0; i < 10; i++) {
state[i] = (level > 8) ? ~0 :
(level > 0) ? ~(~0 << byte(level)) : 0;

level -= 8;
};

SET(state);
}

void LEDBAR::Toggle(unsigned char led)
{
led = max(1, min(10, led));

// Zero based index 0-9 for bitwise operations
led--;

state[led] = state[led] ? 0 : ~0;

SET(state);
}

void LEDBAR::SET(unsigned char state[])
{

SEND(BARPORT);

for (unsigned char i = 0; i < 10; i++)
{
if (PORT)
{
// Go backward on state
SEND(state[10-i-1]);
}
else
{
// Go forward on state
SEND(state[i]);
}
}
SEND(0x00);
SEND(0x00);

LATCH();
}

void LEDBAR::OUT(unsigned int bits)
{

for (unsigned char i = 0; i < 10; i++)
{

if ((bits % 2) == 1)
state[i] = 0xFF;
else
state[i] = 0x00;
bits /= 2;
}

SET(state);
}

unsigned int const LEDBAR::Getbits()
{
unsigned int __bits = 0x00;
for (unsigned char i = 0; i < 10; i++)
{
if (state[i] != 0x0)
__bits |= (0x1 << i);
}
return __bits;
}
LEDBAR bar(9,10,0);

void setup()
{
// nothing to initialize
bar.Mode();
}

void loop()
{

bar.OUT(0b000001111111111);
delay(1000);

bar.OUT(0b000000000000000);
delay(1000);

bar.OUT(0b000000000000001);
delay(1000);

bar.OUT(0b000000000000101);
delay(1000);

bar.OUT(0b000000000010101);
delay(1000);

bar.OUT(0b000000001010101);
delay(1000);

bar.OUT(0b000000101010101);
delay(1000);

bar.OUT(0b000001010101010);
delay(1000);

bar.OUT(0b000000101010101);
delay(1000);

bar.OUT(0b000001010101010);
delay(1000);

bar.OUT(0b000000101010101);
delay(1000);

bar.OUT(0b000000000011111);
delay(1000);

bar.OUT(0b000001111100000);
delay(1000);

}

 
MY9221 LED½ºÄÉÄ¡ ÄÚµå ½ÇÇà °á°ú µ¿¿µ»ó