INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Fernsteuerung mit RFM 12 B
05.09.2015, 09:36
Beitrag #1
Fernsteuerung mit RFM 12 B
Hallo
Für eine Fernbedienung möchte ich eine 4 Kanal PWM Steuerung bauen.
Ich verwende für Sender und Empfänger das RFM 12 B Modul. Den Code habe ich kopiert und auf 4 Kanäle erweitert.
Die ersten zwei Kanäle funktionieren. Bei Kanal 2 und 3 dagegen wird am Empfänger statt einer Regelung nur ein aus geschaltet.
Meine bescheidene Frage warum?
Hat jemand Erfahrung mit sowas?

Danke und freundliche Grüsse.


Sender
#include <JeeLib.h>

#define NodeID 20
#define NetID 100
#define band RF12_433MHZ

int sensPin1=0;
int sensPin2=1;
int sensPin3=2;
int sensPin4=3;
int valSens1=0;
int valSens2=0;
int valSens3=0;
int valSens4=0;


typedef struct  {
  int sens1;
  int sens2;
  int sens3;
  int sens4;
 
 } Payload;

Payload tinytx;

void setup()
{
  Serial.begin(9600);
  Serial.println("Start RF");
  rf12_initialize(NodeID, band, NetID);
 }
 
 void loop()
 {
 
  valSens1 = analogRead(sensPin1);
  valSens2 = analogRead(sensPin2);
  valSens3 = analogRead(sensPin3);
  valSens4 = analogRead(sensPin4);
  
  tinytx.sens1=valSens1;
  tinytx.sens2=valSens2;
  tinytx.sens3=valSens3;
  tinytx.sens4=valSens4;
  
  rf12_sendNow(0, &tinytx, sizeof tinytx);
  Serial.println("Daten gesendet");
  delay(50);
}  

Empfänger
#include <JeeLib.h>

#define NodeID 2
#define NetID 100
#define band RF12_433MHZ

typedef  struct  
{
  int sens1;
  int sens2;
  int sens3;
  int sens4;

}
  Payload;
  Payload rx;
  int nodeID;
  int sens1;
  int sens2;
  int sens3;
  int sens4;
  
  float sens1PWM;
  float sens2PWM;
  float sens3PWM;
  float sens4PWM;
  
  int analogOutPin1 = 5;
  int analogOutPin2 = 6;
  int analogOutPin3 = 7;
  int analogOutPin4 = 8;
  
  void setup()
  
  {
    Serial.begin(57600);
    Serial.print("Start RF");
    rf12_initialize(NodeID, band, NetID);
  }

 void loop()
  
  {
    if (rf12_recvDone() && rf12_crc == 0 && (rf12_hdr & RF12_HDR_CTL) ==0)
  {
  nodeID = rf12_hdr & 0x1F;
  rx = *(Payload*) rf12_data;
  sens1 = rx.sens1;
  sens2 = rx.sens2;
  sens3 = rx.sens3;
  sens4 = rx.sens4;
  
  sens1PWM=(sens1)/4;
  sens2PWM=(sens2)/4;
  sens3PWM=(sens3)/4;
  sens4PWM=(sens4)/4;
  
  
  Serial.println("Daten empfangen:");
  Serial.print("Sender: ");
  Serial.println(nodeID);
  Serial.print("Wert: ");
  Serial.println(sens1PWM);
  Serial.println(sens2PWM);
  Serial.println(sens3PWM);
  Serial.println(sens4PWM);
 
  Serial.println("--------------------");
  analogWrite(analogOutPin1,sens1PWM);
  analogWrite(analogOutPin2,sens2PWM);
  analogWrite(analogOutPin3,sens3PWM);
  analogWrite(analogOutPin4,sens4PWM);

}
 } 
  
  
  
  
  
  




[/code]








