-         

Seite 1 von 9 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 89

Thema: Zwei Arduino´s drahtlos verbinden ??

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    28
    Beiträge
    180

    Zwei Arduino´s drahtlos verbinden ??

    Anzeige

    Hallo Community,

    ich wende mich an euch, mit einer Frage wo ich etwas Unterstützung brauche, weil es für mich Neuland ist!

    Ursprungsgedanke: ich möchte mein Roboter ( Fahrtenregler SGS Electronic ) mit dem Arduino und zwei kleinen Joysticks ( aus altem PS2 Controller) steuern.
    Habe nach 4 Tagen basteln, hinbekommen, zwei Servus mit Hilfe des beiden Joysticks zu steuern so wie ich es brauche, das hab ich soweit hinbekommen, auch
    das ganze in den Roboter zu integrieren und an den Fahrtenregler anzuschließen.

    Bild1: Mein Roboter RSL-7 Bild2: Mein Aufbau der Schaltung

    Klicke auf die Grafik für eine größere Ansicht

Name:	IMG_8139.jpg
Hits:	70
Größe:	57,6 KB
ID:	27765
    Klicke auf die Grafik für eine größere Ansicht

Name:	IMG_8163.jpg
Hits:	66
Größe:	64,5 KB
ID:	27766


    Ich bräuchte jetzt ein Tipp wie ich das Drahtlos hinbekomme ???

    Ich möchte keinen PC oder LapTop ins spiel bringen. Sondern am liebsten währen mir zwei Arduino´s, da ich mir noch gerne eine Gehäuse mit Display um die Joysticks bauen möchte.
    Und mir da Werte des Roboters oder des gleichen an zu zeigen! Also es dürfen Ruhig zwei Arduino´s sein =)

    Ist es einfacher das Xbee oder das Wifi Shield zu verwenden ? um mein Vorhaben zu realisieren. Da wo ich fahren möchte ist natürlich auch Wlan vorhanden.

    Natürlich hab ich auch vorher versucht zu schauen ob im Forum so etwas schon mal einer gefragt hat, aber die haben alle was anderes vor wie ich, mit PC oder Controller oder so.

    Also was würdet ihr Empfehlen um eine Drahtlose Verbindung herzustellen, Xbee leuchtet mir zb garnicht ein wie das funktioniert, weil so wie ich es jetzt habe funktioniert es und
    da ich das noch nicht so lange mache und froh bin wie schnell ich es verstanden habe, um eigene Sketche zu schreiben so das es funktioniert

    Nur das Drahtlose ist mir noch ein Rätsel, Kann mir jemand einen hilfreichen Tipp geben ?

    Mfg Benny

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.02.2005
    Ort
    München
    Alter
    32
    Beiträge
    389
    Schau dir mal die NRF24L01+ Module an. Sollte für deinen Zweck reichen und kosten nur ein paar € und es gibt ne fertige Arduino lib für.

    Gruß Matthias

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    28
    Beiträge
    180
    Hallo Stone,

    danke für die schnelle Antwort.
    Okay das Modul leuchtet mir etwas ein, das währe dann dieses hier ! richtig ?

    http://www.ledsee.com/index.php/send...-module-detail

    wenn ich das richtig verstanden habe, brauche ich zwei mal das NRF24L01+ Modul und noch einen Arduino ??

    Kann ich da auch das Arduino Mini Board nehmen als zweites ? oder muss das dass UNO sein was ich schon habe ?

    Dann geb ich ehrlich zu, das ich kein Plan hab zwecks dem Anschließen, der Module mit den Arduino´s,
    vom Sketch ganz abgesehen -.-

    Da bräuchte ich nochmal etwas Hilfestellung und Danke im voraus =)

    Mfg Benny

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    28
    Beiträge
    180
    Also die beiden würd ich mir besorgen .....

    2x NRF24L01+
    http://www.ebay.de/itm/281231129016?...84.m1423.l2649

    und 1x das Arduino Nano, das kommt dann in die selbstgebaute Fernsteuerung und das Arduino Uno wird im Roboter platziert:
    http://www.ebay.de/itm/271327979679?...84.m1436.l2649

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451
    Die nrf24L01 haben gegenüber den fertigen Modulen zwei Nachteile.
    - Du hast kein fertiges Shield (nicht zwingend ein Problem)
    - Sie benötigen eine 3,3V Versorgungsspannung. Du musst also noch einen kleinen Linearregler mit aufbauen für die Versorgung.

    Ist beides nichts weltbewegendes, sollten aber mMn. erwähnt werden.

    Zu deinen Fragen:
    Ja, du brauchst 2 von denen Modulen. Die gibt es bei ebay zB. deutlich günstiger und auch ohne externe Antenne falls du mit weniger Reichweite leben kannst. Solltest halt darauf achten, dass du keinen aus Honkong erwischst wegen dem langen Versand.

    Für den Anschluss brauchst du eine SPI-Schnittstelle, die bietet sowohl das Arduino Mini als auch Uno and Pin 10-13 (steht im Schaltplan). Das sind 4 Pins, die du 1-zu-1 verbinden musst.
    MOSI (MasterOut-SlaveIn)
    MISO (MasterIn-SlaveOut)
    SCK (Clock)
    CS bzw. SS (Chip/Slave Select)

    Zusätzlich könntest du noch einen Pin für einen Interrupt nutzen, der signalisiert, dass eine neues Ereignis vorliegt (neue Nachricht oder fehlerhaftes senden) und einen um den Chip auszuschalten (CE) Diese sind aber nicht zwingend notwendig.


    Ich hab die nrf24l01 selbst schon für ein Projekt genutzt. Sind recht nett, da da sie alles automatisch machen (Checksumme, Acknoledge, ...), wird viel Arbeit abgenommen mit der Funkverbindung.
    Sie arbeiten im Übrigen Adressenbasiert und können bis zu 6 Kanäle (Adressen) überwachen, hätten also noch Luft für weiter Roboter oder Module. Könntest zB. auch eines zum Datenloggen an den PC hängen.

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Mein praktischer Tipp wäre für Experimente als Funkverbindung eine Leitung mit bidirektionaler serieller Datenübertragung zu verwenden. Das kann man später durch zwei Transceiver ersetzen und müsste genauso funktionieren.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    28
    Beiträge
    180
    okay, danke ihr beide für Eure Antworten.

    Also das mit dem Verbinden hab ich geschnallt. also was MOSI, MISO, SCK und CS/SS angeht. Praktisch wie Robin erwähnt hat, alle 4 Lins verbinden mit dem nrf24L01+ ! Richtig ??

    So aber was ich jetzt noch nicht geschnallt habe ist, wie das in meinem Sketch aussieht ???
    Im Sketch steht ja z.B.: pinMode(servo_pin_1, OUTPUT);

    wie sage ich jetzt dem Ardiono Nano, das er das über das nrf24L01+ an den Ardiono UNO an Pin 3 schicken soll ( int servo_pin_1 = 3; )
    Das leuchtet mir jetzt noch nicht so ein ?

    Mfg Benny

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451
    Ganz so trivial wie ein einfaches Servo = 3 wird es mit einer Funkverbindung nicht.

    Hier mal die Arduino Library mit Erklärung, was wo angeschlossen wird:
    http://playground.arduino.cc/Interfa...1#.UyGf4vl5PxU

    (Ich hab nicht mit der library gearbeitet, also muss nicht alles 1zu1 reproduzierbar sein)

    Für eine Ansteuerung der Servos muss zu allererst eine Funkverbindung zwischen den beiden Modulen aufgebaut werden.
    Hierzu muss der nrf24 initialisiert werden, sprich die gleiche Frequenz eingestellt, Adressen vergeben, Datenlänge eingestellt, ... werden.

    An den Pins für den NRF24 müsstest du erst einmal nichts ändern, die werden mit dem Aufrufen er init-Funktion in der Nrf-Library eingestellt.

    Als nächstes sollten beide Funkmodule als Empfänger konfiguriert werden.

    Bis hier hin sollte alles recht gut von der Library abgedeckt werden.

    Kommt es jetzt zum Senden von Daten, muss das entsprechende Funkmodul auf Senden umgestellt werden. Und dann können auf einen Rutsch bis zu 32 Byte an Nutzdaten übertragen werden.
    Diese 32 Byte kannst du frei nutzen und ein entsprechendes Protokoll aufbauen mit dem die Teilnehmer Kommunizieren.

    Also zB. 1 Byte gibt an, ob es Messwerte ("M") oder ein Befehl ("B") ist, der gerade gesendet wurde.
    Im 2. Byte dann von welchen Sensor (ID) der Messwert kommt, bzw. welcher Servo (ID) angesprochen werden soll
    In den darauf folgenden Bytes dann die entsprechenden Messwerte.

    Du könntest auch ein "SERVO1 = 3" als String senden, das ist aber eher kontraproduktiv, weil man zu viel filtern muss bis man weiß, dass es um Servo1 geht.

    Es sind auch nur bis zu 32 Byte, du kannst davon also auch nur 4 nutzen.

    Wie gesagt, das ist nur ein Beispiel, wie so was aussehen kann.
    Hier solltest du dir aber möglichst selber was überlegen, dass am besten zu deiner Aufgabe passt und am auch erweiterbar ist, dein Projekt soll ja wachsen.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    26.04.2011
    Ort
    Heilbronn
    Alter
    28
    Beiträge
    180
    okay danke für deine Erklärung, klingt logisch aber auch für ein Neuling etwas Bahnhof weil ich bis jetzt nur normale einfache Porgamme realisiert habe.

    Nach etwas einlesen denke ich werd ich es dann mal probieren mein Programm umzuschreiben, da wird bestimmt die ein oder andere Frage noch auftauchen,
    genauso kann ich ja bestimmt mal den Sketch dann hier Posten das du Robin evtll mal drüber schaust, das währ lieb, weil wie gesagt noch ist es für mich etwas schwierig,
    aber ich geb mein bestes =)

    Werde heute dann an der Fernsteuerung weiter arbeiten, und kann ja heute Abend mal Bilder Posten, und könnt gerne Pro oder Contra geben =)
    Gebe mir größte mühe =)

    Mfg Benny

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.11.2004
    Beiträge
    451
    klar kann ich drüber schauen.

    Wenn du noch ein blutiger Anfänger bist, würde ich es aber langsam angehen lassen. Bau dir als erstes das Protokoll und teste es ohne Funkverbindung, sondern mit einem Kabel wie PICture er geschrieben hat.

    Die Daten tauscht du dann über die UART Schnittstelle aus (heißt beim Arduino glaub Serial). Am besten im Datenblatt, Internet einlesen, was das ist. Dann musst du zwar erstmal deinem Roboter hinterher laufen, aber es ist bedeutend einfacher zu realisieren als eine Funkverbindung.

    Dabei solltest du auch erst mal das ganze mit der Kommunikation und Interaktion zwischen den beiden Mikrocontrollern lernen (zumindest die basics). Falls hier Probleme auftreten, sollten die sich leichter beheben lassen als mit einer Funkverbindung dazwischen.

    Wenn das dann soweit klappt, würde ich erst die Funkverbindung angehen. Kabel haben den Vorteil, dass du sie siehst, du kannst die Signale recht einfach messen und auch "verfolgen". Beim Funk hast du mit den Sender/Empfänger einfach noch mehr Fehlermöglichkeiten dazwischen.

Seite 1 von 9 123 ... LetzteLetzte

Ähnliche Themen

  1. Antworten: 16
    Letzter Beitrag: 01.12.2011, 18:12
  2. Verbinden von zwei Schrittmotoren mit RN-Control
    Von mklayton im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 3
    Letzter Beitrag: 13.01.2010, 21:38
  3. Mit Rs 232 zwei avr verbinden
    Von fofi1 im Forum AVR Hardwarethemen
    Antworten: 14
    Letzter Beitrag: 16.08.2009, 12:53
  4. Zwei PIC über CAN verbinden
    Von Tonelli im Forum PIC Controller
    Antworten: 6
    Letzter Beitrag: 17.11.2007, 16:10
  5. Signale von zwei Encodern verbinden neue frage!
    Von sdz55 im Forum Elektronik
    Antworten: 68
    Letzter Beitrag: 21.03.2006, 19:31

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •