아두 이노 마이크로 - adu ino maikeulo

1.  아두이노 마이크로(Micro)

아두 이노 마이크로 - adu ino maikeulo
아두이노 프로 

아두이노 마이크로 (Arduino micro) 기종은 아두이노 레오나르도(Leonardo) 기종을 소형화한 모델로서 ATmega32u4라는 메인 칩을 사용하고 있다는 것이다. 기능상 가장 큰 차이는 USB통신기능이 내장되어 있어 USB마우스나 USB키보드로도 인식될 수도 있다는 것이다.

즉, 아두이노 마이크로를 USB키보드처럼 작동되게 하여 PC에 연결되면 자동으로 암호를 입력하게 한다든지, 특정 명령어 입력이 자동으로 키인되게 할 수 있고, USB 마우스의 동작을 아두이노 프로마이크로를 시뮬레이션하는 기능을 개발할 수 도 있다.

2.  아두이노 프로 마이크로( Pro Micro)

아두이노사의 오리지널 아두이노 마이크로와 동일한 프로세서를 사용하고 비슷한 성능을 가지지만 조금 다른 모양으로 미국 Sparkfun사에서 나온 기동이 아두이노 프로 마이크로이다.  

아두 이노 마이크로 - adu ino maikeulo
아두이노 프로 마이크로 

이 아두이노 프로 마이크로 동일한 형태로 중국산 클론이 제작 판매되고 있고, 통상 주변에서 쉽게 구할 수 있고 많이 사용하는 것이 아래와 같은 아두이노 프로 마이크로 클론 제품이다.    

아두 이노 마이크로 - adu ino maikeulo
아두이노 프로 마이크로 클론

3.  아두이노 프로 마이크로오 유사한 아두이노 기종 

아두 이노 마이크로 - adu ino maikeulo
아두이노 나노
아두 이노 마이크로 - adu ino maikeulo
아두이노 프로미니 

아두이노 우노를 소형화 한것이 아두이노 나노이고 이것을 조금 더 간략화 한것이 프로미니이므로 이 기종들은 아두이노 우노에서 파생된 것이지만 아두이노 마이크로는 아두이노 레오나르도에서 파생된 것으로 ATmega32u4라는 메인 칩을 사용하고 있다는 것이다.

4.  아두이노 마이크로 사양 ( 나노와의 비교) 

  Arduino Micro  Nano
Processor    ATmega32u4 processor   ATmega328 processor 
Voltage provided to processor  5 V.  5 V.
EEPROM 1 KB. 0.51 KB.
Flash size 32 KB. 32 KB.
SRAM  2.5 KB. 1 KB.
Total digital input/output pins  20. 22.
Number of analog inputs 12.  8.
Board size length (in mm)  48  X 18 mm. 45  x 18 mm.
Total PWM enabled pins  7.  6.
Clock (MHz) 16 MHz. 16 MHz.

5.  아두이노 프로마이크로 PIN LAYOUT

아두 이노 마이크로 - adu ino maikeulo

6. 사용방법

아두이노 IDE에서 툴 -> 보드에서 "Arduino/Genuino Micro" 를 지정하고 사용하면 된다  

아두 이노 마이크로 - adu ino maikeulo

7. 예제 프로그램

아두이노 프로 마이크로에서 USB 키보드 기능을 제어하는 샘플 프로그램을 Test해 보기 위해서 예제 -> USB -> KeyBoard -> KeyboardSerial 을 선택하여 로드.

아두 이노 마이크로 - adu ino maikeulo
/*
 Keyboard test

 For the Arduino Leonardo, Micro or Due

 Reads a byte from the serial port, sends a keystroke back.
 The sent keystroke is one higher than what's received, e.g.
 if you send a, you get b, send A you get B, and so forth.

 The circuit:
 * none

 created 21 Oct 2011
 modified 27 Mar 2012
 by Tom Igoe

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/KeyboardSerial
 */

#include "Keyboard.h"

void setup() {
  // open the serial port:
  Serial.begin(9600);
  // initialize control over the keyboard:
  Keyboard.begin();
}

void loop() {
  // check for incoming serial data:
  if (Serial.available() > 0) {
    // read incoming serial data:
    char inChar = Serial.read();
    // Type the next ASCII value from what you received:
    Keyboard.write(inChar + 1);
  }
}

35 Line에서 시리얼로 입력 받은 문자를 37 Line에서 다음 코드 문자로 변환하여 키보드로 출력해 준다. 즉 , 시리얼 모니터를 띄워 놓고 숫자를 입력하면 다음 숫자로 변환되어 현위치(키보드 커서가 있는)에 표시된다.