Skip to content

Instantly share code, notes, and snippets.

@Matsushige
Created June 21, 2012 07:05
Show Gist options
  • Save Matsushige/2964324 to your computer and use it in GitHub Desktop.
Save Matsushige/2964324 to your computer and use it in GitHub Desktop.
Arduinoコード リレー制御
#include <Max3421e.h>
#include <Usb.h>
#include <AndroidAccessory.h>
#define LED1_GREEN 10
#define RELAY1 A0
#define RELAY2 A1
AndroidAccessory acc("Google, Inc.", // 組織名
"DemoKit", // アプリ名
"DemoKit Arduino Board", // アプリ説明
"1.0", // バージョン
"http:///www.google.com", // URL
"0000000012345678"); // シリアル
void setup();
void loop();
void init_led()
{
digitalWrite(LED1_GREEN,1);
pinMode(LED1_GREEN,OUTPUT);
}
void init_relays()
{
pinMode(RELAY1,OUTPUT);
pinMode(RELAY2,OUTPUT);
}
void setup()
{
init_led();
init_relays();
acc.powerOn();
}
void loop()
{
byte msg[3];
if(acc.isConnected()){
int len = acc.read(msg,sizeof(msg),1);
analogWrite(LED1_GREEN,252);
if(len > 0){
/* 2バイト目が1ならリレー1、2ならリレー2
   3バイト目が1ならリレーON、0ならリレーOFF */
if(msg[0] == 0x3){
if(msg[1] == 0x1){
digitalWrite(RELAY1, msg[2] ? HIGH : LOW);
}else if(msg[1] == 0x2){
digitalWrite(RELAY2, msg[2] ? HIGH : LOW);
} //msg[1] == 0x1
} //msg[0] == 0x3
} //len > 0
// データの送受信処理
}
else{
analogWrite(LED1_GREEN,255);
digitalWrite(RELAY1, LOW);
digitalWrite(RELAY2, LOW);
}
delay(10);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment