Forum: Mikrocontroller und Digitale Elektronik Arduino PWM und 433Mhz Empfänger


von Andreas L. (andreas_l441)


Lesenswert?

Hallo,
Ich habe mir vor kurzem einen 433Mhz Sender- und Empfänger aus China 
bestellt.
Nun wollte ich Signale von meinem Raspberry Pi per Funk an den Arduino 
senden und dann mit dem Arduino eine RGB LED Leiste über PWM steuern.
Jetzt habe ich folgendes Problem:
Der Arduino empfängt den ersten Farbcode immer problemlos und schaltet 
die PWM Ausgänge entsprechend.
Sobald ich aber einen zweiten Code sende, empfängt er nichts mehr. Ich 
vermute, dass es an der Pulsweitenmodulation liegt.. Wisst ihr wie man 
das ganze störfrei hinbekommt?
Hier der Arduino Sketch:
1
#include "RCSwitch.h"
2
#include <stdlib.h>
3
#include <stdio.h>
4
RCSwitch mySwitch = RCSwitch();
5
const int red = 9;
6
const int green = 10;
7
const int blue = 11;
8
 
9
void setup() {
10
  Serial.begin(9600);
11
  mySwitch.enableReceive(0);  // Receiver on inerrupt 0 =&gt; that is pin #2
12
  pinMode(red, OUTPUT);
13
  pinMode(green, OUTPUT);
14
  pinMode(blue, OUTPUT);
15
}
16
 
17
void loop() {
18
  if (mySwitch.available()) {
19
 
20
    int value = mySwitch.getReceivedValue();
21
    
22
    farbe(value);
23
    mySwitch.resetAvailable();
24
  }
25
  
26
}
27
28
void farbe(const int farbcode) 
29
{
30
  int rotanteil = farbcode / 100;
31
  int gruenanteil = (farbcode - rotanteil * 100) / 10;
32
  int blauanteil = farbcode - rotanteil * 100 - gruenanteil * 10;
33
34
  analogWrite(red, rotanteil * 25);
35
  analogWrite(green, gruenanteil * 25);
36
  analogWrite(blue, blauanteil * 25);
37
}

Das sind die Module:
http://www.ebay.de/itm/like/181535717407?ul_noapp=true&chn=ps&lpid=106
MfG Andreas

von Max H. (hartl192)


Lesenswert?

Andreas L. schrieb:
> Wisst ihr wie man
> das ganze störfrei hinbekommt?
Vllt. weiß es jemand wenn du deinen Quellcode und Schaltplan postest.

von Wolfgang (Gast)


Lesenswert?

Andreas L. schrieb:
> Wisst ihr wie man das ganze störfrei hinbekommt?

Indem du möglichst an der Quelle die Entstehung der Störungen vermeidest 
oder durch geeignete Maßnahmen deren Ausbreitung in der Umwelt 
verhinderst oder sie zumindest vorher kräftig abschwächst. Bei 
Funkstörungen hilft Abstand - ggf. viel Abstand.

von Chris M. (yoblid) Benutzerseite


Lesenswert?

Andreas L. schrieb:
> Sobald ich aber einen zweiten Code sende, empfängt er nichts mehr. Ich
> vermute, dass es an der Pulsweitenmodulation liegt.. Wisst ihr wie man
> das ganze störfrei hinbekommt?

Lass die RCSwitch.h Lib einfach weg, und lies die Daten des 
Empfangsmoduls mit digitalRead() aus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.