Arduino 8 Fach RC Schalter probleme

ofro

Erfahrener Benutzer
#1
Moin Moin

Ich habe ein kleines problem bei der umsetzung von PWM Signale eines RC-Empfängers.

2 Arduinos (andere Sketch) laufen super und der dritte mit dem unten gezeigtem Sketch zickt rum.

https://youtu.be/ewmt4TjJBtM

Hier ein Video von meinem aufbau.

Bei dem Dritten Arduino werden die Signale extrem verzögert umgesetzt.

Das PWM Signal vom Empfänger kommt aber sauber an den eingang vom Arduino an( mittels Oska gemssen und signale verfolgt)

Hier der Sketch

Code:
#define ch1 A0
#define ch2 A1
#define ch3 A2
#define ch4 A3
#define ch5 A4
#define ch6 A5
#define ch7 A6
#define ch8 A7
#define relais1 2
#define relais2 3
#define relais3 4
#define relais4 5
#define relais5 6
#define relais6 7
#define relais7 8
#define relais8 9

unsigned long ch1v;
unsigned long ch2v;
unsigned long ch3v;
unsigned long ch4v;
unsigned long ch5v;
unsigned long ch6v;
unsigned long ch7v;
unsigned long ch8v;

void setup()
{
pinMode(ch1, INPUT);
pinMode(ch2, INPUT);
pinMode(ch3, INPUT);
pinMode(ch4, INPUT);
pinMode(ch5, INPUT);
pinMode(ch6, INPUT);
pinMode(ch7, INPUT);
pinMode(ch8, INPUT);
pinMode(relais1, OUTPUT);
pinMode(relais2, OUTPUT);
pinMode(relais3, OUTPUT);
pinMode(relais4, OUTPUT);
pinMode(relais5, OUTPUT);
pinMode(relais6, OUTPUT);
pinMode(relais7, OUTPUT);
pinMode(relais8, OUTPUT);
}

void loop()
{
ch1v = pulseIn(ch1, HIGH);
ch2v = pulseIn(ch2, HIGH);
ch3v = pulseIn(ch3, HIGH);
ch4v = pulseIn(ch4, HIGH);
ch5v = pulseIn(ch5, HIGH);
ch6v = pulseIn(ch6, HIGH);
ch7v = pulseIn(ch7, HIGH);
ch8v = pulseIn(ch8, HIGH);

if ( ch1v > 1500)
{
  digitalWrite(relais1,1);
} else {
  digitalWrite(relais1,0);
}

if ( ch2v > 1500)
{
  digitalWrite(relais2,1);
} else {
  digitalWrite(relais2,0);
}

if ( ch3v > 1500)
{
  digitalWrite(relais3,1);
} else {
  digitalWrite(relais3,0);
}

if ( ch4v > 1500)
{
  digitalWrite(relais4,1);
} else {
  digitalWrite(relais4,0);
}

if ( ch5v > 1500)
{
  digitalWrite(relais5,1);
} else {
  digitalWrite(relais5,0);
}

if ( ch6v > 1500)
{
  digitalWrite(relais6,1);
} else {
  digitalWrite(relais6,0);
}

if ( ch7v > 1500)
{
  digitalWrite(relais7,1);
} else {
  digitalWrite(relais7,0);
}

if ( ch8v > 1500)
{
  digitalWrite(relais8,1);
} else {
  digitalWrite(relais8,0);
}

delay(5);
}
Ich habe auch schon verschiedene Arduinos probiert ( 1 Originaler und 4 Clone) bei allen das selbe Problem.

Mit dem "delay" habe ich auch schon gespielt, brachte aber keinen erfolg.

Danke schonmal im vorraus.
 
FPV1

Banggood

Oben Unten