아두이노의 기초 1 - 입출력 포트 설정 및 입출력 포트 제어
void setup() {
// 정의 - meaga2560의 41번 Pin을 Out1 으로 정의
#define Out1 41
#define Out2 8
#define Out3 13
#define Out4 14
#define Input1 36
#define Input2 39
#define Input3 38
// Input , Output 설정 (out1~3 을 OUTPUT으로 설정 , Input1 ~ 3을 INPUT으로 설정)
pinMode(Out1 , OUTPUT);
pinMode(Out2 , OUTPUT);
pinMode(Out3 , OUTPUT);
pinMode(Out4 , OUTPUT);
pinMode(Input1 , INPUT);
pinMode(Input2 , INPUT);
pinMode(Input3 , INPUT);
}
void loop() {
// Input1 이 "1" 일때 Out1 이 "1" 로 출력 // Buffer
if(digitalRead(Input1)) // if(digitalRead(Input1) == 1) 로 사용해도 됨
{
digitalWrite(Out1 , HIGH);
}
else
{
digitalWrite(Out1 , LOW);
}
// Input1 이 "1" 일때 Out2 이 "0" 로 출력 // Not Gate
if(digitalRead(Input2)) // if(digitalRead(Input2) == 1) 로 사용해도 됨
{
digitalWrite(Out2 , LOW);
}
else
{
digitalWrite(Out2 , HIGH);
}
// Input1 과 Input2 가 동시에 "1" 일때 Out3 이 "1" 로 출력 // And Gate
if(digitalRead(Input1) && digitalRead(Input2)) // (digitalRead(Input1) == 1 && digitalRead(Input2) == 1) 로 사용해도 됨
{
digitalWrite(Out3 , HIGH);
}
else
{
digitalWrite(Out3 , LOW);
}
// Input1 과 Input2 중 하나라도 "1" 일때 Out4 이 "1" 로 출력 // Or Gate
if(digitalRead(Input1) || digitalRead(Input2)) // (digitalRead(Input1) == 1 || digitalRead(Input2) == 1) 로 사용해도 됨
{
digitalWrite(Out4 , HIGH);
}
else
{
digitalWrite(Out4 , LOW);
}
}
처음 입문자들에게 도움이 되길 바라며, 추가 제어방법 필요 하시면
댓글로 문의 주시면 자세하게 알려드리겠습니다.
리프로