티스토리 뷰

아두이노는 마이크로컨트롤러(MCU)를 사용하는 개발보드로써 무언가를 만들기 좋아하는 개발자들이 많이 사용하고 있습니다. 아두이노도 한가지가 아니라 여러가지가 존재하지만 우노가 가장 대중적입니다.(이탈리아어로 1이라는 의미라고 합니다)

출처: https://pixabay.com/ko/arduino-%EC%95%84%EB%91%90-%EC%9D%B4%EB%85%B8-%EC%9A%B0%EB%85%B8-%EA%B8%B0%EC%88%A0-%EB%94%94%EC%A7%80%ED%84%B8-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC-2168193/

요것이 아두이노 우노를 간단하게 그린 그림으로써 우노가 처음 입문자들에게 가장 무난한 보드입니다!!

 

아두이노 구성을 보시면

왼쪽위의 빨간버튼이 reset버튼으로 새로 아두이노에 소프트웨어를 공급할때 한번씩 눌러주고 업로드를 시켜줘야합니다.

 

아래위로는 각종 핀들이 있는데 이것은 제어장치와 아두이노를 연결할때 사용합니다.

위쪽은 디지털 핀이고 (디지털신호는 입출력이 0과1로만 나타나는 신호입니다)

디지털 핀에 ~표시가 있는 부분은 PWM으로 사용할수 있는 핀을 나타낸 것입니다.

PWM이란?(Pulse Width Modulation)으로 0과 1로만 나타난 구형파(직사각형 모양의 파형입니다)를 펄스의 폭을 컨트롤해서 디지털 신호를 아날로그 신호처럼 사용할수있도록 해주는 제어방법입니다!

아래쪽에 ANALOG IN이라 적힌 부분의 핀6개는 아날로그신호를 처리하는 경우에 이자리핀에 꼽아 사용하면 됩니다.

여기서 아날로그 핀은 0~5V사이를 0~1023사이의 정수값으로 변화시켜 읽어드립니다.

그옆에는 POWER를 나타내는 핀으로써 3.3V 또는 5V로 출력을 정할수있고 GROUND와 Vin까지 제공합니다

 

여기서 디지털신호는 불이 켜지고 꺼지고를 나타내는 것이라면

아날로그신호는 불의 밝기를 나타내는것이라고 생각하면 쉬울것 같습니다

 

이렇케 아래위로 있는 전선이나 여러장치 등을 꼽을수있는 핀을 GPIO라고 부른다.

(General Performance Input/Output) GPIO의 특징이라면 프로그래머가 바로 그 꼽는 부분을 입력으로사용할것인지 출력으로 사용할것인지 정할수 있다는 것입니다.

 

ANALOG IN 위의 직사각형은 마이크로컨트롤러(MCU)로써 마이크로프로세서에 메모리와 각종 주변장치들을 함께 집적하여(압축하여) 넣은 칩입니다. 이MCU의 특징중 하나가 주변장치들을 탐지하고 제어하기위한 I/O 능력이 매우 뛰어나다는 점입니다.

아두이노의 MCU는 Atmel이라는 회사에서 나온 ATmega328칩을 사용하고 있습니다.

 

왼쪽에 은색으로 사각형이 되어있는부분은 나중에 컴퓨터랑 연결하는 USB-B타입의 포트입니다.

그밑에는 전압조절장치가 있으며

바로밑에 USB포트와 비슷한 크기는 DC 어댑터 꼽는 곳으로써 usb포트를 사용하지 않을경우 이부분으로 전원공급을 해주면 됩니다.

 

아두이노 표시 바로 옆부분을 보면

위에서부터 13번 핀의 LED, TX, RX를 나타내는 부분이 있습니다.

13번 밑에 있는 LED는 내장되어있는 실습용 LED로써 아두이노 개발환경에 예제가있어서 다른장치 없이 바로 사용해볼수 있도록 되어있습니다ㅎㅎ

