okay leuchtet auch ein....
Danke für deine Hilfe,
kannst du mir noch verraten, wie es mit dem Empfänger Code aussieht?
Passt der?
Also an dem die zwei Servus bzw der Fahrtenregler hängt?
Druckbare Version
okay leuchtet auch ein....
Danke für deine Hilfe,
kannst du mir noch verraten, wie es mit dem Empfänger Code aussieht?
Passt der?
Also an dem die zwei Servus bzw der Fahrtenregler hängt?
So könnte das dann aussehen:
Code:// Arduino Nano alias Empfänger - Sisor's Version
#include <Servo.h>
#include <SPI.h>
#include "RF24.h"
Servo myServo1;
Servo myServo2;
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(9,10);
void setup()
{
// Serial.begin(9600); // zum Debuggen Kommentarzeichen entfernen
// und diesen Arduino über Serial Mointor auslesen
myServo1.attach(3); // Pin 3
myServo2.attach(4); // Pin 4
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
}
void loop()
{
if (radio.available())
{
bool done = false;
int msg[2];
while (!done)
{
done = radio.read(msg, 2);
myServo1.write (msg[0]);
myServo2.write (msg[1]);
//Serial.println(msg[0]); // zum Debuggen Kommentarzeichen entfernen
//Serial.println(msg[1]);
}
}
}
Okay das sieht doch mal sehr gut aus, so verstehe ich es wenigstens mit deinen Kommentaren.
Montag oder Dienstag sollten die NRF24L01 Module da sein, dann kann ich es testen.
Werde dann berichten ob es funktioniert hat.
Danke Sisor für deine Hilfe, echt klasse =)
Mfg Benny
- - - Aktualisiert - - -
also wenn ich es richtig verstanden habe,
müsste der Code für 4 servos, wie folgt aussehen:
- - - Aktualisiert - - -Code:
// Arduino Nano alias Empfänger - Benny´s 4 Servo´s Version
#include <Servo.h>
#include <SPI.h>
#include "RF24.h"
Servo myServo1;
Servo myServo2;
Servo myServo3;
Servo myServo4;
const uint64_t pipe = 0xE8E8F0F0E1LL;
RF24 radio(9,10);
void setup()
{
// Serial.begin(9600); // zum Debuggen Kommentarzeichen entfernen
// und diesen Arduino über Serial Mointor auslesen
myServo1.attach(3); // Pin 3
myServo2.attach(4); // Pin 4
myServo3.attach(5); // Pin 5
myServo4.attach(6); // Pin 6
radio.begin();
radio.openReadingPipe(1, pipe);
radio.startListening();
}
void loop()
{
if (radio.available())
{
bool done = false;
int msg[4];
while (!done)
{
done = radio.read(msg, 4);
myServo1.write (msg[0]);
myServo2.write (msg[1]);
myServo3.write (msg[2]);
myServo4.write (msg[3]);
//Serial.println(msg[0]); // zum Debuggen Kommentarzeichen entfernen
//Serial.println(msg[1]);
}
}
}
Ist die folgende Schaltung richtig?
Wenn ich es richtig verstanden habe mit dem verkabeln sollte es dann so aussehen?
Anhang 27822
Stromversorgung für die Arduinos fehlen, aber die kann man sich ja denken ;)
Wenn die Joysticks nicht richtig verkabelt sind, ist nicht schlimm, ich weis an den
realen Joysticks wo die beiden analogen Ausgänge sind bzw wo ich die an Pin A0 und Pin A1 anschließen muss.
Sollte doch so richtig sein? und die Servos sind natürlich die beiden Anschlusskabel des Fahrtenreglers ;)
Ich würde es so machen:Code:...
void loop()
{
if (radio.available())
{
bool done = false;
int msg[4];
while (!done)
{
done = radio.read(msg, 4);
}
myServo1.write (msg[0]);
myServo2.write (msg[1]);
myServo3.write (msg[2]);
myServo4.write (msg[3]);
}
}
okay,
was bewirkt das ? das der Satz:
done = radio.read(msg, 4);
jetzt in {} klammer alleine steht?
wobei ich ja vorerst e nur zwei Servos habe also einen Fahrtenregler ...
Das Schaltbild passt auch soweit oder ? werd es heute nochmal auf eine
Platine zeichnen und nicht mit den BreadBoard´s
Aus der RF24.h:
Also: Erst wenn ein Daten-Paket empfangen wurde gehts weiter.Zitat:
/**
* Read the payload
*
* Return the last payload received
*
* The size of data read is the fixed payload size, see getPayloadSize()
*
* @note I specifically chose 'void*' as a data type to make it easier
* for beginners to use. No casting needed.
*
* @param buf Pointer to a buffer where the data should be written
* @param len Maximum number of bytes to read into the buffer
* @return True if the payload was delivered successfully false if not
*/
bool read( void* buf, uint8_t len );
Schaltung sieht ok aus.
ups okay, also kann ich es auch bei nur zwei servos genau so machen das .... done = radio.read(msg, 4); ... alleine in {} klammern steht .... oder ?
supi dann kann ich die Schaltung so aufbauen und warte nur noch auf die Funkmodule ...
ich hätte mal eine Technische Frage,
und zwar zu meinen NRF24L01 Modulen mit externer Antenne!
Gibt es ein Verbindungskabel ? zwischen Modul und Antenne ?
Denn da wo ich gerne die Antenne hätte, hab ich unter umständen kein Platz für das Modul
und der Arduino mit meinem NRF24L01 Shield ist auch an ganz anderer Stelle.
Hier nochmal ein Bild von dem Modul mit der Antenne.
Anhang 27881
Über einen kleinen Tipp währe ich dankbar =)
Mfg Benny
Ja, gibts. Einfach nach SMA-Verlängerungskabel suchen. Bei den 2,4 GHz-Modulen kann man auch einfach W-Lan Zubehör verwenden.
Gruß Matthias
Hey, danke für den Tip, meintest du so etwas hier ?
http://www.reichelt.de/LAN-WL-AK-RSR...ARCH=SMA+Kabel
Lg Benny