Pages: [1]   Go Down
Author Topic: Arduino board mit ipod touch steuern !  (Read 1124 times)
0 Members and 1 Guest are viewing this topic.
Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo !
Ich habe mal ein bischen im internet gesucht, wie man ein arduino board (mega) mit einem ipod touch steuern könnte. Nur habe ich bis jetzt nur lösungen mithilfe eines ethernet shields gefunden, und da ich nciht wirklich lust habe geld auszugeben dacht ich einfach ich frag mal hier !
Also die frage ist, ob man nun ein arduino ( welches logischer weise mit einem computer verbunden ist )mit einem ipod touch verbinden kann ?! Dies wird warscheinlich irgendwie über einen server laufen ?!oder nicht !?
Also im appstore hab ich auch schon nach ein paar apps gesucht und habe da auch ein relativ gutes gefunden:
http://netio.davideickhoff.de/

ich hoffe mir kann da jemand weiterhelfen !

Lorenz
« Last Edit: May 20, 2012, 09:20:08 am by lgrube96 » Logged

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

mit processing, touchosc und dem standardfirmata sketch (aus den arduino beispielen) habe ich das schonmal hinbekommen.
TouchOSC: http://hexler.net/software/touchosc

hier ein tutorial, das mit gut geholfen hatte (ist auf englisch).
http://cbrobotics.com/2010/09/interfacing-arduino-and-touchosc/

stefan

Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

mit processing, touchosc und dem standardfirmata sketch (aus den arduino beispielen) habe ich das schonmal hinbekommen.
TouchOSC: http://hexler.net/software/touchosc

hier ein tutorial, das mit gut geholfen hatte (ist auf englisch).
http://cbrobotics.com/2010/09/interfacing-arduino-and-touchosc/

stefan

vielen dank ! hört sich gut an.
Jetzt habe ich nur ein problem wenn ich den code auf das arduino senden will, dann kommt immer diese
fehlermeldungen

Code:
sketch_may23a:28: error: 'arduino' was not declared in this scope
sketch_may23a:32: error: expected type-specifier before 'Arduino'
sketch_may23a:32: error: expected `;' before 'Arduino'
sketch_may23a:35: error: 'Arduino' was not declared in this scope
sketch_may23a:35: error: expected unqualified-id before numeric constant
sketch_may23a.cpp: At global scope:
sketch_may23a:36: error: variable or field 'oscEvent' declared void
sketch_may23a:36: error: 'OscMessage' was not declared in this scope
sketch_may23a:-1: error: variable or field 'oscEvent' declared void
sketch_may23a:-1: error: 'OscMessage' was not declared in this scope
sketch_may23a:1: error: 'import' does not name a type
sketch_may23a:2: error: 'import' does not name a type
sketch_may23a:3: error: 'import' does not name a type
sketch_may23a:4: error: 'import' does not name a type
sketch_may23a:7: error: 'Arduino' does not name a type
sketch_may23a:10: error: 'OscP5' does not name a type
sketch_may23a.cpp: In function 'void setup()':
sketch_may23a:19: error: 'size' was not declared in this scope

sketch_may23a:20: error: 'frameRate' was not declared in this scope


sketch_may23a:24: error: 'oscP5' was not declared in this scope
sketch_may23a:24: error: expected type-specifier before 'OscP5'

sketch_may23a:24: error: expected `;' before 'OscP5'

sketch_may23a:28: error: 'arduino' was not declared in this scope

sketch_may23a:28: error: expected type-specifier before 'Arduino'

