[faduino2-3] 산업용 아두이노에 버튼2개와 램프2개를 연결하고 버튼을 눌러서 여러가지 예약작업을 스위칭하도록 해보기!(녹칸다의 산업용 아두이노)
프로그래밍/산업용아두이노(fa-duino) 2023. 6. 17. 20:49반응형
안녕하세요!
녹칸다입니다!
녹칸다의 산업용 아두이노(fa-duino)의 빠른 내용 전달을 위해서 코드와 작동결과만을 별도로 정리해보도록 하겠습니다~!
녹칸다의 산업용 아두이노 2편에서 3번예제를 정리해보도록 하겠습니다~!
이번편에서는 아래와 같은 목표를 세워보겠씁니다!
적색버튼이 37번, 녹색버튼이 36번에 연결되어있고(입력)
적색램프가 38번, 녹색램프가 39번에 연결되어있을때(출력)
1.아무것도 작동안함
2.적색램프만 1초간격으로 on/off
3.녹색램프만 1초간격으로 on/off
4.적색과 녹색 둘다 1초간격으로 on/off
녹색버튼을 누르면 1->4방향으로 작업이 변환되고 적색버튼을 누르면 4->1순으로 작업이 변환된다!
예제에 사용한 소스코드는 아래와 같습니다~!
//적색버튼이 37번, 녹색버튼이 36번에 연결되어있고(입력)
//적색램프가 38번, 녹색램프가 39번에 연결되어있을때(출력)
//1.아무것도 작동안함
//2.적색램프만 1초간격으로 on/off
//3.녹색램프만 1초간격으로 on/off
//4.적색과 녹색 둘다 1초간격으로 on/off
//녹색버튼을 누르면 1->4방향으로 작업이 변환되고 적색버튼을 누르면 4->1순으로 작업이 변환된다!
int sw = 1; //1이면 1번작업, 2이면 2번작업, 3이면 3번작업, 4면 4번작업
void setup() {
//입력과 출력은 pinMode함수로 방향을 결정해주어야한다!
pinMode(37,INPUT);
pinMode(36,INPUT);
pinMode(38,OUTPUT);
pinMode(39,OUTPUT);
}
void loop() {
//녹색버튼이 눌려지면~
bool green_btn = digitalRead(36);
bool red_btn = digitalRead(37);
if(green_btn == HIGH){
sw++;
if(sw > 4) sw = 1;
}
if(red_btn == HIGH){
sw--;
if(sw < 1) sw = 4;
}
if(sw == 1){
digitalWrite(38,HIGH);
digitalWrite(39,LOW);
delay(1000);
digitalWrite(38,LOW);
digitalWrite(39,HIGH);
delay(1000);
}else if(sw == 2){
//적색
digitalWrite(39,LOW);
digitalWrite(38,HIGH);
delay(1000);
digitalWrite(38,LOW);
delay(1000);
}else if(sw == 3){
//녹색
digitalWrite(38,LOW);
digitalWrite(39,HIGH);
delay(1000);
digitalWrite(39,LOW);
delay(1000);
}else if(sw == 4){
//둘다
digitalWrite(38,HIGH);
digitalWrite(39,HIGH);
delay(1000);
digitalWrite(38,LOW);
digitalWrite(39,LOW);
delay(1000);
}
}
실험결과는 녹칸다의 라이브방송에 해당예제를 구현한곳의 링크로 대체합니다~~!(원본이 3시간임)
https://youtu.be/Y68Il4TQfAw?t=2362
반응형