본문 바로가기
Arduino(아두이노) 기초 강좌

아두이노(Arduino) 라이브러리

by 오마이엔지니어 2015. 11. 12.
반응형

아두이노 라이브러리

 

아두이노 라이브러리는 오픈소스를 기반으로 한 아두이노 개발 환경의 한 부분으로, AVR Libs을 기반으로 한 C/C++의 표준함수 일부분과 AVR의 내장 모듈 및 외장의 각종 부가 장치를 제어하는 함수들로 구성되어 있습니다

임베디드 시스템을 구성할 때, 마이크로컨트롤러 내부의 모듈 뿐만 아니라 다양한 외부의 부가 모듈 부품이 결합됩니다

따라서 AVR 내부 모듈 함수와 외부의 부품을 제어하는 함수들이 섞여있습니다

아두이노 통합 환경(IDE)을 설치하면 내장 된 몇가지 함수들이 존재합니다

그리고 개발도구에 자체 내장되지 않는 많은 라이브러리 들이 오픈소스 형태로 인터넷 상에 존재합니다

파일을 내려 받아 개발 도구에 등록하면 쉽게 이용할 수 있습니다

외부의 공개소스로 부터 받은 경우, 초기의 개발도구(버전 1.0.x)에서는 압축이 풀린 상태의 폴더를 기준으로 등록이 가능 했으나,

현재의 버전(버전 1.6.x 등)은 ZIP 파일 자체로 등록이 가능합니다

공개 소스의 예제가 있는 경우, 메뉴 '예제' 역시 동시에 사용할 수 있습니다

 

 

아두이노 표준 라이브러리

아두이노 통합개발환경(IDE)을 설치하면 자동으로 설치되는 라이브러리 함수들입니다

 

EEPROM

AVR 내부에 장착된 EEPROM에 데이터를 쓰거나 읽습니다, 전원 인가없이도 데이터가 유지됩니다

 

Ethernet

아두이노 이더넷 쉴드(Arduino Ethernet Shield)을 사용하여 인터넷에 접속합니다

 

Firmata

아두이노의 시리얼 통신을 통해, 다른 컴퓨터의 응용 프로그램과의 통신을 지원합니다

 

GSM

GSM 쉴드를 사용하여 GSM/GRPS 통신을 지원합니다

 

LiquidCrystal

문자 LCD을 위한 라이브러리입니다

 

SD

SD 카드에 데이터를 읽거나 씁니다

 

Servo

서보 모터를 제어합니다

 

SPI

SPI(Serial Peripheral Interface)을 사용한 통신을 지원합니다

 

SoftwareSerial

AVR의 시리얼 통신 하드웨어 모듈을 사용하지 않고, 디지털 포트를 이용하여 소프트웨어 방법으로 시리얼을 지원합니다

아두이노의 버전1.0과 이후의 버전에서는 Mikal Hart에 의해 NewSoftSerial 라이브러리가 개선하여 별도로 존재합니다

 

Stepper

스텝핑 모터를 제어합니다

 

TFT

TFT 모니터에 글자, 이미지, 특정 모양을 그립니다

 

WiFi

아두이노 와이파이 쉴드를 사용하여 인터넷에 연결합니다

 

Wire

TWI/I2C(Two Wire Interface)을 사용한 데이터 전송 및 수신을 처리한다. 센서 등의 소자와 연결할 때 많이 사용합니다

 

Due에서 사용하는 라이브러리

Audio

Scheduler

Due와 Zero에서 사용하는 라이브러리

USBHost

Esplora에서 사용하는 라이브러리

Esplora

아두이노 Robot 라이브러리

Robot

아두이노 Yun 브릿지 라이브러리

Bridge Library

USB 라이브러리 (Leonardo, Micro, Due, Zero 그리고 Esplora)

Keyboard

Mouse

안드로이드 개발

USB Host shield

ProcessingArduinoAdkUsb

 

 

부가 라이브러리(인터넷 공개 소스)

현재 사용하는 기능 부품의 핵심 칩을 제어하기 위한 라이브러리 들이 많이 존재합니다

그리고 기타 여러가지 기능적 함수들도 존재하므로 검색을 통해 찾아 사용하면 됩니다

사이트 GitHub가 대표적으로 여러가지 프로젝트가 존재합니다

 

통신 (네트워킹, 프로토콜)

 

Messenger

다른 컴퓨터와 문자 기반 메시지 처리를 지원합니다

 

NewSoftSerial

SoftwareSerial 라이브러리 개선판입니다

 

OneWire

1-Wire 통신 프로토콜을 지원합니다

 

PS2Keyboard

PS2 키보드롤 부터 문자를 읽습니다

 

Simple Message System

아두이노와 컴퓨터 사이에 간단한 메시지를 주고 받습니다

 

SSerial2Mobile

휴대폰을 사용하여 문자 메시지나 이메일을 보냅니다 (소프트웨어 시리얼 상에 AT 커멘트를 사용)

 

Webduino

확장 웹 서버 라이브러리이다. (아두이노 이더넷 쉴드 이용)

 

X10

전기 AC 전원선을 이용하여 X10 신호를 보냅니다

 

XBee

XBees 통신을 지원한다. (API 모드)

 

SerialControl

다른 아두이노와 시리얼 통신을 통해 원격 제어를 지원합니다

센서

Capacitive Sensing

2개 이상의 핀의 센서를 사용한다. ADC 모듈이 하나이기 때문에 적절히 분배하여 동작하도록 조절합니다

 

Debounce

키 버튼 등의 디지털 입력에서 바운싱을 제거하여 입력합니다

표시장치 및 LED

GFX

표준 그래픽 루틴을 제공하는 기본 클래스 라이브러리 이다. (Adafruit Industries에 제공)

 

GLCD

KS0108을 기반으로 하는 LCD의 그래픽 처리 루틴을 지원합니다

 

LedControl

MAX7221나 MAX7219을 사용한 7-세그먼트 LED 드라이버를 제어합니다

 

LedControl

맥심 칩을 사용한 매트릭스 LED을 제어한다. Matrix 라이브러 수정본입니다

 

LedDisplay

 

HCMS-29xx 스코롤 LED를 제어합니다

 

Matrix

기초적인 매트릭스 LED을 제어합니다

 

PCD8544

Nokia 55100 기반 LCD 컨트롤러를 제어합니다 (Adafruit Industries에 제공)

 

Sprite

매트릭스 LED의 기초적인 요정(sprite) 이미지를 처리합니다

 

Adafruit ST7735

1.8", 128x160 TFT LCD 제어합니다 (Adafruit Industries에 제공)

오디오 신호 처리

FFT

오디오나 다른 아날로그 신호의 주파수 분석 함수입니다

 

Tone

오디오 발생을 위한 방형파 신호를 만든다. 특정 핀에 출력됩니다

모터와 PWM

TLC5940

16채널, 12비트 PWM 제어 출력입니다

시간 제어

DateTime

소프트웨어에서 현재 날짜와 시간의 트랙을 유지하기 위한 라이브러리입니다

 

Metro

주기적 시간 처리를 위한 라이브러리입니다

 

MsTimer2

매 N 미리초(milliseconds) 마다 인터럽트를 발생한다. 타이머 2을 사용합니다

유틸리티

PString

스트링 버퍼를 출력하는 가벼운 클래스입니다

 

Streaming

간단한 출력을 스트림 처리로 대처할 수 있습니다

반응형

댓글