Pages: 1 [2]   Go Down
Author Topic: Arduinos über Bluetooth verbinden  (Read 1468 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mit der Version aus dem Link funktioniert es bei mir nun endlich auch vielen Dank für die schnelle Hilfe smiley-grin

MFG Metal123
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Aba jetzt hätt ich noch ne frage, kann man mit den beiden modulen:
http://www.exp-tech.de/Shields/RF-Link-Transmitter-434MHz-WRL-10534.html

http://www.exp-tech.de/Shields/RF-Link-Receiver-4800bps-434MHz.html

eine Wireless verbindung zwischen einem Arduino UNO und einem Arduino Mega2560 herstellen oder funktioniert das nicht.
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 134
Posts: 2854
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Aba jetzt hätt ich noch ne frage, kann man mit den beiden modulen:
http://www.exp-tech.de/Shields/RF-Link-Transmitter-434MHz-WRL-10534.html

http://www.exp-tech.de/Shields/RF-Link-Receiver-4800bps-434MHz.html

eine Wireless verbindung zwischen einem Arduino UNO und einem Arduino Mega2560 herstellen oder funktioniert das nicht.

Mit einem Sender und einem Empfänger kannst Du eine Einbahnstraßen-Kommunikation aufbauen: Ein Board sendet Daten, das andere Board empfängt Daten.

Beispiele zum Beispiel unter
"Datei - Beispiele - VirtualWire - transmitter"
"Datei - Beispiele - VirtualWire - receiver"

Falls Du auf Seiten des Senders und Empfängers nicht die Default-Pins der Library verwenden möchtest (welche das sind steht in der Dokumentation oder im Library-Quellcode), sind folgende Funktionen hilfreich zum Setzen anderer Pins für die angeschlossenen Module:

#define RXPIN 2
Und im Setup:
vw_set_rx_pin(RXPIN);     

#define TXPIN 3
Und im Setup:
vw_set_tx_pin(TXPIN);

Oder so. Für eine Verbindung mit Rückkanal, also dass beide Boards senden und empfangen können, benötigst Du für jedes Board einen Sender und einen Empfänger.
Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 249
Posts: 21181
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oder so. Für eine Verbindung mit Rückkanal, also dass beide Boards senden und empfangen können, benötigst Du für jedes Board einen Sender und einen Empfänger.
Wobei sich der eine Sender nicht mit dem anderen Sender stören dürfen sprich verschiedene Frequenzen haben müssen. Alternative wären bidirezionale Module.
Grüße Uwe
Logged

Germany S-H
Offline Offline
Faraday Member
**
Karma: 134
Posts: 2854
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wobei sich der eine Sender nicht mit dem anderen Sender stören dürfen sprich verschiedene Frequenzen haben müssen.

Die Frequenz dieser Module ist fest bei 433,92 MHz.

Auf derselben Frequenz senden viele handelsübliche kabellose Temperatursensoren, Wetterstationen, Garagentoröffner, Babyphone, und vielerlei anderes. Die 433/434 MHz Frequenz ist eine stark genutzte Frequenz für Funkanwendungen kleiner Reichweite. Wie zuverlässig und mit welcher Reichweite eine Funkverbindung auf dieser Frequenz möglich ist, hängt stark von den lokalen Gegebenheiten ab und wie stark funkverseucht der Nahbereich mit ähnlichen Sendern auf derselben Frequenz bereits ist.

Das Senden und Empfangen  kann nicht zeitgleich erfolgen, weil sich dann die Funkaussendungen gegenseitig stören.

Aber man benötigt bei diesen Modulen natürlich keine verschiedenen Frequenzen, sondern zeitliches Multiplexing: Es darf eben nur ein Sender zur Zeit im Umkreis auf dieser Frequenz senden, damit er empfangen werden kann.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

So weiß jemand wieso ich bei diesem code:
Code:
 
  #include <VirtualWire.h>

void setup()
{
    Serial.begin(9600); // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000); // Bits per sec
    vw_set_rx_pin(0);
    vw_rx_start();       // Start the receiver PLL running

pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}

void loop()
{
 
  digitalWrite(8, LOW);
  digitalWrite(9, LOW);
  digitalWrite(10, LOW);
  digitalWrite(11, LOW);
 
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // Non-blocking
    {
int i;

        digitalWrite(13, true); // Flash a light to show received good message
// Message with a good checksum received, dump it.
Serial.print("Got: ");

for (i = 0; i < buflen; i++)
{
    Serial.print(buf[i]);
        if(buf[i] == '1'){digitalWrite(8, HIGH);}
        if(buf[i] == '2'){digitalWrite(9, HIGH);}
        if(buf[i] == '3'){digitalWrite(10, HIGH);}
        if(buf[i] == '4'){digitalWrite(11, HIGH);}
    Serial.print(" ");
}
Serial.println("");
        digitalWrite(13, false);

   }
}

bei meinem Arduino Mega 2560 immer diesen Fehler erhalte:
Binäre Sketchgröße: 7.060 Bytes (von einem Maximum von 258.048 Bytes)
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 21
   at processing.app.tools.DiscourseFormat.appendFormattedLine(DiscourseFormat.java:194)
   at processing.app.tools.DiscourseFormat.show(DiscourseFormat.java:99)
   at processing.app.Editor.handleDiscourseCopy(Editor.java:1688)
   at processing.app.Editor$TextAreaPopup$4.actionPerformed(Editor.java:2705)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
   at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
   at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
   at java.awt.Component.processMouseEvent(Component.java:6263)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
   at java.awt.Component.processEvent(Component.java:6028)
   at java.awt.Container.processEvent(Container.java:2041)
   at java.awt.Component.dispatchEventImpl(Component.java:4630)
   at java.awt.Container.dispatchEventImpl(Container.java:2099)
   at java.awt.Component.dispatchEvent(Component.java:4460)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
   at java.awt.Container.dispatchEventImpl(Container.java:2085)
   at java.awt.Component.dispatchEvent(Component.java:4460)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 21
   at processing.app.tools.DiscourseFormat.appendFormattedLine(DiscourseFormat.java:194)
   at processing.app.tools.DiscourseFormat.show(DiscourseFormat.java:99)
   at processing.app.Editor.handleDiscourseCopy(Editor.java:1688)
   at processing.app.Editor$TextAreaPopup$4.actionPerformed(Editor.java:2705)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
   at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
   at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
   at java.awt.Component.processMouseEvent(Component.java:6263)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
   at java.awt.Component.processEvent(Component.java:6028)
   at java.awt.Container.processEvent(Container.java:2041)
   at java.awt.Component.dispatchEventImpl(Component.java:4630)
   at java.awt.Container.dispatchEventImpl(Container.java:2099)
   at java.awt.Component.dispatchEvent(Component.java:4460)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
   at java.awt.Container.dispatchEventImpl(Container.java:2085)
   at java.awt.Component.dispatchEvent(Component.java:4460)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

der code ist als beispielcode bei einem RF Link Transmitter mit angegeben: http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Wireless/General/RFASK_Example_Code.pde

das einzigste das ich verändert habe ist, dass ich den ausdruck "vw_set_rx_pin(2);" von 2 auf 0 geändert habe danach bekahm ich den fehler.
kann mir da jemand helfen
MFG Metal123
Logged

Germany
Offline Offline
Faraday Member
**
Karma: 56
Posts: 2975
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Der Code ist nicht das Problem, er liess sich ja übersetzen.

Irgendwas mit der Seriellen Schnittstelle zum Hochladen stimmt nicht...

Quote
"AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 21

Kann es sein dass du mit COM21 arbeiten willst, die es gar nicht (mehr) gibt ?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 18
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Nein ich arbeite mit COM4
Logged

Pages: 1 [2]   Go Up
Jump to: