컴퓨터의 전원 스윗치의 조작은 까다로운 조건이 필요합니다.
즉 계속 눌러서도 않되며 약 1초동안 눌렀다가 떼어야 합니다.
내부 스윗치 회로에 작접 제어 선로를 연결해도 되나, 기계적으로 전면 컴퓨터 Pannel을
분해해야 합니다.
따라서 여기서는 컴퓨터 전원 스윗치 부분에 Servo Motor를 접속하여
컴퓨터 전원을 on 시킬때 Servo Motor를 악 40도 회전시켜 컴퓨터 전원 스윗치를 on시키고
원위치 하는 Arduino 의 Cording 에제 입니다.
출처 : www.switch-bot.com/
- 위와 같이 switch bot을 이용하여 컴퓨터 전원을 on, off 할 수 있습니다. -
아래 예제는 Arduino UNO 대신 Arduino NANO를 사용한 예제입니다.
============================================================
/*
리모트 무선국을 위해, 아두이노 나노를 이용하여 무전기와 컴퓨터를
작동시키기 위한 서보모터와 Relay를 제어 스케치입니다.
제작자 : HL5LH
*/
#include <Servo.h> //서보모터 라이브러리를 불러옵니다.
Servo myservo; // 서보모터를 제어할 서보 오브젝트를 만듭니다.
int Relay = 5; // 아두이노 나노의 디지털 출력 Port 5에 Relay를 연결합니다.
void setup()
{
{
myservo.attach(9); // 핀 9의 서보를 서보 오브젝트에 연결합니다.
}
myservo.write(2); // 서보모터의 회전위치를 2도에서 시작합니다.
delay(20);
myservo.write(40); // 서보모터를 40도 회전 합니다.
delay(700); // 40도로 회전한 서보모터를 0.7초동안 정지합니다.
myservo.write(2); // 0.7초 중지한 서보모터를 2도 회전하도록 합니다.
delay(20);
pinMode(Relay, OUTPUT);
digitalWrite(Relay, LOW); //Relay Module을 LOW위치로 설정합니다.
delay(15);
digitalWrite(Relay, HIGH); // Relay Module을 동작시킵니다.
delay(1000); // 1초동안 Relay 동작을 유지 시킵니다.
digitalWrite(Relay, LOW); // 1초동안 유지한 Relay를 원위치로 복귀랍니다.
}
void loop()
{
// 위 동작은 전원이 들어오면 1회만 작동시키고 무한 반복을 시키지 않습니다
}
===========================================================
컴퓨터의 전원 스윗치 Pannel위에 Servo Switch를 위와 같이 부착하고
연속된 전원 또는 일정 폭의 전압을 가하면 Servo Motor가 동작하여 기계적으로 전원 스윗치를
on 했다가 원위치로 돌아옵니다.