2012-10-17 00:43:34 +02:00
// The source for the Android application can be found at the following link: https://github.com/Lauszus/ArduinoBlinkLED
2012-03-25 16:28:50 +02:00
// The code for the Android application is heavily based on this guide: http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/ by Miguel
# include <adk.h>
USB Usb ;
2013-10-30 15:21:50 +01:00
ADK adk ( & Usb , " TKJElectronics " , // Manufacturer Name
" ArduinoBlinkLED " , // Model Name
" Example sketch for the USB Host Shield " , // Description (user-visible string)
" 1.0 " , // Version
" http://www.tkjelectronics.dk/uploads/ArduinoBlinkLED.apk " , // URL (web page to visit if no installed apps support the accessory)
" 123456789 " ) ; // Serial Number (optional)
2012-03-25 16:28:50 +02:00
2013-10-30 15:21:50 +01:00
# define LED LED_BUILTIN // Pin 13 is occupied by the SCK pin on a normal Arduino (Uno, Duemilanove etc.), so use a different pin
2012-03-25 16:28:50 +02:00
2013-10-30 15:21:50 +01:00
void setup ( ) {
2012-03-25 16:28:50 +02:00
Serial . begin ( 115200 ) ;
2013-10-21 19:58:03 +02:00
while ( ! Serial ) ; // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
2012-03-25 16:28:50 +02:00
if ( Usb . Init ( ) = = - 1 ) {
Serial . print ( " \r \n OSCOKIRQ failed to assert " ) ;
2013-10-30 15:21:50 +01:00
while ( 1 ) ; // halt
2012-03-25 16:28:50 +02:00
}
2012-04-11 01:48:46 +02:00
pinMode ( LED , OUTPUT ) ;
2013-10-21 19:58:03 +02:00
Serial . print ( " \r \n Arduino Blink LED Started " ) ;
2012-03-25 16:28:50 +02:00
}
2013-10-30 15:21:50 +01:00
void loop ( ) {
2012-03-25 16:28:50 +02:00
Usb . Task ( ) ;
2013-10-30 15:21:50 +01:00
if ( adk . isReady ( ) ) {
2012-03-25 16:28:50 +02:00
uint8_t msg [ 1 ] ;
uint16_t len = sizeof ( msg ) ;
uint8_t rcode = adk . RcvData ( & len , msg ) ;
2013-10-30 15:21:50 +01:00
if ( rcode & & rcode ! = hrNAK )
2012-03-25 16:28:50 +02:00
USBTRACE2 ( " Data rcv. : " , rcode ) ;
2013-10-30 15:21:50 +01:00
else if ( len > 0 ) {
2012-03-25 16:28:50 +02:00
Serial . print ( F ( " \r \n Data Packet: " ) ) ;
Serial . print ( msg [ 0 ] ) ;
2013-10-30 15:21:50 +01:00
digitalWrite ( LED , msg [ 0 ] ? HIGH : LOW ) ;
2012-03-25 16:28:50 +02:00
}
2013-10-30 15:21:50 +01:00
}
2012-03-25 16:28:50 +02:00
else
2013-10-30 15:21:50 +01:00
digitalWrite ( LED , LOW ) ;
2012-03-25 16:28:50 +02:00
}