möglicher Lösungsansatz
Hallo Rookie,
soweit mir bekannt, sind Smartphones nicht USB-Host fähig. Der USB Controller funktioniert nur als Slave an einem anderen Host Controller (z.B. Computer) und zeigt sich dort z.B. als externer Massenspeicher.
Auf diesem Wege sehe ich keine einfache Lösung. Theoretisch könnte man den SD Slot zum Senden von Signalen missbrauchen - dies setzt aber intimste Kenntnisse der im Telefon verwendeten Hardware voraus (und ebenso eine komplette Aushebelung aller Schutzmechanismen des Betriebssystems). Praktisch also (fast) unmöglich.
Nehmen wir doch einen einfachen Weg, den alle anderen Apps auch nehmen, den das Betriebssystem erlaubt und der dokumentiert ist: Bluetooth. Bluetooth Master kann das Telefon. Schau Dir mal dieses Tutorial an - via Handy 3 LEDs schalten - das ist schon fast alles, was Du für Dein Projekt brauchst.
Anstelle der Touchbuttons liest Du auf dem Telefon die Beschleunigungssensoren aus, wertest sie dort aus und nach dem EVA Prinzip löst Du eine Aktion aus, wenn die von Dir gewünschte Impulsform und -länge registriert wird: Du sendest Daten via Bluetooth. Dies alles passiert auf dem Telefon.
Nun baust Du ein Interface welches zwischen Telefon und Deinem existierenden Controller Daten überträgt. Ich interpretiere Deine Zielstellung dahingehend, dass Du ein analoges Signal zwischen 0 und 5 V in den Controller füttern möchtest, also einen Gasgriff simulieren.
Kein Problem, Du nimmst einen Arduino + ein Bluetooth Slave Modul und schon versteht der Arduino das Telefon. Siehe verlinktes Tutorial. Nun schreibst Du ein kleines Programm, welches in Abhängigkeit der empfangenen Bluetooth Daten einen "analogen" Ausgang auf den gewünschten Pegel setzt.
Hier lauert ein kleiner Fallstrick, weil ein µC keine wirklichen analogen Ausgänge hat, sondern nur digitale, welche PWM fähig sind, also durch schnelles ein- u. auschalten eine analoge Spannung simulieren. Dieses Signal musst Du entweder glätten oder gleich noch einen echten D/A Wandler ranhängen.
Das war es schon - dieses generierte 0-5V Signal speist Du in Deinen vorhandenen Controller ein (als Ersatz für den Gasgriff) und schon kannst Du das Fahrrad via Smartphone steuern.
Ich hoffe, das ist verständlich genug. Bei Detailfragen bitte rüberkommen ins Arduino Forum, solche Spielereien sind dort wirklich ein oftgelöstes Standardproblem.
Beste Grüße, P.
P.S. Die vorgeschlagene Lösung erfordert Hardwareinvestitionen < 30 €.