RX는 수신단자이고 TX는 송신단자를 뜻합니다

여기에도 LED가 내장되어있는데 아두이노 IDE를 통해 코딩한것을 전달하면 그 LED가 깜빡이게 됩니다. 이것으로 아두이노와 컴퓨터간에 송수신이 이루어진것을 확인할수가 있습니다.

그 옆의 정사각형과 밑의 부분은 USB와 시리얼사이의 변환장치입니다.

정사각형의 조그마한 부분도 MCU로써  ATmega16u2를 사용하고 있습니다.

 

ON표시 오른쪽 아래와 reset 버튼의 오른쪽을 보면 꼽을수 있는곳이 6개가있는 부분이 있습니다. 이것은 ICSP를 사용할때 사용하는 것으로써 ICSP(In Circuit Serial Programing)는 MCU에 직접 프로그래밍이 가능한 통신포트입니다. ICSP는 여러가지 통신방법중 SPI통신방법을 사용합니다. 6개의 핀중 3개는SPI핀이고 나머지 3개는 각각 Vcc,GND,Reset핀입니다. MCU가 우노에는 2개 있기때문에 ICSP도 2개 존재하는 것입니다ㅎㅎ

 

디지털 핀에도 0번과 1번에 RX,TX라는 표시가 있는데

이것은 0번과 1번핀이 아두이노와 컴퓨터를 연결해주는 통신통로로 사용되는것을 뜻합니다. 0번과 1번핀을 사용할때 이핀들이 이민 다른용도로 사용될 경우에는 개발환경에서 아두이노로 업로드를 하지 못합니다.

그래서 대부분 예제에선 아두이노 사용시 0번과 1번은 잘 사용하지 않습니다.

 

다른 핀에서도 통신을 할수있도록 아두이노에서 장치를 해놓았는데 이것을 라이브러리로 정리한것이 SoftwareSerial입니다.

이것은 일반 입출력 테이터 핀을 RX,TX핀으로 동작할수 있도록 해주는 라이브러리입니다.

 

 

아두이노 각종 센서, 쉴드

제생각으로는 IoT분야에서 아두이노가 유명해지고 또 다양한 기능을 할수있게하는데는 센서모듈과 쉴드의 역활이 큰것 같습니다.

센서는 열, 빛, 온도, 압력, 소리등의 물리적인 양이나 그변화등을 계측하여 일정한 신호로 알려주는 부품을 말합니다.

센서의 종류로는 많이 사용하는 LED부터 ,온도 습도센서, 초음파센서, 조도센서. 충격감지등등 정말 많이 다양합니다. 아두이노를 처음사용하게 되면 이 센서들부터 직접다루시게 될것 같습니닷!!

 

 

이것은 라떼판다라는 회사에서 나온 센서 키트 세트로서 종류가 여러종류가 있는데 개별적으로 구매보다는 이렇케 세트로 구매하는것이 개인적으로는 더 좋은것 같습니다.

 

쉴드란 특정기능을 갖는 보드로써, 아두이노에 꽂아서 바로 사용할수 있는 보드입니다. 예를들면, LCD쉴드, 블루투스 쉴드, 와이파이 쉴드등 종류도 매우 다양합니다.

쉴드에도 종류가 무척다양한데 많이 사용하는 것으로는 모터쉴드보드가 있습니다.

 

이렇케 생긴보드로써 스텝모터등을 제어하고자할때 사용하는 보드입니다.

이 쉴드는 밑에

요로케 아두이노 우노에 맞게 핀이 있어서 바로 아두이노 우노에 꼽아서 사용하면 됩니다. 아두이노 메가등과 같은 다른 아두이노 보드를 사용시에는 핀꼽는것이 달라서 사용하기가 힘든 단점이있습니다.

 

 

아두이노 IDE

아두이노를 컴퓨터와 연결하여 사용하기 위해서는