[/code]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.09.2015, 16:23
Beitrag #2
RE: Fernsteuerung mit RFM 12 B
Wenn du den Code in Code-Tags (#) gesetzt hättest, wäre er für uns einfacher lesbar. Auch hast du keinerlei Dokumentation im Code, was es noch schwerer macht. Und ebenso fehlt der Arduino-Typ, den du verwendest.

Wenn ich jetzt raten darf, du setzt einen Uno ein und dann liegt es daran, das du für die beiden nicht funktionierenden Ausgänge keine PWM-Ausgänge verwendest. Statt 7 und 8 musst du 9 und 10 nehmen. Der Begriff "AnalogOutPin" ist hier auch sehr irreführend.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.09.2015, 20:58
Beitrag #3
RE: Fernsteuerung mit RFM 12 B
(05.09.2015 16:23)hotsystems schrieb:  Wenn du den Code in Code-Tags (#) gesetzt hättest, wäre er für uns einfacher lesbar. Auch hast du keinerlei Dokumentation im Code, was es noch schwerer macht. Und ebenso fehlt der Arduino-Typ, den du verwendest.

Wenn ich jetzt raten darf, du setzt einen Uno ein und dann liegt es daran, das du für die beiden nicht funktionierenden Ausgänge keine PWM-Ausgänge verwendest. Statt 7 und 8 musst du 9 und 10 nehmen. Der Begriff "AnalogOutPin" ist hier auch sehr irreführend.

Hallo Hotsystems
Danke schön für die wertvolle Info. Es funktioniert .
Ich habe mich an die Bezeichnung auf dem Print des UNO gehalten.
Auf dem Datenblatt sind die Pinfunktionen ja angegeben.
Ich bin noch Anfänger
Danke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.09.2015, 21:22 (Dieser Beitrag wurde zuletzt bearbeitet: 05.09.2015 21:24 von hotsystems.)
Beitrag #4
RE: Fernsteuerung mit RFM 12 B
Ok, wenn du einen Uno hast, kannst du ja auf dem Ausdruck neben den Pins die Pinbezeichnung sehen und da wo neben der Nummer ein (~) steht ist der PWM-Ausgang.
Soweit ok und wir helfen gern.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2015, 08:05
Beitrag #5
RE: Fernsteuerung mit RFM 12 B
welche Reichweite haben deine Fernsteuer-Module?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2015, 09:03
Beitrag #6
RE: Fernsteuerung mit RFM 12 B
(06.09.2015 08:05)HaWe schrieb:  welche Reichweite haben deine Fernsteuer-Module?

Hallo
Die Reichweite konnte ich noch nicht testen.
In einer Mietwohnung ist das nicht gut möglich.
Im Moment bin ich noch in der Wohnung.
Für Feld Versuche müssten die Antennen auch noch optimiert werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2015, 10:14
Beitrag #7
RE: Fernsteuerung mit RFM 12 B
(06.09.2015 08:05)HaWe schrieb:  welche Reichweite haben deine Fernsteuer-Module?

Hier http://plischka.at/Funk.html wird eine Aussage über die Reichweite gemacht, allerdings steht nicht dabei, welche Frequenz dabei verwendet wurde.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.09.2015, 13:59 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2015 13:59 von HaWe.)
Beitrag #8
RE: Fernsteuerung mit RFM 12 B
Zitat:"Noch was zur Reichweite, im Freien kommt man trotz der nicht optimalen Drahtantenne auf 150 bis 200m. Innerhalb des Hauses klappt es aus dem Keller bis in die zweite Etage ohne Probleme. Wem das nicht reicht, der kann das RFM12BP verwenden, dann sprechen wir nicht mehr über Meter sondern über Kilometer."

das klingt ja sehr gut!
Bin gespannt, wie es läuft, per UART (Serial) samt später noch dran geflickten 3DR Radio Modulen scheine ich keine brauchbare Performance zu bekommen.
(1x pro Sekunde 48 Bytes hin und her ist indiskutabel.)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Zähler über RC-Fernsteuerung do1xxy 14 1.911 14.04.2015 20:44
Letzter Beitrag: do1xxy
  RC-Fernsteuerung - Schaltunktionen halten do1xxy 5 2.223 19.08.2014 13:26
Letzter Beitrag: do1xxy

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste