#include <Servo.h> // servo motor header
#include <Max3421e.h> // USB HOST header
#include <Usb.h> // USB header
#include <AndroidAccessory.h> // ADK interlocking header
#include <Stepper.h> // stepmotor header
#include <LiquidCrystal.h> // character LCD header
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS,EN,D4,D5,D6,D7(RW?GND)
#define LED0 37
#define LED1 36
#define LED2 35
#define LED3 34
#define LED4 33
#define LED5 32
#define LED6 31
#define LED7 30
#define SERVO1 9
#define LIGHT_SENSOR A0
#define VR A1
#define TEMP_SENSOR A2
#define HUMI_SENSOR A3
#define sonicVal 55.5
#define trigger 10
#define echo 13
#define col0 49
#define col1 48
#define col2 47
#define col3 46
#define row0 45
#define row1 44
#define row2 43
#define row3 42
const int columnPin[]={49,48,47,46};
const int rowPin[]={45,44,43,42};
#define SM1 14
#define SM2 15
#define SM3 16
#define SM4 17
#define PIR 39
#define keyScanDelay 30 // keypad scan time setting
#define keyTxDelay 10 // keypad input during trasmission function wait time
#define loopDelay 50 // ADK action function wait time
AndroidAccessory acc("Google, Inc.",
"DemoKit",
"DemoKit Arduino Board",
"1.0",
"http://www.android.com",
"0000000012345678");
Servo servos[1];
byte msg[3];
char count=0;
const int stepsPerRevolution = 200;
// 1 Revolution 1.8degrees, 200 Revolution 360degrees
Stepper stepper(stepsPerRevolution,SM1,SM2,SM3,SM4);
unsigned int stepSpeed=100, contiuneTurn=0;
char CW=0,Contiune=0;;
char rxlcd=0, i=0;
int len=0;
unsigned long val;
char adkflag=0;
uint8_t success;
uint8_t uidLength;
uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
void init_ultrasonic()
{
pinMode(trigger,OUTPUT);
digitalWrite(trigger,LOW);
pinMode(echo,INPUT);
digitalWrite(echo,LOW);
}
void init_leds()
{
pinMode(LED0, OUTPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
digitalWrite(LED0,HIGH);
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
digitalWrite(LED6,HIGH);
digitalWrite(LED7,HIGH);
}
// KEYPAD
void init_keypad()
{
for(char i=0 ; i<4 ; i++)
{
pinMode(columnPin*,INPUT);*
_ digitalWrite(columnPin*,LOW);_
_ }*_
* for(char i=0 ; i<4 ; i++)*
* {*
_ pinMode(rowPin*,OUTPUT);
digitalWrite(rowPin,LOW);
}
}
// STEPMOTOR*
void init_stepmotor()
{
* pinMode(SM1,OUTPUT);
pinMode(SM2,OUTPUT);
pinMode(SM3,OUTPUT);
pinMode(SM4,OUTPUT);
digitalWrite(SM1, LOW);
digitalWrite(SM2, LOW);
digitalWrite(SM3, LOW);
digitalWrite(SM4, LOW);
}
void init_PIR()
{
pinMode(PIR, INPUT);
}
void setup()
{
Serial.begin(9600);
Serial.print("\r\nStart");
Serial1.begin(19200);//BT serial*
* lcd.begin(16, 2);
lcd.setCursor(0, 0); lcd.print(" WELCOM HIROSCI ");
lcd.setCursor(0, 1); lcd.print(" HR - ARDUINO ");
delay(1000); // 1S wait*
* lcd.setCursor(0, 0); lcd.print(" HR - ARDUINO ");
lcd.setCursor(0, 1); lcd.print(" ");*_
* init_leds();
init_ultrasonic();
init_keypad();
init_PIR();
_ servos[0].attach(SERVO1);
servos[0].write(0);*_
* acc.powerOn();*
}
void loop()
{
* stepper.setSpeed(stepSpeed);*
* if (acc.isConnected()) {*
* adkflag=1;*
* len = acc.read(msg, sizeof(msg), 1);*
* }*
* if(Serial1.available() >= 3)*
* {*
* adkflag=0;*
* msg[0]=Serial1.read();*
* msg[1]=Serial1.read();*
* msg[2]=Serial1.read();*
* len = sizeof(msg);*
* }*
* driverSelect(); // ADK action function*
}