Forum: Mikrocontroller und Digitale Elektronik Modell (Servo) per Bluetooth steuern (RFCOMM, Android-device)


von Ansgar M. (ansgar_m71)


Lesenswert?

Hi,
ich habe vor ein Modell (Truck) über eine Android-App vom Handy per 
Bluetooth zu steuern. Ich wollte nun mal hören, wie man das am besten 
angeht. Ich habe keine(!) Erfahrungen mit Mikrocontrollern, aber bin 
sehr technikversiert und habe Grundwissen über Elektronik und 
Programmierung. Mir ist klar, dass das mehr oder weniger auf TRY&ERROR 
hinausläuft, aber ich denke schon länger drüber nach und möchte das 
jetzt durchziehen ;-)

Natürlich könnt ihr schreiben "Lass es lieber", dann aber bitte mit 
Begründung und einem Tipp, womit ich anfangen sollte. Ich möchte auch 
keinen fertigen Quellcode/Schaltung, sondern eher  wissen, wie man das 
am besten angehen sollte.

So, zurück zum Thema. Ich habe schon ein bisschen rumgelesen und 
folgendes herausgefunden (Bitte korrigiert mich, wenn's falsch ist):

-Das Bluetoothmodul kann nicht allein die Steuerung der Servos (und 
Fahrtenregler) übernehmen, dafür brauch ich einen Mikrocontroller.
Die Android-App krieg ich selber hin, da würde es am einfachsten gehen 
mit dem RFCOMM-Protokoll zu arbeiten, daher ein paar Fragen:

-Muss ich das Bluetoothmodul irgendwie 'bearbeiten', damit es meine 
Befehle versteht, oder gibt es die einfach an den Mikrocontroller 
weiter?

-Was für einen Controller würdet ihr mir empfehlen (auch vorher zum Üben 
mit einfachen Schaltungen)?

-Was brauche ich noch so (Software, USB-Gerät zum Controller flashen)?
 Vielleicht eine gute Anfängerseite, Links?

-Würdet ihr ein anderes Protokoll nehmen? Warum, Warum nicht?

-Allgemein: Wie würdet ihr das machen?

Ich freue mich über jede Antwort,
Lg Ansgar

von Karl H. (kbuchegg)


Lesenswert?

Auto und Blauzahn?

Macht keinen Sinn. Die Reichweite ist viel zu kurz

Dein Bluetooth Modul realisiert lediglich die Funkstrecke für dich. Auf 
dem Android schickst du vorne Texte rein, die der µC am anderen Ende der 
Leitung wieder bekommt. Was immer der damit macht, macht er. Das ist dem 
Bluetoothmodul egal.

Ehe du sowas angehst, arbeite dich erst in µC ein. Insbesondere 
Kommunikationstechiken etc. Buetooth kommt später und ersetzt einfach 
nur das Kabel.

AVR-Tutorial
AVR-GCC-Tutorial

von André H. (andrekr)


Lesenswert?

Wir basteln an was ähnlichem, unsere Lösung:

PPM-Signal als Audio erzeugen (man kann die einzelnen Sample-Werte 
einfach in die Klasse 
http://developer.android.com/reference/android/media/AudioTrack.html 
reinwerfen) und über die Lehrer/Schüler-Buchse in die Fernsteuerung 
einspeisen.

von Ansgar M. (ansgar_m71)


Lesenswert?

Vielen Dank für die schnellen Antworten!

> Macht keinen Sinn. Die Reichweite ist viel zu kurz
Für ein Modellauto schon, keine Frage. Aber beim Truck ist man eh immer 
in der Nähe und da reicht mir Bluetooth :-)

> Ehe du sowas angehst, arbeite dich erst in µC ein. Insbesondere
> Kommunikationstechiken etc. Buetooth kommt später und ersetzt einfach
> nur das Kabel.
Ok, das klingt ja gut. Dann werde ich mir mal die Links durchlesen. Was 
für einen µController würdet ihr mir denn für den Einsatzzweck 
empfehlen? Will keinen kaufen und rumprobieren um zu erfahren, dass er's 
nicht packt.

