mikrocontroller.net

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


Autor: Ansgar M. (ansgar_m71)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: André H. (andrekr)
Datum:

Bewertung
0 lesenswert
nicht 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/med... 
reinwerfen) und über die Lehrer/Schüler-Buchse in die Fernsteuerung 
einspeisen.

Autor: Ansgar M. (ansgar_m71)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ansgar M. (ansgar_m71)
Datum:

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

Lg Ansgar

Autor: Tec Nologic (tecnologic) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ansgar M. (ansgar_m71)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ansgar M. (ansgar_m71)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: veit (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Alexander Brickwedde (alexbrickwedde)
Datum:

Bewertung
0 lesenswert
nicht 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/m...

Gruss

...Alex

Autor: Alexander Schmidt (esko) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.