Programmazione ANDROID per controllo ARDUINO ADK come posso iniziare?

Ciao! sono elia, studio elettronica e ho già un po di esperienza nella programmazione in C e C++, conosco anche un po di java (e poi ho amici che lo conoscono benissimo), posseggo un Arduino ADK rev 3 e sarei interessato a creare un sistema che tramite un applicazione per android mediante usb possa controllare le uscite digitali ecc. dell'arduino mega adk!

Premetto che ho già installato tutti i pacchetti necessari (almeno credo) per programmare apps per android, ho quindi scaricato eclipse e l'ho configurato con l'android sdk più recente!

facendo il debug da eclipse si riesce a vedere bene l'applicazione creata sul mio telefono, quindi questa parte funziona.

ora però io vorrei sapere come fare in modo che per esempio un bottone nella schermata della mia app possa mandare tramite la usb host dell'arduino adk un impulso che faccia cambiare lo stato per esempio di una variabile per quindi controllare da telefono android!

non ho trovato guide su queste cose, vorrei imparare come programmare android per controllare appunto arduino e quindi cosa bisogna aggiungere al firmware arduino per farsi controllare da android.
Grazie mille :slight_smile:

Potresti usare una DuinoMite invece di una Arduino :wink:
http://www.duinomite.com/

Poi mi dici come hai fatto perchè lo voglio fare anch'io! :slight_smile: La DuinoMite l'ho già comprata, so programmare in C, ho Eclipse installato e programmicchiato un po' in Java, anche su cellulari Symbian... ma non so un piffero di programmazione Android! :~

Elius94:
ora però io vorrei sapere come fare in modo che per esempio un bottone nella schermata della mia app possa mandare tramite la usb host dell'arduino adk un impulso che faccia cambiare lo stato per esempio di una variabile per quindi controllare da telefono android!

La stragrande maggioranza degli smartphone, diciamo pure un bel 95%, non ha l'ADK installato quindi non puoi dialogare tramite l'ADK, devi per forza di cose andare in ADB, cosa possibile anche con l'Arduino MEGA Adk.
Se non vuoi comunicare tramite ADB e il tuo telefono non ha l'ADK, cosa quasi sicura, devi installare una delle varie mod idonee per il tuo smartphone previa verifica che includano l'ADK, attenzione che è una modifica che fai a tuo rischio e pericolo e che ti fa perdere la garanzia sull'apparato.

astrobeed:
La stragrande maggioranza degli smartphone, diciamo pure un bel 95%, non ha l'ADK installato quindi non puoi dialogare tramite l'ADK, devi per forza di cose andare in ADB, cosa possibile anche con l'Arduino MEGA Adk.
Se non vuoi comunicare tramite ADB e il tuo telefono non ha l'ADK, cosa quasi sicura, devi installare una delle varie mod idonee per il tuo smartphone previa verifica che includano l'ADK, attenzione che è una modifica che fai a tuo rischio e pericolo e che ti fa perdere la garanzia sull'apparato.

mmmhhh.
Qualche dettaglio sugli acronimi?

Intanto ho trovato questo interessante articolo su Android+Arduino (oltre a molti deprimenti post su come molti dispositivi andorid NON funzionino con ADK...):
http://www.circuitsathome.com/mcu/android_adk_compatible_usb_host_library_release

novità su questa cosa??
Programmo gia per android, quindi con eclipse e le app non ci sono problemi.
Da oggi ho uno di questi Mega Adk sotto mano, e un Nexus S per farci qualche prova.

Ma non so proprio da dove iniziare.
Suggerimenti utili?

P.s. Sto leggendo qui per ora.. http://labs.arduino.cc/ADK/Index
Se avete altri suggerimenti o esperienze.. tutto è bene accetto

Io sono nella vostra stessa situazione... voglio far comunicare il mio Arduino UNO r3, attraverso seriale USB, con la docking dell'Asus tf101... ho visto qualke altra documentazione. Per quel ke so è possibile per dipositivi android con o.s. dal 3.1 in poi... es. http://android.serverbox.ch/?p=549 ... ma non riesco proprio a farli comunicare. Attenzione ke il dispositivo android, per comunicare, richiede l'adattatore USB OTG che. In teoria la porta USB della docking dovrebbe essere OTG e ha un s.o. 4.0.3, quindi non dovrei avere problemi collegando direttamente l'Arduino... ma nn va... adesso, nn appena mi arrivano i pezzi, provo col bluetooth... Bho...

http://labs.arduino.cc/ADK/AccessoryMode

io ho risolto.
Comunicano... Ho a disposizione un Nexus S che è uno dei telefoni in lista. 8)

Ciao,
io settimana scorsa ho provato con le istruzioni di google อุปกรณ์ต่อพ่วง Android และอุปกรณ์เสริม  |  Android Open Source Project e ho compilato sia la parte Arduino che quella eclipse/java/android e caricato l'app sul telefono, ho collegato l'Arduino Mega ADK (R1) al mio Nexus S (4.1.1) e il telefono non trova l'ADK, l'adk era alimentato con un alimentatore da 12 volt 1,5 A, ho controllato i 5 volt con un multimetro ed erano 5.
La mia domanda è, ma ci vuole per forza la circuiteria dell'adk di Google (sensori led e menate varie) per far girare l'app o per provare basta l'Arduino Mega ADK?
Io non ho la shield con i componenti installata, ho solo l'adk arduiniano, che sia questo il problema?
Grazie.

Alberto

Ho visto sul market alcune applicazioni che comunicano con Arduino modulando segnali PWM o addirittura seriali tramite l'uscita audio...
Geniale e semplice, senza tante menate!
Devo pero' ancora provarle sui miei dispositivi.

https://play.google.com/store/apps/details?id=re.serialout&feature=also_installed (Audio Serial Out) (serve circuito aggiuntivo)

https://play.google.com/store/apps/details?id=name.antonsmirnov.android.arduinocommander&feature=search_result (Arduino commander: Bluetooth, ethernet e USB, anche con chip FTDI (Arduino UNO))

https://play.google.com/store/apps/details?id=com.primavera.arduino.listener&feature=search_result (Arduino Uno Communicator) (Please note that this app will not work with Arduino boards with the FTDI USB-to-serial driver chip.)

https://play.google.com/store/apps/details?id=slickdevlabs.apps.usbtoserialterm&feature=search_result (Slick USB 2 Serial Terminal) (allows you to use your tablet with your Prolific or FTDI based USB to Serial adapter )

https://play.google.com/store/apps/details?id=piessens.tom.rcchannels&feature=search_result (PWM Buddy) (PWM tramite uscita audio)

https://play.google.com/store/apps/details?id=jp.ksksue.app.terminal&feature=search_result ("USB Serial Monitor ", ma non conosco il cinese...)

Altro:
http://android.serverbox.ch/?p=427 ("Arduino USB transfer")

http://android.serverbox.ch/?p=549 (comunicare via USB sena rooting)

Buon divertimento! :wink:

Adesso mi funziona anche solo con l'Arduino Mega ADK,
ho levato l'inizializzazione del joistick, che non c'e, che bloccava il codice.

........

	init_leds();
	init_relays();
	init_buttons();
	//init_joystick( 5 );

	// autocalibrate OFF
	touch_robot.set_CS_AutocaL_Millis(0xFFFFFFFF);

	servos[0].attach(SERVO1);
	servos[0].write(90);
........