<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>임베디드</title>
		<link rel="alternate" type="text/html" hreflang="ko" href="https://autolabs.co.kr/board_embeded"/>
	<link rel="self" type="application/atom+xml" href="https://autolabs.co.kr/board_embeded/atom"/>
	<updated>2026-06-07T03:32:13+09:00</updated>
	<id>https://autolabs.co.kr/board_embeded/atom</id>
	<generator>Rhymix</generator>
		<entry>
		<title>로직 애널라이저(Logic Analyzer)</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/1089993"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/1089993#comment"/>		<id>https://autolabs.co.kr/board_embeded/1089993</id>
		<published>2026-04-18T06:57:47+09:00</published>
		<updated>2026-04-18T06:58:22+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">아래는 Algorithm님이 채팅창에서 말씀하신 단어들 중 로직라이저가 뭔지 궁금해서 ChatGPT를 이용해서 발췌한 내용입니다. # 로직 애널라이저(Logic Analyzer)란 무엇인가? 전자기기나 임베디드 장비를 분석하다 보면 `UART`, `SPI`, `I2C`, `GPIO` 같은 **디지털 신호**가 제대로 오가는지 확인해야 할 때가 있습니다. 이럴 때 사용하는 대표적인 장비가 바로 **로직 애널라이저(Logic Analyzer)** 입니다. 로직 애널라이저는 디...</summary>
	<content type="html">&lt;p&gt;아래는 Algorithm님이 채팅창에서 말씀하신 단어들 중&amp;nbsp;&lt;strong&gt;로직라이저&lt;/strong&gt;가 뭔지 궁금해서 ChatGPT를 이용해서 발췌한 내용입니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div editor_component=&quot;markdown&quot; style=&quot;border:#000 1px dotted; padding: 10px&quot;&gt; &lt;pre&gt; # 로직 애널라이저(Logic Analyzer)란 무엇인가? 전자기기나 임베디드 장비를 분석하다 보면 `UART`, `SPI`, `I2C`, `GPIO` 같은 **디지털 신호**가 제대로 오가는지 확인해야 할 때가 있습니다. 이럴 때 사용하는 대표적인 장비가 바로 **로직 애널라이저(Logic Analyzer)** 입니다. 로직 애널라이저는 디지털 회로에서 여러 신호를 동시에 캡처하고, 시간 흐름에 따라 어떤 값이 오갔는지 보여주는 계측 장비입니다. 또한 여러 디지털 신호 간의 **타이밍 관계**를 확인하고, 경우에 따라 **통신 프로토콜 디코딩**까지 수행할 수 있습니다. ## 쉽게 말하면 오실로스코프가 전압 파형 자체를 자세히 보는 도구라면, 로직 애널라이저는 **&amp;ldquo;디지털 신호가 0과 1로 어떻게 오갔는지&amp;rdquo;**, 그리고 **&amp;ldquo;각 신호가 어떤 순서와 타이밍으로 동작했는지&amp;rdquo;**를 보기 좋은 도구입니다. 특히 `I2C`, `SPI`, `UART(Serial)` 같은 디지털 통신 분석에 많이 사용됩니다. [1] ## 로직 애널라이저로 할 수 있는 일 ### 1. 통신 규격 추정 어떤 장치의 핀에 연결해서 신호를 캡처하면 클럭이 있는지, 데이터 라인이 몇 개인지, 신호 패턴이 어떤지 등을 보고 대략적으로 `UART`, `SPI`, `I2C` 같은 통신 방식인지 추정할 수 있습니다. 많은 로직 애널라이저 소프트웨어는 이런 프로토콜을 자동으로 디코딩해 보여주기도 합니다. ### 2. 송수신 데이터 확인 단순히 파형만 보는 것이 아니라, 실제로 어떤 바이트 값이 오갔는지 확인할 수 있습니다. 즉, **장치가 어떤 명령을 보내고 어떤 응답을 받는지**를 분석하는 데 매우 유용합니다. ### 3. 타이밍 문제 분석 디지털 장치는 신호의 값뿐 아니라 **언제 신호가 변했는지**가 중요합니다. 로직 애널라이저는 여러 채널을 동시에 캡처해서 신호 간 순서, 지연, 타이밍 오류 등을 파악하는 데 적합합니다. ## 오실로스코프와 차이점 오실로스코프는 전압의 실제 모양, 노이즈, 상승시간 같은 **아날로그 특성**을 자세히 보는 데 강합니다. 반면 로직 애널라이저는 많은 디지털 채널을 동시에 보면서 **논리 상태, 타이밍 관계, 프로토콜 해석**에 강합니다. 그래서 디지털 통신 디버깅에서는 로직 애널라이저가 더 실용적인 경우가 많습니다. ## 암호화 여부도 알 수 있을까? 로직 애널라이저로 **신호의 존재**, **통신 방식**, **데이터가 오가는 패턴**은 볼 수 있습니다. 하지만 통신 데이터가 암호화되어 있다면, 캡처 자체는 가능해도 **내용이 평문처럼 바로 읽히지 않을 수 있습니다**. 즉, 로직 애널라이저는 **&amp;ldquo;무슨 신호가 어떻게 오갔는지&amp;rdquo;**를 파악하는 데는 매우 유용하지만, 암호화된 프로토콜의 의미를 바로 해석하는 것은 별개의 문제입니다. 다만 암호화가 되어 있어도 **프레임 구조, 반복 패턴, 길이, 타이밍** 같은 정보는 여전히 분석 가능합니다. 이는 로직 애널라이저가 디지털 신호와 프로토콜 트래픽을 기록&amp;middot;디코딩하는 도구라는 점에서 자연스럽게 따라오는 분석 포인트입니다. ## 이런 상황에서 특히 유용합니다 * 정체불명의 보드 간 통신이 무엇인지 확인하고 싶을 때 * MCU와 센서가 정상적으로 데이터를 주고받는지 보고 싶을 때 * UART/SPI/I2C 통신 오류 원인을 찾고 싶을 때 * 버튼, 클럭, 데이터 핀의 동작 순서를 확인하고 싶을 때 * 펌웨어/하드웨어 디버깅 과정에서 실제 신호 흐름을 보고 싶을 때 ## 마무리 로직 애널라이저는 한마디로, **디지털 신호를 눈으로 보이게 만들어 주는 분석 도구**입니다. 특히 어떤 장치가 내부적으로 어떤 디지털 통신을 쓰는지 추정하거나, 신호가 실제로 오가는지 확인하거나, 프로토콜을 디코딩해서 데이터 흐름을 파악하는 데 매우 강력합니다. 다만 **암호화 여부**는 신호를 캡처하는 것과 별개의 문제이므로, 캡처가 된다고 해서 내용까지 바로 해석된다고 보기는 어렵습니다. &lt;/pre&gt; &lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>	<category term="1097931" label="디버깅 장비" />	<category term="Logic Analyzer"/><category term="로직 애널라이저"/>	</entry><entry>
		<title>하드웨어 공부를 위한 장비 구매.....</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/1089876"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/1089876#comment"/>		<id>https://autolabs.co.kr/board_embeded/1089876</id>
		<published>2026-04-17T17:01:19+09:00</published>
		<updated>2026-04-18T07:25:34+09:00</updated>
		<author>
			<name>Algorithm</name>
		</author>
		<summary type="text">요즘 HID 관심이 많다보니 스푸핑쪽 제대로 각잡고 만들려고 하니 장비 구매 고민중이긴합니다. 아예 그냥 마우스 전문 수리점을 차리는것도?.....</summary>
	<content type="html">&lt;p&gt;&lt;img alt=&quot;image.png&quot; src=&quot;https://autolabs.co.kr/files/attach/images/1041277/876/089/001/447ecc0f2f707ee26819670fb89b002a.png&quot; /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;img alt=&quot;image.png&quot; src=&quot;https://autolabs.co.kr/files/attach/images/1041277/876/089/001/c8cb30e591d32f279d8a8da8b736430b.png&quot; /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;요즘 HID 관심이 많다보니 스푸핑쪽 제대로 각잡고 만들려고 하니 장비 구매 고민중이긴합니다.&lt;/p&gt; &lt;p&gt;아예 그냥 마우스 전문 수리점을 차리는것도?.....&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;</content>	<category term="1097931" label="디버깅 장비" />		</entry><entry>
		<title>피코 제로 대량 주문</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/1088353"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/1088353#comment"/>		<id>https://autolabs.co.kr/board_embeded/1088353</id>
		<published>2026-03-17T10:06:11+09:00</published>
		<updated>2026-03-20T02:54:07+09:00</updated>
		<author>
			<name>Algorithm</name>
		</author>
		<summary type="text">다행이도 불량 난건 택배로 보내준다고 해서 받는김에 재주문 했습니다. 이번에도 과연 불량이 몇개가 나올것인가 개당 3290원 이네요. 확실히 아두이노 보다는 성능이 훨씬 좋네요.</summary>
	<content type="html">&lt;p&gt;&lt;img alt=&quot;캡처.PNG&quot; src=&quot;https://autolabs.co.kr/files/attach/images/1041277/353/088/001/7bdb788403f33446522ac9dbf9c58e72.png&quot; /&gt;&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;다행이도 불량 난건 택배로 보내준다고 해서 받는김에 재주문 했습니다.&lt;/p&gt; &lt;p&gt;이번에도 과연 불량이 몇개가 나올것인가&lt;/p&gt; &lt;p&gt;개당 3290원 이네요.&lt;/p&gt; &lt;p&gt;확실히 아두이노 보다는 성능이 훨씬 좋네요.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt; &lt;/p&gt;</content>	<category term="1097913" label="Raspberry Pi" />		</entry><entry>
		<title>피코 제로 초기불량 당첨</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/1088293"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/1088293#comment"/>		<id>https://autolabs.co.kr/board_embeded/1088293</id>
		<published>2026-03-15T14:03:43+09:00</published>
		<updated>2026-03-15T18:17:22+09:00</updated>
		<author>
			<name>Algorithm</name>
		</author>
		<summary type="text">테스트용으로 2대 구매했으나 1대 초기불량 당첨 아두이노 구매했었을때는 불량 하나도 없었는데 불량 나온건 처음이네요. 너무 싼거 사서 그런가.....</summary>
	<content type="html">&lt;p&gt;&lt;img alt=&quot;IMG_2855.jpeg&quot; src=&quot;https://autolabs.co.kr/files/attach/images/1041277/293/088/001/5fe0418d0e82bc2f05db8a904cf842b9.jpeg&quot; /&gt;&lt;/p&gt; &lt;p&gt;테스트용으로 2대 구매했으나 1대 초기불량 당첨&lt;/p&gt; &lt;p&gt;아두이노 구매했었을때는 불량 하나도 없었는데&lt;/p&gt; &lt;p&gt;불량 나온건 처음이네요.&lt;/p&gt; &lt;p&gt;너무 싼거 사서 그런가.....&lt;/p&gt;</content>	<category term="1097913" label="Raspberry Pi" />		</entry><entry>
		<title>chrome dino bot</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/1080563"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/1080563#comment"/>		<id>https://autolabs.co.kr/board_embeded/1080563</id>
		<published>2025-06-22T17:17:56+09:00</published>
		<updated>2025-06-23T18:44:08+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text"></summary>
	<content type="html">&lt;img class=&quot;xe-MultimediaThumb&quot; src=&quot;http://i1.ytimg.com/vi/2HEF2_I-2KA/hqdefault.jpg&quot; alt=&quot;youtube:2HEF2_I-2KA&quot; /&gt; &lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/2HEF2_I-2KA?si=239ue64-Dsr4smPr&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;&lt;/iframe&gt;</content>	<category term="1097817" label="Arduino" />		</entry><entry>
		<title>윈11용 CP2102 USB-UART 변환기 드라이버 설치 관련 자료</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/1071113"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/1071113#comment"/>		<id>https://autolabs.co.kr/board_embeded/1071113</id>
		<published>2024-06-15T22:26:42+09:00</published>
		<updated>2024-07-20T08:06:23+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">HID 키보드/마우스 제어 솔루션을 만들기 위해 조사한 자료를 정리해봅니다. 윈11에서는 CP2102 USB-UART 변환기 드라이버 설치에 문제가 많아 수집한 자료입니다. 드라이버 https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads CP210x_Universal_Windows_Driver.zip</summary>
	<content type="html">&lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; style=&quot;width:500px;&quot;&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;&lt;img alt=&quot;스크린샷 2024-06-15 224447.png&quot; src=&quot;https://autolabs.co.kr/files/attach/images/1041277/113/071/001/734c7b5cd6844b8b868146fd385ed356.png&quot; /&gt;&lt;/td&gt; &lt;td&gt;&lt;img alt=&quot;스크린샷 2024-06-15 222911.png&quot; src=&quot;https://autolabs.co.kr/files/attach/images/1041277/113/071/001/34604558dd0e9dbee315e7e5ed0b6dc8.png&quot; style=&quot;vertical-align: middle;&quot; /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;HID 키보드/마우스 제어 솔루션을 만들기 위해 조사한 자료를 정리해봅니다.&lt;/p&gt; &lt;p&gt;윈11에서는&amp;nbsp;CP2102 USB-UART 변환기 드라이버 설치에 문제가 많아 수집한 자료입니다.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;iframe allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;315&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; src=&quot;https://www.youtube.com/embed/r_eMEXvt0v0?si=tqbGrU8A15GTxhok&quot; title=&quot;YouTube video player&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;드라이버&lt;/p&gt; &lt;p&gt;https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads&lt;/p&gt; &lt;p&gt;&lt;a data-file-srl=&quot;1071114&quot; href=&quot;/index.php?module=file&amp;amp;act=procFileDownload&amp;amp;file_srl=1071114&amp;amp;sid=4cea41b2f21374dd3c7f6a0b8cc85c5b&quot;&gt;CP210x_Universal_Windows_Driver.zip&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;</content>	<category term="1097932" label="UART" />		</entry><entry>
		<title>무료용 아두이노 매크로 펌웨어를 만들어서 공개합니다.</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/971780"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/971780#comment"/>		<id>https://autolabs.co.kr/board_embeded/971780</id>
		<published>2021-07-23T16:00:40+09:00</published>
		<updated>2022-02-28T14:54:45+09:00</updated>
		<author>
			<name>윈포에버</name>
		</author>
		<summary type="text">안녕하세요, 벌써 두달여의 시간이 지났네요.. 아두이노 절대좌표이동문제 해결했다고, 글을 올린뒤 차일피일 미뤄오다가 드디어 무료버젼을 공개하게 되었습니다. 무료버젼은 따른게 아니라 1회에 사용하실수 있는 30분의 시간제한이 있습니다. 30분이 넘으면 자동으로 정지모드로 들어가게 되고, 다시 이용을 위해서는 아두이노의 리셋버튼을 눌러서 이용하시면 계속해서 사용하실수가 있습니다. 30분의 시간제한이 불편하신분들...</summary>
	<content type="html">&lt;p&gt;안녕하세요, 벌써 두달여의 시간이 지났네요..&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;아두이노 절대좌표이동문제 해결했다고, 글을 올린뒤 차일피일 미뤄오다가 드디어 무료버젼을 공개하게 되었습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;무료버젼은 따른게 아니라 1회에 사용하실수 있는 30분의 시간제한이 있습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;30분이 넘으면 자동으로 정지모드로 들어가게 되고, 다시 이용을 위해서는 아두이노의 리셋버튼을 눌러서 이용하시면 계속해서&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;사용하실수가 있습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;30분의 시간제한이 불편하신분들께서는 개발하느라 수고한 개발자에게 피자한판값 후원해 주시면 언제든지 불편함을 해결해 드리겠습니다. ^^&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;여기에 파일공개는 어려운것 같고, 제 블로그 주소를 남겨놓습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;필요하신분들께서는 참조하시면 될것 같습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://url.kr/3uyd4w&quot; target=&quot;_blank&quot;&gt;https://url.kr/3uyd4w&lt;/a&gt;&lt;/p&gt;</content>	<category term="1097817" label="Arduino" />	<category term="무료용"/><category term="아두이노"/><category term="매크로"/><category term="펌웨어를"/><category term="만들어서"/><category term="공개합니다."/>	</entry><entry>
		<title>아두이노로 마우스 절대좌표이동 구현했습니다.(글밑에 동영상링크 첨부)</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/950458"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/950458#comment"/>		<id>https://autolabs.co.kr/board_embeded/950458</id>
		<published>2021-05-09T14:02:29+09:00</published>
		<updated>2022-02-28T14:54:29+09:00</updated>
		<author>
			<name>윈포에버</name>
		</author>
		<summary type="text">안녕하세요! 40대 중반을 넘어서고 경남에 살고 있는 아재입니다. ^^ 매크로 관련한 사이트가 오토랩과 테일스타 사이트가 있다는건 얼마되지 않았고,,,오토랩은 오늘 가입하게 되었습니다. 다름이 아니라, 제가 20-30대때는 소프웨어적으로 매크로를 직접 코딩해서 돌리고 했었는데 요즘은 소프트웨어 방식은 거의 불가능하게 되었더군요. 그래서 알아보던 중에, 지X오토, HID스틱, 일부 아두이노로 하드웨어 방식으로 매크로 돌린...</summary>
	<content type="html">&lt;div class=&quot;document_950448_950378 xe_content&quot;&gt; &lt;p&gt;안녕하세요!&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;40대 중반을 넘어서고 경남에 살고 있는 아재입니다. ^^&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;매크로 관련한 사이트가 오토랩과 테일스타 사이트가 있다는건 얼마되지 않았고,,,오토랩은 오늘 가입하게 되었습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;다름이 아니라, 제가 20-30대때는 소프웨어적으로 매크로를 직접 코딩해서 돌리고 했었는데 요즘은 소프트웨어 방식은 거의 불가능하게 되었더군요.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;그래서 알아보던 중에, 지X오토, HID스틱, 일부 아두이노로 하드웨어 방식으로 매크로 돌린다는걸 알게 되었습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;지X오토, HID스틱은 가격이 만만치가 않고, 아두이노는 레오나르도 보드가 몇천원 하지 않아서 구매를 하고, 직접 코딩을 해보았습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;제가 한때 프로그래머다보니, 아두이노 레오나르도를 구매를 해서 코딩을 해서 구현을 해보니 문제가 마우스 좌표이동이 절대좌표방식으로는 불가능하더군요. 몇몇 외부라이브러리가 있긴 한데,,거의 안된다고 보면 되더군요...&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;그래서 그냥 제가 직접 코딩을 하고 몇일동안 아두이노 스캐치로 직접 로직을 구현했습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;결과는 글제목처럼 성공을 했습니다. 기존의 소프트웨어직인 방식으로 마우스컨트롤 하는 속도와 대동소이하게 나오고,&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;제가 구현한 로직으로 사람과 비슷한 마우스 움직임까지 구현할수 있도록 설정옵션도 구현을 했습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;그리고 마우스 절대좌표 이동시 목적지점과 좌표 오차값이 1픽셀차이이내였습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;그리고, 오토핫키, 파이썬, C#, 카카오토, NGM매크로, 기타매크로등 어떤 랭귀지로도 아두이노를 컨트롤 할수 있도록 commandline 명령어 툴로 제어 가능하도록 하였습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;오토랩에 제가 글을 쓴이유는 혼자서 쓰기는 그렇고, 필요한 수요가 있다면 같이 공동구매형식이나 아두이노 레오나르도 판매업자분이 계신다면 제가 기술지원을 하고, 판매를 해보는것은 어떨지 궁금해서 매크로 전문가분들이 많이 계시는 오토랩에 글을 적게 되었습니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;아! 한가지는 아두이노스케치에 코딩되어 있는 소스는 공개하지 않을 예정입니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;긴글 읽어주셔서 감사드리고, 관심 계시는분들이나 전문가님들 쪽지나 답변부탁드립니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;아래는 시연동영상 링크 입니다.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://serviceapi.nmv.naver.com/flash/convertIframeTag.nhn?vid=63395AE12B0BACEFEC413A905DE32A8E5663&amp;amp;outKey=V12958975f1a04fc60dfd376ceb8a62f5cee19f5e17673de463e3376ceb8a62f5cee1&amp;amp;width=544&amp;amp;height=306&quot;&gt;https://serviceapi.nmv.naver.com/flash/convertIframeTag.nhn?vid=63395AE12B0BACEFEC413A905DE32A8E5663&amp;amp;outKey=V12958975f1a04fc60dfd376ceb8a62f5cee19f5e17673de463e3376ceb8a62f5cee1&amp;amp;width=544&amp;amp;height=306&lt;/a&gt;&lt;/p&gt; &lt;/div&gt;</content>	<category term="1097817" label="Arduino" />	<category term="아두이노"/><category term="아두이노 매크로"/><category term="아두이노 HID"/><category term="절대좌표"/><category term="HID"/><category term="오토핫티"/><category term="지존오토"/><category term="NGM"/>	</entry><entry>
		<title>아두이노HID+오토핫키 조합...</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/409090"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/409090#comment"/>		<id>https://autolabs.co.kr/board_embeded/409090</id>
		<published>2015-11-19T10:29:28+09:00</published>
		<updated>2017-07-07T13:04:36+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">아두이노HID+오토핫키 조합을 사용하면... 코딩을 조금 하실줄 아는분들은....어쩌면...지존오토보다 더 저렴한 가격에 만능자동화도구를 얻으실수 있으실듯하네요.... 물론 프로그램 최적화 정도에 따라 다르겠지만..말이죠... 이거 컨텐츠 샵에서 강좌 판매 한번 해볼까용?ㅎㅎ</summary>
	<content type="html">&lt;p&gt;&lt;span style=&quot;font-size: 13px; line-height: 19.5px;&quot;&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 13px; line-height: 19.5px;&quot;&gt;아두이노HID+오토핫키 조합을 사용하면...&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 13px; line-height: 19.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 13px; line-height: 19.5px;&quot;&gt;코딩을 조금 하실줄 아는분들은....어쩌면...지존오토보다 더 저렴한 가격에&amp;nbsp;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 13px; line-height: 19.5px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;만능자동화도구를 얻으실수 있으실듯하네요....&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;물론 프로그램 최적화 정도에 따라 다르겠지만..말이죠...&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;이거 컨텐츠 샵에서 강좌 판매 한번 해볼까용?ㅎㅎ&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;font-size: 13px; line-height: 19.5px;&quot;&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt;</content>	<category term="1097817" label="Arduino" />	<category term="아두이노HID+오토핫키"/><category term="조합..."/>	</entry><entry>
		<title>시리얼 통신 공부중</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/348609"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/348609#comment"/>		<id>https://autolabs.co.kr/board_embeded/348609</id>
		<published>2015-04-29T12:40:43+09:00</published>
		<updated>2015-04-30T09:33:39+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">아두이노를 받고, ahk로 간단하게 테스트 해본후, MFC를 이용해서 아두이노와 시리얼통신을 공부중입니다. 인터넷에 있는 예제들은 대부분 CString으로 주고받고 하더라구요.. 그래서 저는 BYTE로 안정성있게 통신하는 방식으로 개발중입니다. 일단은 RS232라는걸 공부해서 해보고 있는데. 재밌네요!</summary>
	<content type="html">&lt;p&gt;아두이노를 받고, ahk로 간단하게 테스트 해본후,&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;MFC를 이용해서 아두이노와 시리얼통신을 공부중입니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;인터넷에 있는 예제들은 대부분 CString으로 주고받고 하더라구요..&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;그래서 저는 BYTE로 안정성있게 통신하는 방식으로 개발중입니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;일단은 RS232라는걸 공부해서 해보고 있는데. 재밌네요!&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content>	<category term="1097817" label="Arduino" />		</entry><entry>
		<title>혹시 아두이노 dll관련</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/347795"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/347795#comment"/>		<id>https://autolabs.co.kr/board_embeded/347795</id>
		<published>2015-04-17T14:58:39+09:00</published>
		<updated>2015-10-21T15:51:00+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">제가 현재 ahk로 사용하고 있는 라이브러리는 아두이노.ahk와 시리얼.ahk 두개를 사용하고 있습니다. ahk같은 경우 어떤형태로 든 간에 디컴파일이 가능해서...소스 추출이 쉽다는 단점때문에.. MFC로 한번 변환을 해볼까 하는데...혹시 아두이노 통신 라이브러리 중에서 DLL화 되어 있는것들이 있을까요? 아니면 ahk파일을 Lib, Dll같이 변환하는 작업이 가능할까요?</summary>
	<content type="html">&lt;p&gt;제가 현재 ahk로 사용하고 있는 라이브러리는 아두이노.ahk와 시리얼.ahk 두개를 사용하고 있습니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;ahk같은 경우 어떤형태로 든 간에 디컴파일이 가능해서...소스 추출이 쉽다는 단점때문에..&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;MFC로 한번 변환을 해볼까 하는데...혹시 아두이노 통신 라이브러리 중에서 DLL화 되어 있는것들이 있을까요?&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;아니면 ahk파일을 Lib, Dll같이 변환하는 작업이 가능할까요?&lt;/p&gt;</content>	<category term="1097817" label="Arduino" />		</entry><entry>
		<title>hello 아두이노!</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/347661"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/347661#comment"/>		<id>https://autolabs.co.kr/board_embeded/347661</id>
		<published>2015-04-16T22:32:05+09:00</published>
		<updated>2015-10-21T15:49:02+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">방금 받자마자 조금 코딩을 해보았는데요... 생각만큼은 아니지만..Hello를 찍어보았습니다. 실행순서는 F1키를 누르면 아두이노가 h를 찍어줍니다. F2키를 누르면 아두이노가 e를 찍어줍니다. F3키를 누르면 아두이노가 l를 찍어줍니다. F4키를 누르면 아두이노가 o를 찍어줍니다. 일단은 밑조사한 방법대로..아두이노 스케치(펌)소스를 작성해서 보드에 업로드를 시킵니다. 그리고 시리얼 및 아두이노 라이브러리를 이용해서 ahk ...</summary>
	<content type="html">&lt;p&gt;방금 받자마자 조금 코딩을 해보았는데요...&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;생각만큼은 아니지만..Hello를 찍어보았습니다.&lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;https://autolabs.co.kr/files/attach/images/8458/661/347/17cd639f8c1da987c98af0fa5786d608.JPG&quot; alt=&quot;캡처.JPG&quot; width=&quot;578&quot; height=&quot;257&quot; /&gt; &lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style=&quot;text-align: center;&quot;&gt; &lt;iframe width=&quot;480&quot; height=&quot;360&quot; src=&quot;https://www.youtube.com/embed/i54OtCm2dFw?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt; &lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style=&quot;line-height: 1.5;&quot;&gt;실행순서는&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;F1키를 누르면 아두이노가 h를 찍어줍니다.&lt;/p&gt; &lt;p&gt;F2키를 누르면 아두이노가 e를 찍어줍니다.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;F3키를 누르면 아두이노가 l를 찍어줍니다.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;F4키를 누르면 아두이노가 o를 찍어줍니다.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;일단은 밑조사한 방법대로..아두이노 스케치(펌)소스를 작성해서 보드에 업로드를 시킵니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;그리고 시리얼 및 아두이노 라이브러리를 이용해서 ahk 소스를 작성하여 컴파일...그리고 실행&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;일단 오늘 목표는 달성한듯 합니다 ㅎ&lt;/p&gt; &lt;p&gt;&lt;/p&gt;</content>	<category term="1097817" label="Arduino" />		</entry><entry>
		<title>아두이노 환경설정 참고 - 펌</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/347551"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/347551#comment"/>		<id>https://autolabs.co.kr/board_embeded/347551</id>
		<published>2015-04-16T09:53:49+09:00</published>
		<updated>2022-01-25T15:40:59+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">구글링하다가 좋은 자료를 찾아서 공유해봅니다. 기본적으로 아두이노에 처음 접근하시는 분이라면...많은 도움이 될듯합니다. 뻔뻔한 아두이노 ŰƮ 매뉴얼 Ver2-1.pdf</summary>
	<content type="html">&lt;p&gt;구글링하다가 좋은 자료를 찾아서 공유해봅니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;기본적으로 아두이노에 처음 접근하시는 분이라면...많은 도움이 될듯합니다.&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;https://autolabs.co.kr/?module=file&amp;amp;act=procFileDownload&amp;amp;file_srl=347552&amp;amp;sid=24f84ac785908022503944bb4dccf6eb&amp;amp;module_srl=8458&quot;&gt;뻔뻔한 아두이노 ŰƮ 매뉴얼 Ver2-1.pdf&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;</content>	<category term="1097817" label="Arduino" />		</entry><entry>
		<title>오핫 시리얼 통신</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/347291"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/347291#comment"/>		<id>https://autolabs.co.kr/board_embeded/347291</id>
		<published>2015-04-14T17:14:21+09:00</published>
		<updated>2016-03-26T22:30:16+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">출처 ㅣ http://forum.arduino.cc/index.php?topic=128566.0 아두이노와 오핫과의 시리얼 통신부분을 좀 찾아봤는데요.. 혹시 여기서 이야기하는 스케치 스크립트라는것이 Firm 소스를 얘기하는건가요? ahk 스크립트 : ; ; AutoHotkey Version: 1.x ; Language: English ; Platform: Windows XP +?? ; Author: ahklerner / kruzan ; ; Script Function: ; Arduino GUI Example ; ; set some defaults #NoEnv ; Recommended for perf...</summary>
	<content type="html">&lt;p&gt;출처 ㅣ&amp;nbsp;&lt;a href=&quot;http://forum.arduino.cc/index.php?topic=128566.0&quot; target=&quot;_blank&quot;&gt;http://forum.arduino.cc/index.php?topic=128566.0&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;아두이노와 오핫과의 시리얼 통신부분을 좀 찾아봤는데요..&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;혹시 여기서 이야기하는 스케치 스크립트라는것이 Firm 소스를 얘기하는건가요?&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;ahk 스크립트 :&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;table style=&quot;background:#CCCCCC;border-spacing:1px&quot; cellspacing=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr style=&quot;background:#F7E2D2&quot;&gt;&lt;td&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; AutoHotkey Version: 1.x&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; Language:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;English&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; Platform:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Windows XP +??&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; Author:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ahklerner / kruzan&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; Script Function:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;Arduino GUI Example&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; set some defaults&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;#NoEnv&amp;nbsp; ; Recommended for performance and compatibility with future AutoHotkey releases.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;SendMode Input&amp;nbsp; ; Recommended for new scripts due to its superior speed and reliability.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;SetWorkingDir %A_ScriptDir%&amp;nbsp; ; Ensures a consistent starting directory.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; serial settings&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;ARDUINO_Port&amp;nbsp; &amp;nbsp; &amp;nbsp;= COM10&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;ARDUINO_Baud&amp;nbsp; &amp;nbsp; &amp;nbsp;= 9600&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;ARDUINO_Parity&amp;nbsp; &amp;nbsp;= N&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;ARDUINO_Data&amp;nbsp; &amp;nbsp; &amp;nbsp;= 8&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;ARDUINO_Stop&amp;nbsp; &amp;nbsp; &amp;nbsp;= 1&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; setup arduino serial communication&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;arduino_setup(start_polling_serial:=false)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; *****************GUI CODE***************&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;^s::&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;arduino_send(&quot;on&quot;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;;*************************************************************************************&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; *****Do not edit below this line unless you want to change the core functionality of the script*****&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;;*************************************************************************************&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; called when the gui is closed&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;;also called when program exits&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;GuiClose:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;OnExit:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; make sure to cleanly shut down serial port on exit&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;box-sizing: border-box; color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;arduino_close()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;; this is important!! or else theprogram does not end when closed&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;ExitApp&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;#include %A_ScriptDir%\include\Arduino.ahk&lt;/span&gt;&amp;nbsp;&lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;아두이노 스케치(Firm?) 스크립트 :&amp;nbsp;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;table style=&quot;background:#CCCCCC;border-spacing:1px&quot; cellspacing=&quot;1&quot;&gt;&lt;tbody&gt;&lt;tr style=&quot;background:#EDF2C2&quot;&gt;&lt;td&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; Blink&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; Turns on an LED on for one second, then off for one second, repeatedly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; This example code is in the public domain.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;// Pin 13 has an LED connected on most Arduino boards.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;// give it a name:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;char serialIn[20];&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;char holder = -1;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;// the setup routine runs once when you press reset:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;void setup() {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; // initialize the digital pin as an output.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; pinMode(8, OUTPUT);&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;digitalWrite(8, LOW);&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; pinMode(9, OUTPUT);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; Serial.begin(9600);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;// the loop routine runs over and over again forever:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;void loop() {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; int index = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; while (Serial.available() &amp;gt; 0)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; &amp;nbsp; if (index &amp;lt; 19)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; holder = Serial.read();&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; serialIn[index] = holder;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;index++;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; serialIn[index] = &#039;\0&#039;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; Serial.println(serialIn);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; if (strcmp(serialIn, &quot;on&quot;) == 0)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; digitalWrite(9, HIGH);&amp;nbsp; &amp;nbsp;// turn the LED on (HIGH is the voltage level)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; delay(1000);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// wait for a second&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; else&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; {&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; digitalWrite(9, LOW);&amp;nbsp; &amp;nbsp; // turn the LED off by making the voltage LOW&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; delay(1000);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// wait for a second&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(34, 34, 34); font-family: &#039;DejaVu Sans Mono&#039;, Monaco, Consolas, monospace; font-size: 13.2294721603394px; line-height: 20.5791778564453px; white-space: nowrap; background-color: rgb(255, 255, 255);&quot;&gt;}&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;a href=&quot;http://forum.arduino.cc/index.php?topic=128566.0&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/p&gt;</content>	<category term="1097817" label="Arduino" />		</entry><entry>
		<title>USB-Keyboard, Mouse 에뮬레이션 하기 - 펌</title>
		<link rel="alternate" type="text/html" href="https://autolabs.co.kr/board_embeded/347206"/>
	<link rel="replies" type="text/html" href="https://autolabs.co.kr/board_embeded/347206#comment"/>		<id>https://autolabs.co.kr/board_embeded/347206</id>
		<published>2015-04-13T17:54:10+09:00</published>
		<updated>2016-01-14T10:41:07+09:00</updated>
		<author>
			<name>오토소장</name>
		</author>
		<summary type="text">출처 : http://arduinomidi.com/xe/BlogBoard/40820 by Kody posted Dec 05, 2013 Replies 2 ? +-UpDownCommentPrintFiles ? +-UpDownCommentPrintFiles 1. 아두이노 레오나르도 특징 2. 아두이노 보드의 차이점 정리 3. USB-Keyboard, Mouse 에뮬레이션 하기 4. 레오나르도 부트로더를 이용하여 Atmel Studio에서 만든 펌웨어를 올리기 5. USB-Joystick 에뮬레이션 하기 6. USB-MIDI 사용하기 7. C#과 통신하여 LED 깜빡이고 스위...</summary>
	<content type="html">&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;출처 :&amp;nbsp;&lt;a href=&quot;http://arduinomidi.com/xe/BlogBoard/40820&quot; target=&quot;_blank&quot;&gt;http://arduinomidi.com/xe/BlogBoard/40820&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;rd_hd clear&quot; data-url=&quot;http://arduinomidi.com/xe/40820&quot; style=&quot;margin: 0px 0px 60px; padding: 0px; position: relative; clear: both; color: rgb(68, 68, 68); font-family: &#039;Segoe UI&#039;, Meiryo, 나눔고딕, NanumGothic, ng, &#039;맑은 고딕&#039;, &#039;Malgun Gothic&#039;, 돋움, Dotum, AppleGothic, sans-serif; font-size: 13px; line-height: 19.5px;&quot;&gt;&lt;div class=&quot;blog v&quot; style=&quot;margin: 0px; padding: 13px 22.875px; border-top-width: 3px; border-top-style: solid; border-top-color: rgb(51, 51, 51); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(102, 102, 102);&quot;&gt;&lt;h1 class=&quot;font ngeb&quot; style=&quot;margin: 0.85em 4px 1em; padding: 0px; font-size: 2.3em; letter-spacing: -1px; line-height: 1; font-family: &#039;Segoe UI&#039;, Meiryo, &#039;나눔고딕 ExtraBold&#039;, &#039;NanumGothic ExtraBold&#039;, ngeb, &#039;맑은 고딕&#039;, &#039;Malgun Gothic&#039;, 나눔고딕, NanumGothic, ng, &#039;Trebuchet MS&#039;, 돋움, dotum, AppleGothic, sans-serif; -webkit-text-stroke-width: 0.25px; -webkit-animation-duration: 2s; -webkit-animation-timing-function: ease-in-out; -webkit-animation-name: rd_h1_v;&quot;&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;아두이노 &quot; style=&quot;width: 120px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;레오나르도 &quot; style=&quot;width: 146px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;163&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 163px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;활용 &quot; style=&quot;width: 66px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;83&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 83px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;- &quot; style=&quot;width: 28px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;45&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 45px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;3. &quot; style=&quot;width: 37px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;54&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 54px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;USB-Keyboard, &quot; style=&quot;width: 222px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;238&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 238px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;Mouse &quot; style=&quot;width: 101px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;118&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 118px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;에뮬레이션 &quot; style=&quot;width: 146px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;163&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 163px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;cufon class=&quot;cufon cufon-canvas&quot; alt=&quot;하기&quot; style=&quot;width: 54px; height: 29.8999996185303px; display: inline-block !important; position: relative !important; vertical-align: middle !important; font-size: 1px !important; line-height: 1px !important;&quot;&gt;&lt;canvas width=&quot;56&quot; height=&quot;30&quot; style=&quot;position: relative !important; width: 56px; height: 30px; top: 0px; left: 0px;&quot;&gt;&lt;/canvas&gt;&lt;cufontext style=&quot;display: inline-block !important; width: 0px !important; height: 0px !important; overflow: hidden !important; text-indent: -10000in !important;&quot;&gt;&lt;/cufontext&gt;&lt;/cufon&gt;&lt;/h1&gt;&lt;div class=&quot;btm_area ngeb np_18px&quot; style=&quot;margin: 0px; padding: 0px; font-weight: bold; font-family: &#039;Segoe UI&#039;, Meiryo, &#039;나눔고딕 ExtraBold&#039;, &#039;NanumGothic ExtraBold&#039;, ngeb, &#039;맑은 고딕&#039;, &#039;Malgun Gothic&#039;, 나눔고딕, NanumGothic, ng, &#039;Trebuchet MS&#039;, 돋움, dotum, AppleGothic, sans-serif;&quot;&gt;&lt;span style=&quot;padding: 0px 6px 16px; font-size: 12px; color: rgb(119, 119, 119); display: inline-block; text-shadow: rgba(0, 0, 0, 0.0784314) 0px 1px 0px;&quot;&gt;&lt;small style=&quot;color: rgb(170, 170, 170); padding-right: 2px; font-weight: normal; font-style: italic; font-size: 12px;&quot;&gt;by&amp;nbsp;&lt;/small&gt;&lt;strong style=&quot;letter-spacing: 0px;&quot;&gt;Kody&lt;/strong&gt;&lt;/span&gt; &lt;span title=&quot;2013.12.05 15:28&quot; style=&quot;padding: 0px 6px 16px; font-size: 12px; color: rgb(119, 119, 119); display: inline-block; text-shadow: rgba(0, 0, 0, 0.0784314) 0px 1px 0px;&quot;&gt;&lt;small style=&quot;color: rgb(170, 170, 170); padding-right: 2px; font-weight: normal; font-style: italic; font-size: 12px;&quot;&gt;posted&amp;nbsp;&lt;/small&gt;&lt;strong class=&quot;date&quot; style=&quot;letter-spacing: 0px; font-variant: small-caps; font-size: 1em;&quot;&gt;Dec 05, 2013&lt;/strong&gt;&lt;/span&gt; &lt;span style=&quot;padding: 0px 6px 16px; font-size: 12px; color: rgb(119, 119, 119); display: inline-block; text-shadow: rgba(0, 0, 0, 0.0784314) 0px 1px 0px;&quot;&gt;&lt;small style=&quot;color: rgb(170, 170, 170); padding-right: 2px; font-weight: normal; font-style: italic; font-size: 12px;&quot;&gt;Replies&lt;/small&gt;&amp;nbsp;&lt;strong style=&quot;letter-spacing: 0px;&quot;&gt;2&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;rd_nav img_tx fr m_btn_wrp&quot; style=&quot;margin: 15px 11px 0px; padding: 0px; float: right; position: relative; border: 1px solid rgb(211, 211, 211); border-radius: 4px; background: rgb(252, 252, 252);&quot;&gt;&lt;div class=&quot;help bubble left m_no&quot; style=&quot;margin: 0px; padding: 0px; position: relative; float: left; cursor: help;&quot;&gt;&lt;a class=&quot;text&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#&quot; style=&quot;outline: none; text-decoration: none; color: rgb(153, 153, 153); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; display: inline-block; width: 16px; font-weight: bold; font-family: Georgia, &#039;Times New Roman&#039;, Times, serif; text-align: center; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;a class=&quot;font_plus bubble&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#&quot; title=&quot;크게&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-zoomin&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -128px -112px; background-repeat: no-repeat;&quot;&gt;+&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;font_minus bubble&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#&quot; title=&quot;작게&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-zoomout&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -144px -112px; background-repeat: no-repeat;&quot;&gt;-&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;back_to bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#bd&quot; title=&quot;위로&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-arrow-1-n&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: 0px -32px; background-repeat: no-repeat;&quot;&gt;Up&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;back_to bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#rd_end_40820&quot; title=&quot;(목록) 아래로&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-arrow-1-s&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -64px -32px; background-repeat: no-repeat;&quot;&gt;Down&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;comment back_to bubble if_viewer m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#comment&quot; title=&quot;댓글로 가기&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-comment&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -128px -96px; background-repeat: no-repeat;&quot;&gt;Comment&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;print_doc bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/index.php?mid=BlogBoard&amp;amp;document_srl=40820&amp;amp;listStyle=viewer&quot; title=&quot;인쇄&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-print&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -160px -96px; background-repeat: no-repeat;&quot;&gt;Print&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;file back_to bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#files_40820&quot; title=&quot;첨부파일&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-disk&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -96px -112px; background-repeat: no-repeat;&quot;&gt;Files&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;rd_nav_side m_no&quot; style=&quot;margin: 0px; padding: 0px; position: absolute; z-index: 100; right: 0px;&quot;&gt;&lt;div class=&quot;rd_nav img_tx fr m_btn_wrp&quot; style=&quot;margin: 0px; padding: 0px; float: right; position: fixed; border: 1px solid rgb(211, 211, 211); border-radius: 4px; bottom: 13px; width: 28px; background: rgb(252, 252, 252);&quot;&gt;&lt;div class=&quot;help bubble left m_no&quot; style=&quot;margin: 0px; padding: 0px; position: relative; float: left; cursor: help;&quot;&gt;&lt;a class=&quot;text&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#&quot; style=&quot;outline: none; text-decoration: none; color: rgb(153, 153, 153); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; display: inline-block; width: 16px; font-weight: bold; font-family: Georgia, &#039;Times New Roman&#039;, Times, serif; text-align: center; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;?&lt;/a&gt;&lt;/div&gt;&lt;a class=&quot;font_plus bubble&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#&quot; title=&quot;크게&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-zoomin&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -128px -112px; background-repeat: no-repeat;&quot;&gt;+&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;font_minus bubble&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#&quot; title=&quot;작게&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-zoomout&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -144px -112px; background-repeat: no-repeat;&quot;&gt;-&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;back_to bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#bd&quot; title=&quot;위로&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-arrow-1-n&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: 0px -32px; background-repeat: no-repeat;&quot;&gt;Up&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;back_to bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#rd_end_40820&quot; title=&quot;(목록) 아래로&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-arrow-1-s&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -64px -32px; background-repeat: no-repeat;&quot;&gt;Down&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;comment back_to bubble if_viewer m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#comment&quot; title=&quot;댓글로 가기&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-comment&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -128px -96px; background-repeat: no-repeat;&quot;&gt;Comment&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;print_doc bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/index.php?mid=BlogBoard&amp;amp;document_srl=40820&amp;amp;listStyle=viewer&quot; title=&quot;인쇄&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-print&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -160px -96px; background-repeat: no-repeat;&quot;&gt;Print&lt;/strong&gt;&lt;/a&gt;&lt;a class=&quot;file back_to bubble m_no&quot; href=&quot;http://arduinomidi.com/xe/BlogBoard/40820#files_40820&quot; title=&quot;첨부파일&quot; style=&quot;outline: none; position: relative; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s; float: left; padding: 6px; font-size: 12px; line-height: 16px; letter-spacing: -1px;&quot;&gt;&lt;strong class=&quot;ui-icon ui-icon-disk&quot; style=&quot;display: inline-block; text-indent: -100px; overflow: hidden; width: 16px; height: 16px; letter-spacing: 0px; font-size: 0px; line-height: 0; vertical-align: top; transition: all 0.3s; -webkit-transition: all 0.3s; background-image: url(http://arduinomidi.com/xe/common/js/plugins/ui/images/ui-icons_888888_256x240.png); background-position: -96px -112px; background-repeat: no-repeat;&quot;&gt;Files&lt;/strong&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;rd_body clear&quot; style=&quot;margin: 0px 0px 30px; padding: 0px; position: relative; clear: both; color: rgb(68, 68, 68); font-family: &#039;Segoe UI&#039;, Meiryo, 나눔고딕, NanumGothic, ng, &#039;맑은 고딕&#039;, &#039;Malgun Gothic&#039;, 돋움, Dotum, AppleGothic, sans-serif; font-size: 13px; line-height: 19.5px;&quot;&gt;&lt;div class=&quot;document_40820_1645 xe_content&quot; style=&quot;margin: 0px; padding: 0px; font-size: 13px;&quot;&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;1. 아두이노 레오나르도 특징&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;2. 아두이노 보드의 차이점 정리&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;&lt;font color=&quot;#ff0000&quot;&gt;3. USB-Keyboard, Mouse 에뮬레이션 하기&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;4. 레오나르도 부트로더를 이용하여 Atmel Studio에서 만든 펌웨어를 올리기&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;5. USB-Joystick 에뮬레이션 하기&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;6. USB-MIDI 사용하기&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;7. C#과 통신하여 LED 깜빡이고 스위치값 읽어오기&lt;/strong&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;strong&gt;8. RN42를 이용하여 무선 블루투스아이패드와 안드로이드 게임 콘트롤러 만들기&lt;/strong&gt;&lt;/p&gt; &lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;p style=&quot;padding: 0px; font-size: 12px; font-family: Tahoma, sans-serif; line-height: 18px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;font size=&quot;4&quot; face=&quot;Tahoma, sans-serif&quot;&gt;&lt;span style=&quot;line-height: 27px;&quot;&gt;&lt;strong&gt;아두이노 레오나르도 USB라이브러리 기능&lt;/strong&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;hr style=&quot;border-style: solid; font-size: 12px; font-family: Tahoma, sans-serif; border-color: green; line-height: 18px; background-color: rgb(255, 255, 255);&quot; /&gt;&lt;p style=&quot;padding: 0px; font-size: 12px; font-family: Tahoma, sans-serif; line-height: 18px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-size: small; line-height: 19px;&quot;&gt;아두이노 레오나르도와 아두이노 우노의 가장 큰 차이점이라면 아두이노 레오나르도에는 USB라이브러리 기능이 기본 탑재되어 있다는 점 입니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;이 라이브러리는 사용자가 쉽게 아두이노 레오나르도을 사용하여 키보드나 마우스를 에뮬레이트 할 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;사용자가 아두이노 IDE는 기본적으로 USB 키보드, 마우스 기능을 탑재하고 있어, 아두이노 레오나르도에서 키보드나 마우스 기능을 사용할 수 있습니다. 기본 키보드 및 마우스 에뮬레이션 명령 중 일부를 아래에 설명 합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;strong style=&quot;font-size: large; font-family: Tahoma, sans-serif; line-height: 27px; background-color: rgb(255, 255, 255);&quot;&gt;마우스&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;hr style=&quot;border-style: solid; font-size: 12px; font-family: Tahoma, sans-serif; border-color: green; line-height: 18px; background-color: rgb(255, 255, 255);&quot; /&gt;&lt;p style=&quot;padding: 0px; font-size: 12px; font-family: Tahoma, sans-serif; line-height: 18px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-size: small; line-height: 19px;&quot;&gt;&lt;strong&gt;Mouse.begin() 과 Mouse.end()&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;begin()함수는 마우스 라이브러리를 초기화 하고 시작 합니다. 이것으로 레오나르도가 마우스로 작동을 시작 할 수 있습니다. end() 함수는 마우스 에뮬레이션을 중지합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Mouse.click()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;click()함수는 마우스의 클릭 기능 입니다. 기본적으로 마우스의 왼쪽 버튼 클릭을 에물레이션 하며, 인수로 다른 버튼 클릭 동작을 실행 할 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;MOUSE_LEFT – 마우스 왼쪽 버튼을 클릭 합니다.&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;MOUSE_RIGHT – 마우스 오른쪽 버튼을 클릭 합니다.&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;MOUSE_MIDDLE – 마우스 중앙 버튼을 클릭 합니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Mouse.move()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;Move() 함수는 레오나르도가 화면에 마우스 커서의 위치를 제어 하는데 사용 합니다. 이 함수는 3개의 정수타입 인수가 필요 합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;xVal – X축으로 마우스 포인터가 이동할 양을 정의 합니다.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;yVal – Y축으로 마우스 포인터가 이동할 양을 정의 합니다.&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;wheel – 휠스크롤에서 크롤될 값을 정의 합니다.&lt;/blockquote&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Mouse.press() 와 &amp;nbsp;Mouse.release()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;press()함수는 click() 함수와 비슷하게 작동합니다. 그러나 press()함수는 release()함수가 호출 되기전 까지, 선택된 버튼을 계속 누르고 있는 동작을 하게 됩니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;press() 및 release()함수는 기본족으로 마우스 왼쪽 버튼을 기본값으로 하지만, click() 함수처럼 인수를 통해 동작할 버튼을 지정 할 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Mouse.isPressed()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;isPressed() 함수는 해당버튼을 누르면 bool 값 (true 또는 false)을 반환 합니다. 기본적으로 왼쪽 버튼이 선택 되어 있지만, press(), release(), click()함수와 같이 인수를 통해서 동작할 버튼을 지정 할 수 있습니다. 이 함수로 해당버튼이 눌려 있는지 여부를 판별해 낼 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;strong style=&quot;font-size: large; font-family: Tahoma, sans-serif; line-height: 27px; background-color: rgb(255, 255, 255);&quot;&gt;키보드&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;hr style=&quot;border-style: solid; font-size: 12px; font-family: Tahoma, sans-serif; border-color: green; line-height: 18px; background-color: rgb(255, 255, 255);&quot; /&gt;&lt;p style=&quot;padding: 0px; font-size: 12px; font-family: Tahoma, sans-serif; line-height: 18px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-size: small; line-height: 19px;&quot;&gt;&lt;strong&gt;Keyboard.begin() 과 Keyboard.end()&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;키보드 라이브러리의 begin()과 end()함수는 마우스 라이브러리와 마찬가지로 키보드 에물레이션의 동작과 정지 기능을 가집니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Keyboard.press() 와 Keyboard.release()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;press() 및 release() 함수는 마우스 라이브러리에 있는 해당 함수와 유사하게 작동합니다. 그러나 사용자가 문자 인수를 전달하여 누르거나(press) 해제(release)되는 키를 지정할 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Keyboard.print()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;print() 함수는 컴퓨터에 키 입력을 전송하는 데 사용됩니다. 매개 변수로, 함수는 문자나 문자열을 전달 할 수 있습니다.&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Keyboard.println()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;println() 함수는 print() 함수와 유사하게 작동합니다. 그러나 println() 함수는 문자를 표시하고 항상 캐리지 리턴을 수행하여 끝에 새 줄을 시작합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Keyboard.releaseAll()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;releaseAll() 함수는 release() 함수와 유사하게 동작 합니다. 그러나 눌러져 있는 모든 키를 한번에 &amp;nbsp;해제합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;Keyboard.write()&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;Write() 함수는 문자키를 포함하여 컴퓨터의 모든 키 입력을 보낼 수 있습니다. &amp;nbsp;이를테면 백스페이스, 콘트롤, ALT, 펑션키등을 보냘 수 있습니다. write() 의 인수로 정수(ASCII), 문자, HEX, 이진값등 으로 보낼 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;strong style=&quot;font-size: large; font-family: Tahoma, sans-serif; line-height: 27px; background-color: rgb(255, 255, 255);&quot;&gt;라이브러리 예제&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;hr style=&quot;border-style: solid; font-size: 12px; font-family: Tahoma, sans-serif; border-color: green; line-height: 18px; background-color: rgb(255, 255, 255);&quot; /&gt;&lt;p style=&quot;padding: 0px; font-size: 12px; font-family: Tahoma, sans-serif; line-height: 18px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-size: small; line-height: 19px;&quot;&gt;이번 항목 에서는 키보드와 마우스 라이브러리를 사용 하는 간단한 예제 프로그램을 소개하고 가능을(주석참조) 설명합니다. 참고로 이 예제는 아두이노 공식 사이트에 올라와 있는 예제 입니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;a href=&quot;http://arduino.cc/en/Tutorial/KeyboardAndMouseControl&quot; target=&quot;_blank&quot; style=&quot;outline: none; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s;&quot;&gt;http://arduino.cc/en/Tutorial/KeyboardAndMouseControl&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;회로구성&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;1. 아두이노 레오나르도의 디지털 입력핀 2, 3, 4, 5, 6번핀에 푸시버튼의 한쪽 끝을 연결 합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;2. 버튼의 다른쪽 끝은 5V에 연결 합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;3. 아래의 그림을 참조하여 아두이노 각 핀에 연결되어 있는 푸시버튼에 10K 저항을 연결하고 저항의 반대쪽은 모두 그라운드에 연결 합니다. 이 같은 연결 형태를 풀다운 스위치라고 합니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;img src=&quot;http://cafeptthumb2.phinf.naver.net/20130709_163/pasil21_1373306945671L4JDb_PNG/LeoJoystickTest_bb.png?type=w740&quot; alt=&quot;&quot; rel=&quot;xe_gallery&quot; style=&quot;height: 397px; width: 740px;&quot; /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://arduinomidi.com/xe/files/attach/images/110/820/040/ac8552e160345d7137274580983fd745.png&quot; alt=&quot;LeoJoystickTest_schem.png&quot; class=&quot;iePngFix&quot; width=&quot;740&quot; height=&quot;594&quot; rel=&quot;xe_gallery&quot; style=&quot;cursor: pointer;&quot; /&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;회로동작&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;문서편집기를 이용하여 소스를 입력하고, 아두이노 레오나르도 보드를 USB로 연결 한 다음에, 아두이노 소프트웨어를 통해 업로드를 합니다. 정상적으로 업로드가 되면, 푸시버튼을 눌렀을 때 해당되는 키값이 입력되는 것을 볼 수 있으며, 시리얼 모니터창을 띄우고 해당문자를 입력하면 마우스 포인터가 움직이는 것을 확인 할 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;프로그램 소스&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;color: rgb(0, 117, 200);&quot;&gt;// 아두이노의 핀을 초기화 하고 각각의 버튼에 해당하는 기능을 할당 합니다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;const int upButton = 2;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;const int downButton = 3;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;const int leftButton = 4;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;const int rightButton = 5;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;const int mouseButton = 6;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;void setup() {&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;span style=&quot;color: rgb(0, 117, 200);&quot;&gt;&amp;nbsp; &amp;nbsp; // 각각의 핀을 입력모드로 지정 합니다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; pinMode(upButton, INPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; pinMode(downButton, INPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; pinMode(leftButton, INPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; pinMode(rightButton, INPUT); &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; pinMode(mouseButton, INPUT);&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(0, 117, 200);&quot;&gt;// 시리얼 모니터의 보레이트를 설정 합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; Serial.begin(9600);&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(0, 117, 200);&quot;&gt;// 키보드와 마우스 라이브러리를 초기화 합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; Mouse.begin();&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; Keyboard.begin();&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;}&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;void loop() {&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(0, 117, 200);&quot;&gt;// 마우스 제어를 위해 가상 시리얼 포트를 사용하여 명령을 내립니다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; if (Serial.available() &amp;gt; 0) {&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char inChar = Serial.read();&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(0, 117, 200);&quot;&gt;// 입력받은 문자를 검사하여 해당하는 문자에 대한 마우스 동작을 수행 합니다.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; switch (inChar) { &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &#039;u&#039;:&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // move mouse up&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mouse.move(0, -40);&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &#039;d&#039;:&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // move mouse down&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mouse.move(0, 40);&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &#039;l&#039;:&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // move mouse left&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Mouse.move(-40, 0);&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &#039;r&#039;:&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // move mouse right&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mouse.move(40, 0);&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &#039;m&#039;:&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // perform mouse left click&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Mouse.click(MOUSE_LEFT);&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: rgb(0, 117, 200);&quot;&gt;// 푸시버튼의 상태를 입력 받아 값이 HIGH일 때 지정된 문자를 컴퓨터에 전송 합니다.&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; if (digitalRead(upButton) == HIGH) {&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Keyboard.write(&#039;u&#039;);&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; if (digitalRead(downButton) == HIGH) {&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Keyboard.write(&#039;d&#039;);&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; if (digitalRead(leftButton) == HIGH) {&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Keyboard.write(&#039;l&#039;);&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; if (digitalRead(rightButton) == HIGH) {&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Keyboard.write(&#039;r&#039;);&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; if (digitalRead(mouseButton) == HIGH) {&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Keyboard.write(&#039;m&#039;);&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;strong style=&quot;font-size: large; font-family: Tahoma, sans-serif; line-height: 27px; background-color: rgb(255, 255, 255);&quot;&gt;키보드 라이브러리 응용&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;hr style=&quot;border-style: solid; font-size: 12px; font-family: Tahoma, sans-serif; border-color: green; line-height: 18px; background-color: rgb(255, 255, 255);&quot; /&gt;&lt;p style=&quot;padding: 0px; font-size: 12px; font-family: Tahoma, sans-serif; line-height: 18px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-size: small; line-height: 19px;&quot;&gt;다음예제는 조이스틱과 푸시버튼의 값을 읽어 들여, 조이스틱은 키보드의 커서키를 에물레이션하고, 버튼은 업다운키를 에물레이션하여 CNC설비를 제어하는 예제 입니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;먼저 간단한 동영상을 보도록 하겠습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px; text-align: center;&quot;&gt;&lt;iframe height=&quot;360&quot; src=&quot;http://www.youtube.com/embed/ShjVWER3CGM?feature=player_detailpage&quot; frameborder=&quot;0&quot; width=&quot;640&quot; scrolling=&quot;no&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;span style=&quot;font-size: 12px; line-height: 1.5;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;p style=&quot;padding: 0px;&quot;&gt;&lt;/p&gt; &lt;p style=&quot;padding: 0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;회로구성&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;보다 많은 버튼을 사용할 목적으로 아두이노 9핀(아두이노핀 5, 6, 7, 8번 입력, 9, 10, 11, 12, 13번 출력)을 이용하여, 총 20개의 버튼 입력을 받을 수 있도록 한 전형적인 키 매트릭스 회로 입니다. 예제 에서는 키 입력을 모두 사용하지 않고, 조이스틱 4개, 푸시버튼 8개, 확장버튼 2개 총 14개의 버튼 입력을 사용 합니다. 회로에서 사용된 저항은 모두 10K(풀업저항)이며, 다이오드는 1N4148 입니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;img src=&quot;http://cafeptthumb2.phinf.naver.net/20130709_194/pasil21_1373306989483Mx3LX_PNG/MatrixSch.png?type=w740&quot; alt=&quot;&quot; rel=&quot;xe_gallery&quot; style=&quot;height: 140px; width: 740px;&quot; /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;버튼에 따른 기능은 아래와 같습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 1번 : 문자 ‘a’&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 2번 : 문자 ‘b’&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 3번 : 문자 ‘c’&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 4번 : 키보드 페이지업&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 5번 : 문자 ‘d’&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 6번 : 문자 ‘e’&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 7번 : 문자 ‘f’&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 8번 : 키보드 페이지 다운&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼 9번~16번 : 사용안함&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼17번 : 키보드 왼쪽&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼18번 : 키보드 오른쪽&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼19번 : 키보드 위&lt;/blockquote&gt;&lt;blockquote style=&quot;margin: 0px 0px 0px 40px; padding: 0px; border-style: none;&quot;&gt;버튼20번 : 키보드 아래&lt;/blockquote&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;span style=&quot;font-size: small; line-height: 1.5;&quot;&gt;&lt;strong&gt;회로동작&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;메트릭스 버튼 입력 하는 방법은 읽어올 칼럼의 라인만 LOW로 하고 나머지 칼럼의 라인은 모두 HIGH로 둡니다. 그렇게 하면 해당하는 라인의 값만 읽어 올 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;이렇게 순차적으로 루프를 돌리면서 칼럼 라인을 변경하면 할당한 모든 버튼의 값을 읽어 올 수 있습니다. 워낙 빠른 속도로 순차적으로 읽기 때문에 사용자 입장에서는 버튼의 입력이 동시에 되는 듯한 효과를 볼 수 있습니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;이렇게 순차적으로 버튼의 값을 입력 받아, 해당하는 버튼에 지정된 키보드 값을 컴퓨터에 보내주고, 시리얼 모니터 창에 입력 받은 값을 표시 하게 됩니다.&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;프로그램 소스&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;strong style=&quot;font-size: small;&quot;&gt;&lt;a href=&quot;http://arduinomidi.com/xe/?module=file&amp;amp;act=procFileDownload&amp;amp;file_srl=5318&amp;amp;sid=591024e301f8bea7d0a033e3f5fd14d9&quot; target=&quot;_blank&quot; style=&quot;outline: none; text-decoration: none; color: rgb(51, 51, 51); transition: all 0.4s; -webkit-transition: all 0.4s;&quot;&gt;Leonardo_bCade_CNC.ino&lt;/a&gt;&amp;nbsp;&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;strong style=&quot;font-size: large; font-family: Tahoma, sans-serif; line-height: 27px; background-color: rgb(255, 255, 255);&quot;&gt;마치며&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;hr style=&quot;border-style: solid; font-size: 12px; font-family: Tahoma, sans-serif; border-color: green; line-height: 18px; background-color: rgb(255, 255, 255);&quot; /&gt;&lt;p style=&quot;padding: 0px; font-size: 12px; font-family: Tahoma, sans-serif; line-height: 18px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;span style=&quot;font-size: small; line-height: 1.5;&quot;&gt;이번 회에 소개된 회로와 소스를 이용하면 자신만의 콘트롤러, 즉 마메게임 콘트롤러라던가 비행 시뮬 콘트롤러, 로봇팔 제어기등, 다양하게 응용 가능하리라 생각이 듭니다.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;margin: 0px; padding: 0px;&quot;&gt;&lt;font size=&quot;2&quot;&gt;다음시간에는 아두이노 레오나르도의 부트로더를 이용하여, 아두이노가 아닌, Atmel Studio 등에서만들어진 네이티브 펌웨어를 업로드 하는 방법에 대해 알아 보도록 하겠습니다.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content>	<category term="1097817" label="Arduino" />		</entry></feed>