> ...und über die Lehrer/Schüler-Buchse in die Fernsteuerung einspeisen.
Da könnte ich ja gleich die Fernbedienung nehmen :) Aber danke für den 
Gedankenanstoß! Klingt nach einem interessanten Projekt.

Lg Ansgar

von Karl H. (kbuchegg)


Lesenswert?

Ansgar M. schrieb:

> Ok, das klingt ja gut. Dann werde ich mir mal die Links durchlesen. Was
> für einen µController würdet ihr mir denn für den Einsatzzweck
> empfehlen? Will keinen kaufen und rumprobieren um zu erfahren, dass er's
> nicht packt.

Das packen alle.

Leib und Magen Prozessoren hier im Forum sind die µC aus der Atmel AVR 
Serie.
Daher nochmal der Link
AVR-Tutorial
AVR-GCC-Tutorial

von Ansgar M. (ansgar_m71)


Lesenswert?

Ok,
danke vielmals. Ich werde mich da mal durchforsten :D
Ich komme dann zurück, wenn noch Fragen auftauchen;)

Lg Ansgar

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

hi

wie Karl Heinz dir schon sagte, arbeite das Tutorial hier durch.

Ich würde das so an gehen:

Wenn du das Tutorial durch hast.

1.: 4 oder mehr Servos mit einem Controller bzw: Atmega88 auf nem 
Steckbrett ansteuern.

2.: die Stellungen der Servos über Uart vom Rechner empfangen

3.: anstelle des Kabels einen BTM222 an den Controller anschließen und 
testen der kann dir die Uart Signale per BT an den Rechner schicken.

4.: App für Android schreiben die dir z.b. die Werte des 
Beschleunigungssensors in Servo-Werte umrechnet und diese über BT seriel 
sendet. Das mit dem rechner checken.

5.: Controller mit BTM222 und Handy über BT verbinden und testen.

Alles in allem jenachdem wie du dich anstellst und wie viel Zeit du 
investierst ca. 3-6 Monate Arbeit, aber die lohnen sich, weil du dann 
auch andere Sachen mit Controllern steuern kannst. Bei einem Truck will 
ja Licht, Hupe usw. auch gesteuert werden, vllt noch n Kran. Da gibt es 
viele Möglichkeiten das solltest du alles mit den AVR Controllern hin 
bekommen. Sogar vllt mal deinen eigenen Fahrten-Regler ist auch kein 
Hexenwerk.

als Equipment würde ich dir folgendes empfehlen:

-Steckbrett
-etwas Hühnerfutter (Widerstände Kondensatoren ..)
-mehre Controller eines Types dann bauchst du dich nur in ein Datenblatt 
ein arbeiten
-Das Datenblatt von diesem Controller als pdf
-einen AVR-ISP-MK2 wenn du AVRs wie den ATmega88 hier aus dem Tut 
verwenden willst. Für den Programmer würde ich ein mal Geld in die Hand 
nehmen, und die 40 Euro ist der Wert.
-Sehr schön aber nicht extrem notwendig wäre ein Labornetzteil, die 
Strombegrenzung die solche Netzteile haben kann vielen Schaltungen das 
Leben retten. N günstiges für 100 Euro reicht da schon. Ein gutes 
Multimeter ist ebenfalls immer gut. Ein Oszilloskop ist bei PPM Signalen 
für Modelbau Servos nicht sehr wichtig.

Das nur mal als Überblick, das ganze hat keinen Anspruch auf 
Vollständigkeit.

Lies erst mal das Tutorial bevor du los rennst un irgend was kaufst.

MfG

Tec

von Ansgar M. (ansgar_m71)


Lesenswert?