sketch_may23a:28: error: expected `;' before 'Arduino'
sketch_may23a:31: error: 'Arduino' was not declared in this scope
sketch_may23a:31: error: expected unqualified-id before numeric constant
sketch_may23a.cpp: At global scope:
sketch_may23a:36: error: variable or field 'oscEvent' declared void
sketch_may23a:36: error: 'OscMessage' was not declared in this scope



sketch_may23a:-1: error: variable or field 'oscEvent' declared void
sketch_may23a:-1: error: 'OscMessage' was not declared in this scope
sketch_may23a:1: error: 'import' does not name a type
sketch_may23a:2: error: 'import' does not name a type
sketch_may23a:3: error: 'import' does not name a type
sketch_may23a:4: error: 'import' does not name a type
sketch_may23a:7: error: 'Arduino' does not name a type
sketch_may23a:10: error: 'OscP5' does not name a type
sketch_may23a.cpp: In function 'void setup()':
sketch_may23a:19: error: 'size' was not declared in this scope
sketch_may23a:20: error: 'frameRate' was not declared in this scope
sketch_may23a:24: error: 'oscP5' was not declared in this scope
sketch_may23a:24: error: expected type-specifier before 'OscP5'
sketch_may23a:24: error: expected `;' before 'OscP5'
sketch_may23a:28: error: 'arduino' was not declared in this scope
sketch_may23a:28: error: expected type-specifier before 'Arduino'
sketch_may23a:28: error: expected `;' before 'Arduino'
sketch_may23a:31: error: 'Arduino' was not declared in this scope
sketch_may23a:31: error: expected unqualified-id before numeric constant
sketch_may23a.cpp: At global scope:
sketch_may23a:36: error: variable or field 'oscEvent' declared void
sketch_may23a:36: error: 'OscMessage' was not declared in this scope

hoffe du kannst mir weiterhelfen

oder vielleciht habe ich ja auch irgendetwas falsch gemacht bei dem hinzufügen
dieser  oscP5 library  ?! man muss die doch einfach den ordner den man runterlädt da bei arduino einfach
in den ordner libraries verschieben oder nicht ?

lorenz


« Last Edit: May 23, 2012, 10:29:54 am by lgrube96 » Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1407
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du bekommst die Fehlermeldungen, weil der Sketch den Du auf den Arduino spielen willst, nicht für den Arduino ist. Sondern für die Processing-Umgebung, also den Teil der Software, der auf dem PC läuft.
Auf den Arduino muss die "firmata" Firmware gespielt werden:
http://arduino.cc/en/Reference/Firmata
Soweit ich das verstanden habe, kommuniziert die App auf Deinem Telefon mit dem Processing auf Deinem Rechner, welches dann den Arduino über die serielle Schnittstelle steuert.

Es scheint aber auch einen direkten Weg, ohne Processing zu geben. Und damit direkt vom Smartphone auf den Arduino:
http://recotana.com/recotanablog/closet
« Last Edit: May 23, 2012, 10:38:15 am by mkl0815 » Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du bekommst die Fehlermeldungen, weil der Sketch den Du auf den Arduino spielen willst, nicht für den Arduino ist. Sondern für die Processing-Umgebung, also den Teil der Software, der auf dem PC läuft.
Auf den Arduino muss die "firmata" Firmware gespielt werden:
http://arduino.cc/en/Reference/Firmata
Soweit ich das verstanden habe, kommuniziert die App auf Deinem Telefon mit dem Processing auf Deinem Rechner, welches dann den Arduino über die serielle Schnittstelle steuert.

Es scheint aber auch einen direkten Weg, ohne Processing zu geben. Und damit direkt vom Smartphone auf den Arduino:
http://recotana.com/recotanablog/closet

Ouh stimmt ja ...ja nur ich weis nicht ganz wie und wo ich diese oscp5 library bei processing installieren soll ?!

und bei dem weg ohne processing versteh ich die website noch nciht ganz..
wo gibt es da eine anleitung und was muss ich da downloaden und wohin ?!

lorenz
Logged

Offline Offline
Edison Member
*
Karma: 21
Posts: 1407
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Lib für die standalone Variante gibt es hier:
https://github.com/recotana/ArdOSC
Das gibt es einen Button um die aktuelle Version als ZIP herunter zu laden.
Das ZIP entpackst Du in Deinen Documente/Arduino/libraries/ Ordner. Anschliessend muss man leider das Verzeichnis noch von "recotana-ArdOSC-b5db4d3" in "ArdOSC" umbenennen. Danach dann die IDE starten und Du hast unter "File" -> "Examples" -> "ArdOSC" die Beispiele um mit der Lib zu arbeiten.
Getestet habe ich das aber noch nicht.
Logged

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

Quote
Ouh stimmt ja ...ja nur ich weis nicht ganz wie und wo ich diese oscp5 library bei processing installieren soll ?!

wie mkl0815 schon bemerkt hat gibt es anscheinen einen direkten weg mit der ArdOSC library für arduino.

wenn du es trotzdem noch über processing machen willst bekommst du die oscp5 lib hier: http://www.sojamo.de/libraries/oscP5/.
in der .zip datei ist neben der lib auch eine anleitung zum installieren.

Quote
Put library oscP5 into the 'libraries' folder
inside your sketchbook folder.
if folder 'libraries does not exist, create it.
after library oscP5 has been successfully installed, restart processing.

die lib muss in den sketchbook ordner von processing.
der processing ordner ist normalerweise auch da wo dein arduino sketchbook ordner ist.

bei mir gab es zunächst nur den ordner C:\Users\DEINNAME\Documents\Processing\
dort habe ich den ordner libraries erstellt und da hinein dann den inhalt der .zip reinkopiert. --> C:\Users\tres\Documents\Processing\libraries\oscP5\


hier noch ein youtube vid zum gleichen thema (mit processing).


hier wurde dieses tutorial benutzt: http://www.sparkfun.com/tutorials/152

smiley-wink
stefan
                     
                     
Logged

NRW
Offline Offline
Sr. Member
****
Karma: 1
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du kannst auch mal hier: http://arduino.cc/forum/index.php/topic,70691 schauen.
Dort hab ich auch versucht meinen Arduino per OSC zu steuern.
Ich wollte aber auf jeden Fall keinen Rechner dabei laufen haben.
Soweit hat das auch geklappt.
Was ich noch vor hatte aber noch nicht umgesetzt habe ist das ganze dann über wLan zu machen.

Kannst ja mal rein schauen.
Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du kannst auch mal hier: http://arduino.cc/forum/index.php/topic,70691 schauen.
Dort hab ich auch versucht meinen Arduino per OSC zu steuern.
Ich wollte aber auf jeden Fall keinen Rechner dabei laufen haben.
Soweit hat das auch geklappt.
Was ich noch vor hatte aber noch nicht umgesetzt habe ist das ganze dann über wLan zu machen.

Kannst ja mal rein schauen.

Auch nicht schlecht ! aber ich wollte das ja jetzt MIT computer machen, da ich momentan
kein ethernet shield habe...

Lorenz
Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi,

Quote
Ouh stimmt ja ...ja nur ich weis nicht ganz wie und wo ich diese oscp5 library bei processing installieren soll ?!

wie mkl0815 schon bemerkt hat gibt es anscheinen einen direkten weg mit der ArdOSC library für arduino.

wenn du es trotzdem noch über processing machen willst bekommst du die oscp5 lib hier: http://www.sojamo.de/libraries/oscP5/.
in der .zip datei ist neben der lib auch eine anleitung zum installieren.

Quote
Put library oscP5 into the 'libraries' folder
inside your sketchbook folder.
if folder 'libraries does not exist, create it.
after library oscP5 has been successfully installed, restart processing.

die lib muss in den sketchbook ordner von processing.
der processing ordner ist normalerweise auch da wo dein arduino sketchbook ordner ist.

bei mir gab es zunächst nur den ordner C:\Users\DEINNAME\Documents\Processing\
dort habe ich den ordner libraries erstellt und da hinein dann den inhalt der .zip reinkopiert. --> C:\Users\tres\Documents\Processing\libraries\oscP5\


hier noch ein youtube vid zum gleichen thema (mit processing).


hier wurde dieses tutorial benutzt: http://www.sparkfun.com/tutorials/152

smiley-wink
stefan
                     
                     


Vielen Dank!

Aber ich glaube, wenn man das ohne processing machen will brauch man auch nen ethernetshield,
stand zumindest bei den codes ...

Ich habe das dann mal nach deiner anleitung installiert, aber der Code wird immer noch nicht
für gut empfunden,  da befinden sich immer noch fehler :
The package "cc" does not exist ?!


Lorenz
Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also ich hab es jetzt mit dem http://cbrobotics.com/2010/09/interfacing-arduino-and-touchosc/ Tutorial versucht !
Und es hat geklappt ! mit iPad...find ich schon mal richtig gut, aber
jetzt versuch ich halt auch das zweite tutorial ausprobieren, doch da habe ich mein problem mit dem editor, mit dem man sich dann für das
iPad/ iPod touch nen Button erstellen soll...aber ich kann den editor irgendwie nicht öffnen weil da JRE fehlt oder so...
Ich will auch noch versuchen ein LED zu faden aber bin noch nicht wirklich voran gekommen da ich ncht weis wie die einzelnen Schaltsymbole auf dem ipad
heisen..?!

hoffe mir kann jemand da helfen !

Lorenz
Logged

Germany
Offline Offline
Sr. Member
****
Karma: 2
Posts: 285
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Also mit faden müsste das doch eigentlich so aussehen oder nciht ?!
Code:
// import oscP5 libraries and Arduino serial libraries
import oscP5.*;
import netP5.*;
import processing.serial.*;
import cc.arduino.*;
 
// make a new Arduino object
Arduino arduino;
 
// make a new oscP5 object
OscP5 oscP5;
 
// setup the value for the button
float v_fader2 = 0.0f;
 
// run the setup loop
void setup() {
 
  // configure the screen size and frame rate
  size(200,200);
  frameRate(30);
 
  // start oscP5, listening for incoming messages at port 8000
  // if your outgoing port on TouchOSC is not 8000, edit it here
  oscP5 = new OscP5(this,8000);
 
  // establish a serial connection with the Arduino at 57600 baud
  // this will use the first listing in the serial list, change if necessary
  arduino = new Arduino(this,Serial.list()[0],57600);
 
  // setup Arduino pin 13 as output
  arduino.pinMode(13, Arduino.OUTPUT);
 
}
 
// when OSC packets are received
 void oscEvent(OscMessage theOscMessage) {
 
  // set the current address to the control name
  String addr = theOscMessage.addrPattern();
 
  // get the value of the control
  float  val  = theOscMessage.get(0).floatValue();
 
  // if the control toggled is toggle1, then toggle float value
  if(addr.equals("/1/fader2"))  { v_fader2 = val; }
 
}
 
// the program loop
void draw() {
 
  // if toggle = off, then make black background
  // if toggle = on, then make orange background
  if ((int) v_fader2 == 0){
    background(0);
  } else {
    background(255, 165, 0);
  }
 
  // write the int value of toggle button to pin 13 on Arduino
  arduino.digitalWrite(13, (int) v_fader2);
 
  // print the status in serial debugger
  println(v_fader2);
 
}
Logged

Germany
Offline Offline
Newbie
*
Karma: 1
Posts: 38
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
jetzt versuch ich halt auch das zweite tutorial ausprobieren, doch da habe ich mein problem mit dem editor, mit dem man sich dann für das
iPad/ iPod touch nen Button erstellen soll...aber ich kann den editor irgendwie nicht öffnen weil da JRE fehlt oder so...

JRE heißt Java Runrime Environment. manche programme benötigen java, das muss man sich dann erst holen.
http://www.java.com/de/download/ da kannst du dir java herunterladen und installieren.

der editor ist eigentlich ganz einfach, buttons einfügen und benennen. da kannst du dann auch slider oder andere dinge einfügen.
wichtig ist dass du dir die namen der neuen elemente merkst, denn die brauchst du später in processing um die befehle abzugreifen.

toggle buttons heißen z.b. standardmäßig so: /1/toggle1, /1/toggle2 etc.
das /1 steht steht für den ersten screen in touchOSC auf dem iphone. du hast ja sicher gesehen, dass man mehrere screens mit buttons haben kann.
Logged

Pages: [1]   Go Up
Jump to: