아두이노(Arduino)가 동작하는 과정


소프트웨어에서 오픈소스 소프트웨어 바람이 분 이후에

하드웨어에서도 아두이노를 필두로 오픈소스 하드웨어 바람이 불고 있다.

향후에 이 두 가지가 결합되어 새로운 패러다임이 만들어 질듯 싶다.


아두이노 전자회로와 이것을 작동하게 하는 코딩에 대하여 공부한 것을 정리해 본다.


  개요

1. 아두이노와 LED 등의 전자부품을 조립하고 LED를 2초 간격으로 깜박이게 하는 코딩을 작성한다.

2. 이 예제가 동작하는 과정을 소프트웨어와 하드웨어로 나누어 설명해 보자.


  하드웨어 조합

1. 아두이노 우노 R3

2. 브레드 보드

3. LED

4. 저항

5. 점퍼 케이블



  소프트웨어 코딩

1. 내 컴퓨터에 아두이노 IED(통합개발환경 : 스케치)라는 소프트웨어를 설치 한다.

2. 아두이노 IED에서 C/C++ 프로그래밍 언어로 코딩을 작성한다.

3. 아두이노 IED의 컴파일 기능을 이용하여 소스코드를 기계어로 전환한다.

4. 전환한 기계어를 아두이노에 업로드 한다.


int led = 13;


void setup() {

  pinMode(led, OUTPUT);

}


void loop() {

  digitalWrite(led, HIGH);   

  delay(2000);              

  digitalWrite(led, LOW);    

  delay(2000);              

}



  소프트웨어와 하드웨어의 협업 과정

1. 소프트웨어에서 바라보기

  (1) 코딩 : C/C++프로그래밍 언어로 특정한 기능을 수행할 수 있는 소스코드를 작성

  (2) 기계어 : 컴파일(소스코드를 기계어로 번역)하여 아두이노에  업로드(소스코드→기계어)

2. 하드웨어에서 바라보기

  (1) 물리현상 ① : 기계어로 번역된 소스코드가 아두이노의 마이크로컨트롤러의 플래시에 저장

  (2) 물리현상 ② : 전기에너지를 공급하면 전기는 미리 정해진 길을 따라 강약으로 흐르며, 기계어로 번역된 소스코드를 하나 하나 실행한다.

  (3) 물리현상 ③ : 13번 디지털입출력 핀을 활성화 시키고,13번 핀에 전기를 2초간 high로 보내고전기를 2초간 low로 보내는 것을 반복.

3. 결과 : LED가 2초간 켜지고, 2초간 꺼지는 것이 반복됨.


  Comments,     Trackbacks