일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTML
- 자동글쓰기
- Python
- 무료일러스트
- php
- 가상서버
- 아두이노
- Php공부
- 아두이노 초보
- vps
- 챗지피티
- 프로그램
- 파싱
- 자바스크립트
- 자동포스팅
- 웹
- 아두이노 강좌
- 아두이노 기초강좌
- cocos2d-x
- Ajax
- 그누보드
- c#
- 쿠팡파트너스
- flex
- vultr
- ChatGPT
- 파이썬
- Javascript
- 워드프레스
- 자동블로그
- Today
- Total
플밍
아두이노 기초강좌 - 8. 디지털 입/출력 본문
본 강좌는 지인의 사이트에서 허락받고 퍼온 강좌입니다.
다른곳으로 불펌하시면 곤란합니다.
그리고 제가 아두이노를 그리 잘 알지는 못합니다.
저한테 물어보시는것도 곤란.... ^^
#ads_1
오늘은 디지털 입/출력이네요
아날로그는 입력 출력장을 나눴는데 디지털은 입/출력으로 한장으로 묶어 버렸습니다.
그동안 한 내용들이 중복되기도 하고 별거 없거든요 ㅋ
#ads_2
위 그림 이제 익숙하시죠? 버튼을 풀업저항으로 연결한겁니다.
단지 아날로그 핀이 아니라 디지털 2번 핀으로 연결해논것 밖에 없습니다.
디지털 입/출력을 사용하기 위해서는 아날로그 입/출력과 달리 절차가 필요합니다.
절차라 해봐야 간단합니다.
2번핀을 입력핀으로 쓸때
pinMode(2, INPUT);
2번핀을 출력핀으로 쓸때
pinMode(2, OUTPUT);
이게 답니다.
그럼 소스를 볼까요?
int btn_pin = 2; int led_pin = 13;
void setup() { Serial.begin(9600); pinMode(btn_pin, INPUT); //2번핀을 입력핀으로 설정 pinMode(led_pin, OUTPUT); //13번핀을 출력핀으로 설정 }
void loop() { int btn_state = digitalRead(btn_pin); //2번핀에서 입력값을 읽어라 if(btn_state){ //입력값이 1이면 digitalWrite(led_pin, LOW); //13 LED를 끈다 }else{ //입력값이 0이면 digitalWrite(led_pin, HIGH); //13 LED를 켠다 } Serial.println(btn_state); delay(10); }
|
궂이 길게 설명할 것도 없이 주석만으로 이해가 되시죠? (되시리라 믿습니다. 여러분은 머리가 좋으니까요)
그럼 업로드 하고 실행해봅시다
버튼을 눌렀다 뗐다 해보세요
아두이노에 내장된 13번 LED가 눌렀을때 켜지고 뗄때 꺼지는게 보이시나요?
디지털 출력은 말 그대로 디지털이기 때문에 1과 0으로 입력 또는 출력을 합니다
참고로 아날로그 입력은 0~1023 이고 아날로그 출력은 pwm(실제로는 디지털)으로 0~255까지인거 기억하시고요.
오늘은 디지털입/출력에 대해 알아봤습니다.
간단하게 다 배웠네요 ㅎ
#ads_3