아두이노에서 제공하는 개발환경인  IDE를 설치해 주어야합니다. (나중에 비주얼스튜디오로도 바꿀수 있습니다)

여기에 코드를 작성하여 업로드라는것을 해주게 되면 아두이노가 작동을 하게 됩니다

https://www.arduino.cc/en/Main/Software

 

요기 들어가시면 아두이노 지금은 1.8.5를 다운로드 하실수 있습니다

기부할것인지 물어보는데 JUST DOWNLOAD를 클릭하셔서 컴퓨터에 설치해주시면 됩니다.

설치하실때 위치를 알아보기 쉬운곳으로 한다음 설치하시면 나중에 라이브러리등을 추가하는 일이 생길때 편할것 같습니다.

 

그다음 아두이노와 컴퓨터를 연결시키면 되는데 확인할것이 2개있습니다

 

툴 부분에 들어가시면 포트와 보드정보가 나타나는데

 

보드는 아두이노 우노와 컴퓨터를 연결하기위해선 Arduino/Genuino Uno로 맞춰주어야합니다.

포트는 컴퓨터의 장치관리자로 들어간후 포트에서 몇번포트와 아두이노가 연결되어있는지 확인한후 같은것으로 맞춰줘야합니다.

이렇케 설정 한 후에 코딩을 시작하여 주시면 됩니다ㅎㅎ

 

아두이노 개발환경에 사용되는 언어는 C++ 언어를 기반으로 하였으며 C를 공부해보신 분이라면 큰 어려움 없이 할수 있을겁니다!!

 

위의 캡처된 화면을 보면

void setup() 이있는데 이 중괄호 안의 코드는 처음 1회만 실행되고

void loop() 안의 코드는 무한반복되는 구조를 가지고 있습니다.

그러므로 setup안의 코드는 각종 초기화와 관련된 작업을,

loop안의 코드는 반복되면서 수행되어야할 메인작업등을 앞으로 적게됩니다.

이렇케 완성된 코드들을 아두이노에서는 '스케치'라고 부릅니다

 

파일밑의 확인체크 표시는 코드를 다 작성한후 오류가 있는지 확인하는 작업인 컴파일을 수행하는 버튼이고 그옆의 화살표 버튼은 이 코드를 아두이노로 업로드 시켜주는 버튼입니다.

※ 하지만 화살표 업로드버튼은 누르면 어짜피 컴파일 작업도 수행되기때문에 굳이 확인버튼을 누르지 않고 바로 업로드버튼을 눌러도 똑같습니다!

 

옆의 돋보기??같이 생긴 모양은 시리얼 모니터로써 여기서 시리얼이란 PC에서 사용되는 장치간의 통신 프로토콜입니다. (프로토콜이란 규약, 약속 을 의미합니다)

아두이노와 PC간에 통신은 시리얼 통신으로 이루어집니다. 시리얼통신은 시리얼이라는 이름에서 추측하셨을 분들이 있을텐데 한비씩 순차적으로  송수신 하는 특징을 가지고 있습니다. 대비되는것으로는 패러렐 통신이 있습니다.(한꺼번에 보내고 받는통신)

이렇케 PC와 아두이노간의 정보를 눈으로 보게(모니터)해주는 역할을 시리얼모니터가 해주게 됩니다.

 

 

 

 

참고로

아두이노는 오픈소스 하드웨어로써 회로가 모두 공개되어있기 때문에

"호환보드"라는 아두이노와 성능은 같지만 저렴한 보드들이 많이있습니다.(특히 중국에서 많이 생산된...)

처음 하신다면 아무래도 고장내실 위험도 많기때문에 정품 우노보다는 호환보드를 추천드리고 싶습니다! 더 저렴하니깐요!!ㅎㅎ

 

'공부공부 > 아두이노' 카테고리의 다른 글

[운영체제] 프로세스  (0) 2019.12.19
GPS이용  (0) 2018.02.19
LED연결  (0) 2018.02.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함