<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
		<id>http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=2%EC%9E%A5._LED_%EC%BC%9C%EA%B8%B0_%EC%9D%91%EC%9A%A9%28%EC%97%AC%EB%9F%AC%EA%B0%9C_LED_%EC%BC%9C%EA%B8%B0%29</id>
		<title>2장. LED 켜기 응용(여러개 LED 켜기) - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=2%EC%9E%A5._LED_%EC%BC%9C%EA%B8%B0_%EC%9D%91%EC%9A%A9%28%EC%97%AC%EB%9F%AC%EA%B0%9C_LED_%EC%BC%9C%EA%B8%B0%29"/>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=2%EC%9E%A5._LED_%EC%BC%9C%EA%B8%B0_%EC%9D%91%EC%9A%A9(%EC%97%AC%EB%9F%AC%EA%B0%9C_LED_%EC%BC%9C%EA%B8%B0)&amp;action=history"/>
		<updated>2026-04-22T06:01:46Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https//wiki.microduino.cn/index.php?title=2%EC%9E%A5._LED_%EC%BC%9C%EA%B8%B0_%EC%9D%91%EC%9A%A9(%EC%97%AC%EB%9F%AC%EA%B0%9C_LED_%EC%BC%9C%EA%B8%B0)&amp;diff=4114&amp;oldid=prev</id>
		<title>Md：Created page with &quot;{{Language|2장. LED 켜기 응용(여러개 LED 켜기)}} {| style=&quot;width: 800px;&quot; |- | ==목적== 여러 개의 LED 제어하는 방법을 알아본다.  ==부품== *'''Mi...&quot;</title>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=2%EC%9E%A5._LED_%EC%BC%9C%EA%B8%B0_%EC%9D%91%EC%9A%A9(%EC%97%AC%EB%9F%AC%EA%B0%9C_LED_%EC%BC%9C%EA%B8%B0)&amp;diff=4114&amp;oldid=prev"/>
				<updated>2014-09-11T00:17:29Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Language|2장. LED 켜기 응용(여러개 LED 켜기)}} {| style=&amp;quot;width: 800px;&amp;quot; |- | ==목적== 여러 개의 LED 제어하는 방법을 알아본다.  ==부품== *&amp;#039;&amp;#039;&amp;#039;Mi...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Language|2장. LED 켜기 응용(여러개 LED 켜기)}}&lt;br /&gt;
{| style=&amp;quot;width: 800px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
==목적==&lt;br /&gt;
여러 개의 LED 제어하는 방법을 알아본다.&lt;br /&gt;
&lt;br /&gt;
==부품==&lt;br /&gt;
*'''[[Microduino-Core/ko|마이크로두이노 코어 모듈]]'''&lt;br /&gt;
*'''[[Microduino-USBTTL/ko|마이크로두이노 USBTTL]]'''&lt;br /&gt;
*기타 부품&lt;br /&gt;
**브레드보드 점퍼선            약간    &lt;br /&gt;
**브레드보드  	               한개 &lt;br /&gt;
**LED                          8개  &lt;br /&gt;
**220ohm 저항    	       8개 &lt;br /&gt;
**USB 데어터 케이블            1개 &lt;br /&gt;
&lt;br /&gt;
[[File:lesson2All.jpg|600px|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
==회로도==&lt;br /&gt;
*LED의 캐소드(-)측은 마이크로두이노의 GND에 연결하고, 애노드는 마이크로두이노의 D3 ~ D10 I/O 핀에 연결하는 방법과&lt;br /&gt;
*LED의 캐소드(-)측은 마이크로두이노의 D3 ~ D10의 디지털 I/O 핀에 연결하고, 애노드는 마이크로두이노의 VCC에 연결하는 두가지 방법이 있다. &lt;br /&gt;
이것은 공통 캐소드와 공통 애노드의 개념으로 닉시관이나 7 Segment에 적용된다. &lt;br /&gt;
&lt;br /&gt;
[[File:schematic2.jpg|600px|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
==소스==&lt;br /&gt;
*I/O 출력에 직접 연결하기&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
void setup() {                &lt;br /&gt;
  for(int i=3;i&amp;lt;11;i++)           // D3 ~ D10 I/O 출력을 디지털 I/O 포트로 설정하기 위한 반복문   &lt;br /&gt;
  pinMode(i, OUTPUT);             // I/O 포트를 출력으로 설정하는 함수&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop() {&lt;br /&gt;
  for(int i=3;i&amp;lt;11;i++)&lt;br /&gt;
  {&lt;br /&gt;
    digitalWrite(i, HIGH);        // D3 ~ D10 디지털 I/O 출력을 HIGH로 설정&lt;br /&gt;
    delay(50);                    // 시간지연 50ms  &lt;br /&gt;
    digitalWrite(i, LOW);         // D3 ~ D10 디지털 I/O 출력을 LOW로 설정&lt;br /&gt;
    delay(50);                    // 시간지연 50ms    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 16비트 배열를 이용하여, 출력데이터를 각 I/O 포트를 쉬프트 시킴으로 여러가지 멋있는 모양을 만들수 있다.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
/*===============================================&lt;br /&gt;
0x（High-low：10，9，8，7）（High-low：6，5，4，3）&lt;br /&gt;
Example&lt;br /&gt;
0x81:10000001&lt;br /&gt;
10번핀,9번핀,8번핀,7번핀,6번핀,5번핀,4번핀,3번핀&lt;br /&gt;
   ↓    ↓    ↓    ↓    ↓    ↓    ↓    ↓&lt;br /&gt;
   1     0     0     0     0     0     0     1&lt;br /&gt;
공통 캐소드 방식으로 연결한 형태이므로 LED의 모든 캐소드는 같이 연결한다. 출력이 1일때 ON, 0일때 OFF가 된다. &lt;br /&gt;
=================================================*/&lt;br /&gt;
long  data[]=&lt;br /&gt;
{&lt;br /&gt;
  0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,          //왼쪽에서 오른쪽으로 하나씩 켜진후 꺼진다.&lt;br /&gt;
  0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,          //오른쪽에서 왼쪽으로 하나씩 켜진후 꺼진다.&lt;br /&gt;
  0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81,          //양쪽에서 중간으로 중간에서 양쪽으로 켜진후 꺼진다.&lt;br /&gt;
  0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,          //왼쪽에서 오른쪽으로 하나씩 켜진다.&lt;br /&gt;
  0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,          //오른쪽에서 왼쪽으로 꺼진다.&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void setup() &lt;br /&gt;
{                &lt;br /&gt;
  for(int x=3;x&amp;lt;11;x++) &lt;br /&gt;
  {&lt;br /&gt;
    pinMode(x,OUTPUT);                              // I/O핀을 출력으로 설정&lt;br /&gt;
  }  &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void loop() &lt;br /&gt;
{&lt;br /&gt;
  for(int x=0;x&amp;lt;40;x++)                            // 다른 LED 패턴을 읽는다.&lt;br /&gt;
  {&lt;br /&gt;
    leddisplay(data[x]);                           // leddisplay() 함수를 호출한다.  &lt;br /&gt;
    delay(200);                                    // 각 상태마다 200ms 시간지연&lt;br /&gt;
  }&lt;br /&gt;
  leddisplay(0x00);                                // 한 싸이클이 완료되면 모든 LED를 끈다.&lt;br /&gt;
  delay(200);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void leddisplay(int num)                           // 포트와 LED를 맵핑하는 함수&lt;br /&gt;
{&lt;br /&gt;
/*====================================================================&lt;br /&gt;
(num &amp;gt;&amp;gt; x)에서 x는 16진수 num을 x 비트만큼 오른쪽 쉬프트하라는 표현이다. 0 is the lowest bit, bit 7 is the highest bit. &lt;br /&gt;
0은 최하위비트이고 7은 최상위비트이다. 쉬프트된 데이터와 0x01과 AND 연산하여 0 또는 1의 임의의 값을 얻을 수 있다. 얻어진 값을&lt;br /&gt;
마이크로두이노의 I/O 포트에 출력한다.&lt;br /&gt;
 ====================================================================*/&lt;br /&gt;
  digitalWrite(3, ((num&amp;gt;&amp;gt;0)&amp;amp;0x01));                // num값을 0 만큼 오른쪽 쉬프트하고 0x01과 AND 연산해서 얻어진 값을 I/O 포트 D3의 값으로 출력 &lt;br /&gt;
  digitalWrite(4, ((num&amp;gt;&amp;gt;1)&amp;amp;0x01));                // num값을 1 만큼 오른쪽 쉬프트하고 0x01과 AND 연산해서 얻어진 값을 I/O 포트 D4의 값으로 출력&lt;br /&gt;
  digitalWrite(5, ((num&amp;gt;&amp;gt;2)&amp;amp;0x01));&lt;br /&gt;
  digitalWrite(6, ((num&amp;gt;&amp;gt;3)&amp;amp;0x01));&lt;br /&gt;
  digitalWrite(7, ((num&amp;gt;&amp;gt;4)&amp;amp;0x01));&lt;br /&gt;
  digitalWrite(8, ((num&amp;gt;&amp;gt;5)&amp;amp;0x01));&lt;br /&gt;
  digitalWrite(9, ((num&amp;gt;&amp;gt;6)&amp;amp;0x01));&lt;br /&gt;
  digitalWrite(10,((num&amp;gt;&amp;gt;7)&amp;amp;0x01));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
이 예제는 LED를 켜기위해 할당된 I/O 포트와 16진수 값을 맵핑하여 다양한 효과를 낼 수 있음을 보여준다. 0x18은 바이너리값으로 00011000으로 변환되며 여기서 '0'은 LED가 OFF되고, '1'은 LED가 ON 된다. 이것을 이용하면 많은 재미있는 효과를 만들어 낼수 있다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==결론==&lt;br /&gt;
*프로그램 1&lt;br /&gt;
왼쪽에서 오른쪽으로 각각의 LED가 켜지고 꺼진다.&lt;br /&gt;
*프로그램 2&lt;br /&gt;
5가지의 패턴 효과를 구현할 수 있다. 왼쪽에서 오른쪽으로, 오른쪽에서 왼쪽으로, 가장자리에서 중앙으로 중앙에서 가장자리고, 왼쪽에서 오른쪽으로 켜지고 꺼지는 효과를 나타낼 수 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==비디오==&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Md</name></author>	</entry>

	</feed>