반응형

안녕하세요!
녹칸다입니다!

녹칸다의 산업용 아두이노(fa-duino)의 빠른 내용 전달을 위해서 코드와 작동결과만을 별도로 정리해보도록 하겠습니다~!
녹칸다의 산업용 아두이노 2편에서 12번예제를 정리해보도록 하겠습니다~!

 

이번 예제에서는 아래와 같은 목표가 있습니다~!

1.산업용 아두이노의 출력핀에 파일럿램프를 아래와 같이 연결함!
2.적색(38),황색(39), 녹색(40)
3.3단 셀렉터의 NO가 37번, NC가 36번에 연결되었다!
4.셀렉터의 방향이 오른쪽으면 녹색램프를 켜고, 중앙이면 황색을켜고, 왼쪽이면 적색을 켜시오!
5.3단 셀렉터이기 때문에 3가지의 경우의수가 있는 것이다!

 

산업용 아두이노(faduino)에서 3단 셀렉터를 사용하기 위한 기본 원리는 아래와 같습니다~!

1.셀렉터의 위치가 왼쪽, 중간, 오른쪽 3개라고 할때 오른쪽방향을 하고 있을때 NO끼리 서로 접점이 안붙어있고, NC끼리는 서로 접점이 붙어있다!
2.중간위치로하면 NO와 NC둘다 접점이 떨어진다!
3.왼쪽위치로 하면 NO의 접점이 달라붙고, NC의 접점이 떨어진다!
4.37번에 LOW면서 36번이 HIGH라면 셀렉터 위치가 오른쪽인 상황이다!
5.둘다 LOW라면 셀렉터 위치가 중간이다!
6.37번이 HIGH면서 36번이 LOW라면 왼쪽을 향하고 있는 것이다!

예제에 사용한 소스코드는 아래와 같습니다~!

//적(38),황(39), 녹(40)
//3단 셀렉터의 NO가 37번, NC가 36번에 연결되었다!
//셀렉터의 방향이 오른쪽으면 녹색램프를 켜고, 중앙이면 황색을켜고, 왼쪽이면 적색을 켜시오!

unsigned long t = 0;
volatile int manual = 0; //0이면 off, 1이면 적, 2면 황, 3이면 녹색!

void setup() {
  Serial.begin(9600);
  //입력과 출력은 pinMode함수로 방향을 결정해주어야한다!
  pinMode(38,OUTPUT);
  pinMode(39,OUTPUT);
  pinMode(40,OUTPUT);
  pinMode(37,INPUT);
  pinMode(36,INPUT);
                                  
}
void loop() {
  bool selector_no = digitalRead(37);
  bool selector_nc = digitalRead(36);

  if(selector_no == LOW && selector_nc == HIGH){
    //오른쪽
    digitalWrite(38,LOW);
    digitalWrite(39,LOW);
    digitalWrite(40,HIGH);
  }else if(selector_no == HIGH && selector_nc == LOW){
    //왼쪽
    digitalWrite(38,HIGH);
    digitalWrite(39,LOW);
    digitalWrite(40,LOW);
  }else{
    //가운데
    digitalWrite(38,LOW);
    digitalWrite(39,HIGH);
    digitalWrite(40,LOW);
  }
}

예제의 작동결과는 녹칸다의 라이브방송중 해당 예제의 대략적인 위치를 링크걸도록 하겠습니다~~!

https://youtu.be/Y68Il4TQfAw?t=9091 

 

반응형
Posted by 덕력킹
,