Blynk 로서 휴대폰으로 Smart Controller의 원격제어 버턴의 기능 및 Timer를 Setting하는 방법입니다.
Smart Controller에는 총 10개의 버턴이 있고 그 중 1개는 Timer로 구성되어 있습니다.
10개의 버턴 중 4개는 무전기 선택 용, 또 4개는 안테나 선택을 위한 버턴으로 구성되어 있으며, 나머지 2개 중 하나는 Arduino NANO 전원 제어용, 나머지는 컴퓨터 전원을 켜고 꺼는 용도의 버턴입니다.
무전기와 안테나의 선택 버턴은 NodeMcu의 Digital 출력 Port와 동기가 되어 동작하는데,
이는 또 Local 조작을 위한 토글 스윗치와 꼭 같이 작동합니다.
휴대폰에서 버턴과 Timer 위젯을 사용할 때는 우선 초기 설정을 해야 하는데, 버턴의 명칭과 이 버턴이 NodeMcu의 어떤 출력 Port와 연결되는가를 설정하는 것이 가장 중요합니다.
각 버턴의 명칭을 표기하는 것은 국문, 영문 모두 가능하며, 글자의 크기도 조정할 수 있고, 각 버턴의 색상도 선택해서 조정할 수 있으며, 버턴의 배치도 자유롭게 설정할 수 있습니다.
그러고 각 버턴의 출력 신호가 High Level인가? Low Level인가? 를 설정하는 일도 중요한데, 이를 확인하기 위해서는 NodeMcu에서 출력되는 신호가 Relay Module을 어떤 Level에서 Triggere되는가를 이해해야 합니다.
이 버턴의 출력은 Arduino NANO의 입력으로 연결됨으로, Arduino NANO의 입력은 High Level에서 Trigger됨으로 위 사진에서는 0 다음 1을 선택해야 합니다.
반대의 경우는 1에서 0을 선택하는데, 이 표기는 버턴을 누름으로 Digital 신호를 1에서 0으로 할 것인가 혹은 0에서 1로 할 것인가를 설정하는 것입니다.
그리고 Relay Module은 Low Level에서 Trigger되는데, 한편으로 High Level에서 Trigger되는 것도 있으니 이를 반드시 확인해야 합니다. 현재 여기서는 Low Level에서 Relay Module이 동작함으로 Arduino NANO에서의 출력 신호는 Program에서 설정해야 합니다.
if(valTrcv6 == HIGH) // 무전기 2 선택
{
digitalWrite(TrcvRelay2, LOW);
}
위 함수 명령은 무전기를 선택하는 2번 스윗치에 High Level (5Volt)의 신호가 선택되면 무전기 2번 Relay를
동작시켜라 하는
함수 명령어입니다. Relay Module이 Low Level에 Trigger됨으로 (TrcvRelay2, LOW)로 한 것입니다.
한편으로 Timer는 시작 시각과 마침 시각을 초 단위 까지 설정할 수 있는데, 이는 스케줄 교신에 매우 유용하게 사용할 수 있습니다.
Timer에서는 이를 어떤 Device에 적용할 것인가와, 신호 Level을 Start 할 때 출력 할 것인가를 설정해야 합니다.
이는 당연히 D8에 연결되는 Device로 설정해 두었는데, D8은 Arduino NANO에 전원을 Switching하는 Relay이기 때문입니다.
따라서 예약 스케줄 송신 시에는 먼저 어떤 무전기를 어떤 안테나에 연결 할 것인가를 먼저 스윗칭 해둔 다음,
마지막으로 D8 Arduino NANO의 전원 동작 시각을 설정해 두면, 설정된 시각에 자동으로 무전기와 안테나가 연결되어 수신 상태가 됩니다.