본 강좌는 지인의 사이트에서 허락받고 퍼온 강좌입니다.
다른곳으로 불펌하시면 곤란합니다.
그리고 제가 아두이노를 그리 잘 알지는 못합니다.
저한테 물어보시는것도 곤란.... ^^
#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