아두이노:핀 사용: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
편집 요약 없음
편집 요약 없음
31번째 줄: 31번째 줄:
}
}
</syntaxhighlight>
</syntaxhighlight>
= 아날로그 핀 =
일반적으로 A0~A5 처럼 앞에 A가 붙는 핀이 아날로그 핀이다.
== 입력 ==
기본적으로 외부에서 0~5V의 아날로그 신호를 받으면 아두이노에선 0~1023의 값으로 인식한다.<syntaxhighlight lang="c">
int val = 0;  // 들어오는 신호를 담을 변수를 선언한다.
void setup(){
    Serial.begin(9600);  // 시리얼통신 시작.(속도 9600)
    }
void loop(){
    val = analogRead(A0);  // 0번 핀으로 들어온 신호를 변수에 대입한다.
    Serial.println(val);  // 시리얼모니터에 해당 값을 출력한다.
}
</syntaxhighlight>
== 출력 ==
출력은 0~5V의 신호를 0~255 값으로 출력한다.
실제로 전압이 낮은 게 아니라, 계속해서 5V 전압이 나오는데, 신호를 보내는 시간과 보내지 않는 시간 비율을 이용해 평균전압을 5V 이하로 낮춘다.(입력도 기본 원리는 같다.)

2021년 9월 29일 (수) 13:03 판

아두이노 관련 정보를 모으기 위한 틀. 틀:아두이노

  1. 아두이노:개요
  2. 아두이노:하드웨어
    1. 아두이노:우노보드
  3. 아두이노:코드
    1. 아두이노:기초 문법
    2. 아두이노:라이브러리
    3. 아두이노:컴퓨터에서 보드로
    4. 아두이노:안드로이드에서 보드로
  4. 아두이노:핀 사용
    1. 아두이노:전원공급
  5. 아두이노:시리얼 통신
    1. 아두이노:엑셀기록
    2. 아두이노:파이썬과 통신
  6. 아두이노:편의함수
  7. 센서 사용
    1. 아두이노:모션센서
    2. 아두이노:온습도센서
    3. 아두이노:조도센서
    4. 아두이노:pH미터 만들기(Gravity 아날로그 pH센서)
  8. 아두이노:LCD 사용
  9. 아두이노:스위치 사용
  10. 아두이노:릴레이
  11. 아두이노:WIFI
  12. 아두이노:해결되지 않은 다양한 의문들
  13. 수업용 간단 실습
    1. 아두이노:LED
    2. 아두이노:초음파센서
  14. 분류:아두이노 프로젝트

개요

아두이노엔 Input을 위한 핀과 Output을 위한 핀이 있다.

디지털 핀

입력

0, 1로만 입력을 받는다. 3~5V가 들어오면 High(1)로 인식하고, 0~1.5V가 들어오면 Low(0)으로 인식한다.

int val = 0;  // 들어오는 신호를 담을 변수를 선언한다.

void setup(){
    pinMode(8, INPUT);  // 핀 8번을 입력모드로 설정한다.
}

void loop(){
    val = degitalRead(8);  // 8번 핀으로 들어온 신호를 변수에 대입한다.
    Serial.println(val);  // 시리얼모니터에 해당 값을 출력한다.
}

출력

출력 시엔 5V, 0V를 내보낸다.

void setup(){
    pinMode(8, OUTPUT);  // 핀 8번을 출력모드로 설정한다.
}

void loop(){
    digitalWrite(8, HIGH);  // 핀 8번에 디지털 신호 1을 넣는다.
    digitalWrite(8, LOW);  // 핀 8번에 디지털 신호 0을 넣는다.
}

아날로그 핀

일반적으로 A0~A5 처럼 앞에 A가 붙는 핀이 아날로그 핀이다.

입력

기본적으로 외부에서 0~5V의 아날로그 신호를 받으면 아두이노에선 0~1023의 값으로 인식한다.

int val = 0;  // 들어오는 신호를 담을 변수를 선언한다.

void setup(){
    Serial.begin(9600);  // 시리얼통신 시작.(속도 9600)
    }

void loop(){
    val = analogRead(A0);  // 0번 핀으로 들어온 신호를 변수에 대입한다.
    Serial.println(val);  // 시리얼모니터에 해당 값을 출력한다.
}

출력

출력은 0~5V의 신호를 0~255 값으로 출력한다.

실제로 전압이 낮은 게 아니라, 계속해서 5V 전압이 나오는데, 신호를 보내는 시간과 보내지 않는 시간 비율을 이용해 평균전압을 5V 이하로 낮춘다.(입력도 기본 원리는 같다.)