티스토리 뷰

IT

아두이노 프로그래밍 시작하기

siren911 2016. 9. 10. 00:29

아두이노 프로그래밍은 소프트웨어나 전자 공학과 관련된 경험이 없는 초보자도 쉽게 사용 할 수 있도록 설계되었습니다. 아두이노를 사용하면 빛, 소리, 접촉, 움직임 등에 반응하거나 이러한 것들을 제어할 수 있는 도구를 만들 수 있습니다. 아두이노를 사용하여 만들수 있는 것의 예로는 악기, 로봇, 빛 조형, 게임, 인터렉티브 기구 등이 있으며, 심지어는 인터랙티브 의상도 만들 수 있습니다.

 


 

 

아두이노는 전 세계적으로 수많은 교육 프로그램에서 사용되고 있으며, 특히 기술에 대한 깊은 이해 없이도 프로토타입을 쉽게 만들고자 하는 디자이너와 예술가들이 많이 사용하고 있습니다. 기술이 없는 사람도 사용할 수 있도록 설계되었기 때문에 아두이노 소프트웨어는 아두이노 보드의 다양한 기능을 활용하는 방법을 보여 주는 풍부한 예제 코드가 담겨 있습니다.

 

아두이노의 기본 하드웨어는 사용하기 쉬움에도 불구하고 임베디드 장치를 만들 수 있을 정도로 높은 수준의 정교함을 갖추고 있습니다. 마이크로컨트롤러를 다루는 사람들은 이미 아이디어를 빠르게 구현할 수 있는 아두이노의 뛰어난 개발 환경과 그 기능에 매료되어 있습니다.




 

아두이노는 하드웨어로 잘 알려져 있지만 이 하드웨어를 프로그래밍하기 위한 소프트웨어도 필요합니다. 하드웨어와 소프트웨어 모두 "아두이노"라고 부릅니다. 이러한 하드웨어와 소프트웨어를 함께 사용하여 실제 세계를 감지하고 제어하는 프로젝트를 만들 수 있습니다. 이 소프트웨어는 무료로 제공되는 오픈 소스 크로스-플랫폼입니다. 약간의 비용을 지불하고 보드를 구매하거나 하드웨어 설계가 오픈 소스로 공개되어 있으므로 자신이 직접 보드를 제작할 수도 있습니다. 그리도 아두이노 포럼과 아두이노 플레이그라운드라는 위키를 통해 활발한 활동이 이루어지고 있는 아두이노 커뮤니티에 참여할 수 있습니다. 이런한 포럼과 위키에서는 프로젝트 개발 예제와 여러 가지 문제에 대한 해결책을 제공하고 있으므로 프로젝트를 개발할 때 많은 아이디어와 도움을 얻을 수 있을 것입니다.

 

스케치라고 하는 소프트웨어 프로그램은 컴퓨터에 설치된 아두이노 통합 개발 환경을 사용하여 만들어집니다. 이 IDE에서는 코드를 작성 및 편집할 수 있으며, 아두이노 하드웨어에서 이해할 수 있는 명령어로 코드를 변환할 수 있습니다. 또한 변환된 명령어를 아두이노 보드로 전송할 수도 있습니다.

 

아두이노 보드에서는 사용자가 작성한 코드가 실제로 실행됩니다. 이 보드는 전기 신호를 제어하고 그에 따라 반응만 할 수 있으므로, 실질적으로 어떤 작업을 수행하려면 특정 부품을 보드에 연결해야 합니다. 예를 들어, 실제 사물의 특성을 전기 신호로 변환하는 센서를 보드에 연결해서 사물의 특성을 감지하거나, 보드의 전기 신호를 받아서 특정 동작으로 변환해 주는 액츄에이터를 연결해서 원하는 작업을 수행할 수 있습니다. 센서의 예로는 스위치, 가속도계, 초음파 거리 센서 등이 있습니다. 액츄에이터의 예로는 조명과 LED, 스피커, 모터, 디스플레이 등이 있습니다.

 

아두이노 소프트웨어와 함께 사용할 수 있는 여러 가지 공식 보드뿐만 아니라 커뮤니티에서 제작한 아두이노 호환 보드도 많이 있습니다. 전원을 공급하고 소프트웨어를 보드에 업로드하는 데 사용되는 USB 커넥터가 장착된 보드가 가장 많이 사용되고 있으면 아래 그림에서는 대부분의 사람들이 시작할 때 사용하는 기본 보드인 Arduino Uno입니다.

 

 

Arduino Uno에는 모든 USB 통신을 처리하는 보조 마이크로컨트롤러가 있으며, 이 작은 칩(ATmega8U2)은 보드의 USB 소켓 근처에 있습니다. 이 칩은 보드를 다양한 USB 장치로 표시하고 싶을 때 별도로 프로그래밍할 수 있습니다. Arduino Leonardo 보드에서는 ATmega8U2 및 ATmega328 컨트롤러를 빼고 USB 프로토콜을 소프트웨어로 구현한 하나의 ATmega32u4 칩을 사용합니다. 아두이노와 호환되는 PJRC의 Teensy 및 Teensy+ 보드도 USB 장치를 에뮬레이트할 수 있습니다. 이전 버전의 보드와 대부분의 아두이노 호환 보드에서는 컴퓨터의 시리얼 포트에 연결되는 하드웨어 USB 솔루션을 갖추고 있는 FTDI 회사의 칩을 사용하고 있습니다.

 

Arduino Mini 및 Pro Mini는 소형 보드이며, Arduino Mega는 좀 더 크면서 연결 옵션이 많고 프로세서 성능이 높습니다. 그리고 특정 분야를 위한 맞춤형 보드도 있습니다. 맞춤형 보드로는 의상 분야를 위한 LilyPad, 무선 프로젝트를 위한 Fio, 임베디드 분야를 위한 Arduino Pro가 있습니다.

 

최근에 추가된 제품인 Arduino ADK에는 USB 호스트 소켓이 장착되어 있으며, Arduino Open Accessory Development Kit와 호환됩니다. 공식적으로 승인을 받은 이 개발 키트는 안드로이드 장치에 하드웨어를 연결하는 기능을 제공합니다. Leonardo 보드에는 보드 자체를 다양한 HID 장치로 표현할 수 있는 컨트롤러 칩이 장착되어 있습니다. Ethernet 보드에는 이더넷 연결이 포함되어 있습니다. 그리고 Power Over Ethernet 옵션이 제공되므로 보드 연결과 전원 공급이 단일 배선으로만 가능합니다.

 

아두이노 프로그래밍을 시작하기 위해서 간단히 아두이노 보드들에 관해서 알아 보았습니다. 아두이노 연습용 키트는 가격도 많이 싸져서 구입하기에 부담되지는 않을겁니다. 아두이노 연습용 키트로 다들 아두이노 프로그래밍을 시작해보는건 어떨까요




'IT' 카테고리의 다른 글

어셈블리 언어란 무엇인가  (0) 2016.09.11
아이폰 OS를 알아보자  (0) 2016.09.11
윈도우즈 프로그래밍 역사  (0) 2016.09.04
타이젠 os 알아보기  (0) 2016.09.04
GCC 컴파일 시작하기  (0) 2016.09.03
댓글