<?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=3%EC%9E%A5._%EB%B2%84%ED%8A%BC%EC%9D%84_%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC_LED_%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0</id>
		<title>3장. 버튼을 이용하여 LED 제어하기 - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=3%EC%9E%A5._%EB%B2%84%ED%8A%BC%EC%9D%84_%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC_LED_%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0"/>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=3%EC%9E%A5._%EB%B2%84%ED%8A%BC%EC%9D%84_%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC_LED_%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0&amp;action=history"/>
		<updated>2026-04-21T09:52:06Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https//wiki.microduino.cn/index.php?title=3%EC%9E%A5._%EB%B2%84%ED%8A%BC%EC%9D%84_%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC_LED_%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0&amp;diff=4115&amp;oldid=prev</id>
		<title>Md：Created page with &quot;{{Language|第三课--按钮控制的LED开关/ko}} {| style=&quot;width: 800px;&quot; |- | ==목표== 처음 두개의 예제에서는 LED를 직접 제어하는 방법을 알아봤다...&quot;</title>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=3%EC%9E%A5._%EB%B2%84%ED%8A%BC%EC%9D%84_%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC_LED_%EC%A0%9C%EC%96%B4%ED%95%98%EA%B8%B0&amp;diff=4115&amp;oldid=prev"/>
				<updated>2014-09-11T01:35:46Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Language|第三课--按钮控制的LED开关/ko}} {| style=&amp;quot;width: 800px;&amp;quot; |- | ==목표== 처음 두개의 예제에서는 LED를 직접 제어하는 방법을 알아봤다...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Language|第三课--按钮控制的LED开关/ko}}&lt;br /&gt;
{| style=&amp;quot;width: 800px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
==목표==&lt;br /&gt;
처음 두개의 예제에서는 LED를 직접 제어하는 방법을 알아봤다. 버튼을 추가해서 LED를 제어할 수 있다면 하드웨어와 소프트웨어의 조화를 만들어 낼 수 있을 것이다.&lt;br /&gt;
두 예제에서 LED 출력제어를 위해 마이크로두이노 I/O 포트했으며 버튼 입력을 모니터링하기 위해서는 어떤 방법을 사용해야 할까?&lt;br /&gt;
이번 장에선 마이크로두이노의 입력을 설정하고 입력값을 읽고 사용하는 방법에 대해 알아보도록 하자.&lt;br /&gt;
&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;
**브레드보드  	               1개  &lt;br /&gt;
**LED                          1개 &lt;br /&gt;
**220ohm 저항    	       1개 &lt;br /&gt;
**버튼                         1개  &lt;br /&gt;
**USB 데이터 케이블            1개&lt;br /&gt;
&lt;br /&gt;
==버튼==&lt;br /&gt;
*버튼 동작원리&lt;br /&gt;
[[File:button.jpg|600px|center|thumb]]&lt;br /&gt;
4핀 버튼중에 두핀은 항상 연결되어 있으로 PCB 제작시 유용하게 활용될 수 있다.&lt;br /&gt;
&lt;br /&gt;
*버튼 연결&lt;br /&gt;
[[File:button connection.jpg|600px|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
==회로도==&lt;br /&gt;
[[File:button schematic.jpg|600px|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
외부의 저항을 풀다운 저항을 사용하면 누르지 않았을 경우 '0'을 누를 경우 '1'을 나나낸다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==프로그램==&lt;br /&gt;
* 버튼값 LED에 표시하기&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
const int buttonPin = 2;        // 버튼 입력포트 정의&lt;br /&gt;
const int ledPin =  11;         // LED 출력포트 정의&lt;br /&gt;
int buttonState = 0;            // 버튼 값 초기화&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ledPin, OUTPUT);      // LED 출력포트를 출력으로 정의&lt;br /&gt;
  pinMode(buttonPin, INPUT);    // 버튼 입력핀을 입력으로 정의&lt;br /&gt;
}&lt;br /&gt;
void loop(){&lt;br /&gt;
  buttonState = digitalRead(buttonPin);       // 버튼핀(buttonPin)으로 부터 값을 읽는 함수호출&lt;br /&gt;
  if (buttonState == HIGH) {     &lt;br /&gt;
    digitalWrite(ledPin, HIGH);               // 입력값이 HIGH이면, LED 켠다. (LED 애노드는 I/O핀에 연결하고, 캐소드는 GND에 연결한 상태)&lt;br /&gt;
  } &lt;br /&gt;
  else {&lt;br /&gt;
    digitalWrite(ledPin, LOW);                // LED 끈다.&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*LED voltage flip&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
const int buttonPin = 2;      // 버튼 입력포트 정의&lt;br /&gt;
const int ledPin =  11;       // LED 출력포트 정의&lt;br /&gt;
&lt;br /&gt;
int buttonState = 0; &lt;br /&gt;
boolean led;                  // LED 상태값 변수 정의&lt;br /&gt;
&lt;br /&gt;
void setup() {&lt;br /&gt;
  pinMode(ledPin, OUTPUT);      &lt;br /&gt;
  pinMode(buttonPin, INPUT_PULLUP);       // 내부풀업 저항을 이용하여 버튼 입력포트 정의&lt;br /&gt;
  // pinMode(buttonPin, INPUT);           // 내부풀업 저항을 이용하지 않고 버튼 입력포트 정의. 외부 풀업저항을 이용한다.&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop(){&lt;br /&gt;
  buttonState = digitalRead(buttonPin);&lt;br /&gt;
  if (buttonState == HIGH)                 // 외부 풀다운저항을 사용하면 초기값이 '0'이므로 버튼을 누른 경우 '1'이 되므로 버튼을 누르지 않으면 LED가 깜밖이지 않는다.&lt;br /&gt;
  {  &lt;br /&gt;
    delay(200);                            // 안정화를 위한 시간지연&lt;br /&gt;
    // delay(1000);                        // 오래 누르는 경우&lt;br /&gt;
    // if (buttonState == LOW)             // 버튼 입력이 '0'인지 확인&lt;br /&gt;
    led=!led;                              // LED 값을 바꾼다.&lt;br /&gt;
  } &lt;br /&gt;
  digitalWrite(ledPin, led);  &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
이번 장에서는 버튼의 안정적인 입력을 위해서 시간지연을 적용했다.. 또한 100nF 커패시터를 버튼입력포트에 연결하는 방법도 있다. 버튼 입력의 안정화를 위한 방법으로 http://www.geek-workshop.com/thread-74-1-1.html를 참조하세요.&lt;br /&gt;
&lt;br /&gt;
===digitalRead（）함수 사용하기===&lt;br /&gt;
핀의 값을 읽고 High 또는 Low로 변화시키기&lt;br /&gt;
&lt;br /&gt;
==결과==&lt;br /&gt;
&lt;br /&gt;
*프로그램 1 : LED로 입력 버튼값 표현하기. 입력인 High 일때 LED 켜고 Low 일때는 끈다.&lt;br /&gt;
&lt;br /&gt;
*프로그램 2 : 버튼을 누를 때 마다. LED를 깜빡이고 버튼 안티 쉐이킹을 적용했다.&lt;br /&gt;
&lt;br /&gt;
==비디오==&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Md</name></author>	</entry>

	</feed>