Danke für deine Antwort, sowas hab ich mir erhofft! Ich hab mich grad 
schon mal ein bisschen durchgekämpft :D
Ich neige eher zu einer hohen Programmiersprache, als zum Assembler. Ist 
es zwingend notwendig Assembler zu lernen? Aus Performance- und 
Verständnis-Gründen hab ich gelesen ja, ist das so?

Ja, muss mal gucken, ob ich noch Hühnerfutter im Keller hab und ob das 
noch gut ist ;)

Achja, noch was: Ich benutze Linux (Ubuntu 10.10) da sollte doch die 
Software soweit auch funktionieren, oder? Ist das Eclipse-Plugin gut?

Ich glaub, die nächsten Tage hab ich noch einiges zu Lesen!

Lg Ansgar

von Karl H. (kbuchegg)


Lesenswert?

Ansgar M. schrieb:
> Danke für deine Antwort, sowas hab ich mir erhofft! Ich hab mich grad
> schon mal ein bisschen durchgekämpft :D
> Ich neige eher zu einer hohen Programmiersprache, als zum Assembler. Ist
> es zwingend notwendig Assembler zu lernen? Aus Performance- und
> Verständnis-Gründen hab ich gelesen ja, ist das so?

Verständnis - ja, ist nicht schlecht
Performance - nein

Übr das was du vorhast, langweilt sich dein µC sowieso zu Tode.

von Ansgar M. (ansgar_m71)


Lesenswert?

Karl heinz Buchegger schrieb:
> Übr das was du vorhast, langweilt sich dein µC sowieso zu Tode.
Ok, dann muss ich mir noch Extras einfallen lassen, um ihn zu fordern..
Lg Ansgar
P.S. Wow, echt aktives Forum!

von Hannes L. (hannes)


Lesenswert?

Ansgar M. schrieb:
> Karl heinz Buchegger schrieb:
>> Übr das was du vorhast, langweilt sich dein µC sowieso zu Tode.
> Ok, dann muss ich mir noch Extras einfallen lassen, um ihn zu fordern..

Lass mal die Extras lieber weg bis Du die Basics beherrscht.

Und nein, Du brauchst nicht zwingend Assembler, es genügt, die 
Arbeitsweise und Architektur des Controllers zu verstehen. Dies ist aber 
in Assembler bedeutend leichter als in einer Hochsprache. Etwas 
ASM-Wissen hilft Dir sehr, Dein Programm auch in einer Hochsprache so zu 
formulieren, dass es halbwegs effizient läuft.

> Lg Ansgar
> P.S. Wow, echt aktives Forum!

Stimmt.

...

von veit (Gast)


Lesenswert?

ich hab das mit windows mobile und einem btm222 schon gemacht, hat zwei 
nachmittage gedauert ...

hab sogar 18 meter reichweite hinbekommen ... das war für ein 
ferngesteuertes auto eigentlich ausreichend.

jetzt möchte ich selber mit android sowas machen, können uns ja 
gegenseitig helfen?

von Alexander B. (Firma: brickwedde.dev) (alexbrickwedde)


Lesenswert?

Hi,

ich habe mal die Bluetooth-Chat-Demo aus'm Android SDK aufgebohrt und 
nutze die App zur Steuerung meiner Wordclock, u.a. mit Gesten-Erkennung 
drin, Auto-Connect beim Start mit der Gegenstelle mit Namen "WordClock". 
Falls jemand reinschauen möchte, Sourcen liegen auf Git-Hub:
https://github.com/alexbrickwedde/floodping/tree/master/WordClockRemote

Gruss

...Alex

von Alexander S. (esko) Benutzerseite


Lesenswert?

Karl Heinz Buchegger schrieb:
> Auto und Blauzahn?
> Macht keinen Sinn. Die Reichweite ist viel zu kurz

>> Die Funkreichweite rangiert mit maximal 400 Meter an der Spitze
>> des Testfeldes ...
Bluetooth-Freisprech- und Interkom-Systeme
c't 16/2009, Seite 134

Mit einem Handy erreicht man leicht 10 Meter.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.