본문 바로가기
arduino

아두이노 자주 사용되는 기본함수 정리(기본,디지털입출력,아날로그 입출력)

by Taesung 2023. 9. 27.
728x90

아두이노(Arduino)는 임베디드 시스템 개발을 위한 강력한 도구로, 다양한 하드웨어 컨트롤 작업을 수행하는 데 사용됩니다. 아두이노 프로그래밍에는 몇 가지 기본 함수가 있으며, 이러한 함수들을 이해하고 활용하는 것이 중요합니다. 이 블로그 포스트에서는 아두이노에서 자주 사용되는 기본 함수들을 소개합니다.

기본함수

1. setup() 함수

setup() 함수는 아두이노 보드가 시작될 때 한 번 실행되는 함수입니다. 이 함수는 초기 설정과 초기화 작업을 수행하는 데 사용됩니다. 예를 들어, 핀 모드 설정, 라이브러리 초기화 등의 작업을 여기에서 수행할 수 있습니다.

void setup() {
  // 초기 설정 및 초기화 작업 수행
}

2. loop() 함수

loop() 함수는 setup() 함수가 실행된 후에 계속해서 반복 실행되는 함수입니다. 이 함수는 메인 프로그램 루프를 정의하며, 주요 작업을 수행하는 부분입니다. 아두이노는 이 함수를 무한 반복하며 제어합니다.

void loop() {
  // 주요 작업 수행
}

디지털 입출력 함수

1.pinMode() 함수

특정 핀을 입력 또는 출력으로 동작하도록 설정합니다. (digital pins)의 설명을 보면 핀들의 기능이 자세히 나옵니다.

아두이노 1.0.1부터, INPUT_PULLUP 모드를 통해 내부 풀업 저항을 활성화할 수 있습니다.  INPUT 모드는 명시적으로 내부 풀업을 비활성화합니다.

void setup() {
  pinMode(13, OUTPUT);          // 디지털 핀 13 을 출력으로 설정
  pinMode(12, INPUT);          // 디지털 핀 12 을 입력으로 설정
  pinMode(11, INPUT_PULLUP);          // 디지털 핀 11 을 내부풀업상태인입력으로 설정
}

 

2. digitalRead() 함수

지정한 디지털 핀에서 값( HIGH or LOW)을 읽습니다.

int inPin = 7;    // pushbutton은 디지털 핀 7에 연결됨

void setup() {
  pinMode(inPin, INPUT);      // 디지털 7을 입력으로 설정
}

void loop() {
  val = digitalRead(inPin);   // 입력 핀으로부터 읽기
}

inpin( 7번핀 ) 이 High 라면 val 변수에 1이 반환되며 Low 라면 val 변수에 0이 반환됩니다.

3. digitalWrite() 함수

핀이 pinMode() 를 통해 OUTPUT 으로 설정되면, 그 핀의 전압은 digitalWrite()함수를 통해 HIGH 일 때 5V(또는 3.3V 보드에서 3.3V), LOW 일 때 0V (ground)로 설정됩니다.

void setup() {
  pinMode(13, OUTPUT);    // 디지털 핀 13 을 출력으로 설정
}

void loop() {
  digitalWrite(13, HIGH); // 디지털 핀 13 켜기
  delay(1000);            // 1초 기다리기
  digitalWrite(13, LOW);  // 디지털 핀 13 끄기
  delay(1000);            // 1초 기다리기
}

A0,A1등 아날로그핀 역시 디지털핀으로 사용가능합니다.

아날로그 입출력 함수

1. analogRead() 함수

지정한 아날로그 핀에서 값을 읽습니다.  이는, 0에서 5V 사이의 입력 전압을 0에서 1024 사이의 정수 값으로 대응시키는 것을 뜻합니다. 이는 해상도가 5V/1024 혹은 0.0049V (0.49mV) 단위라는 것을 뜻합니다.

#define analogPin = A0;  // 아날로그 핀 0에 연결됨
                    
int val = 0;        // 읽은 값을 저장할 변수

void setup() {
  pinMode(analogPin, INPUT); //아날로그 핀0 을 INPUT으로 설정
}

void loop() {
  val = analogRead(analogPin);  // 입력 핀 읽기
}

inpin( A0번핀 ) 의 0에서 5V 사이의 입력 전압을 0에서 1024 사이의 정수 값으로 val변수에 입력됩니다.

2. analogWrite() 함수

아날로그 값(PWM 파)을 핀에 출력합니다.  대부분 핀에서 PWM 신호의 주파수는 약 490Hz입니다. Uno, 혹은 비슷한 보드에서, 5, 6번 핀은 약 980Hz의 주파수를 가집니다.

int ledPin = 9;     // LED는 디지털 핀 9번에 연결
char val=0;
void setup() {
  pinMode(ledPin, OUTPUT);  // 핀을 출력으로 설정
}

void loop() {
   val++;
   analogWrite(ledPin, val); //analogWrite 값은 0 부터 255까지
   
  delay(100); //100ms지연
}

예제) 2023.09.26 - [arduino] - 아두이노 PWM 제어: 초보자를 위한 완벽한 가이드

위의 기본 함수들은 아두이노 프로그래밍에서 중요한 역할을 합니다. 이러한 함수들을 잘 이해하고 활용하면 다양한 하드웨어 프로젝트를 개발하는 데 도움이 됩니다. 계속해서 블로그를 방문해주시기 바랍니다!

반응형