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
2 RC-Kanäle am Arduino Nano Clone
04.04.2016, 17:29
Beitrag #1
Photo 2 RC-Kanäle am Arduino Nano Clone
Dr Gemeinde,

ich habe das Problem dass sich bei den von mir verwendeten Arduino Clones keine zwei Kanäle einer Fernsteuerung in einem Sketch nutzen lassen - es gehen immer nur die Funktionen eines Kanales. Der von mir verwendete Empfänger ist zu 100% funktionsfähig.

Das Phänomen: habe ich beide ausgesuchten Eingänge belegt, funktioniert nur einer der beiden, bzw. dessen vorgesehen Funktionen. Schließe ich nur einen der Empfängerkanäle an, funktioniert dieser jeweils ohne Probleme. Dabei spielt es keine Rollewelcher Kanal an welchem Eingang angeschlossen ist. Ein Verlegung auf andere Pins bringt ebenfalls kein positives Ergebnis.

Messe ich die Signale mit dem Scope sehe ich keine Peaks oder wilde Schwingungen. Die Signale sind ausreichend definiert.

Die verwendeten Sketche:

1) der von mir für das Schiff zu verwendende:

/* Einsatzbeleuchtung und akustische Signale für das Polizeiboot Helgoland)

*/

int hoerner = 5; // weist Pin 5 als Eingang für Nebel- und Signalhorn zu
int lichter = 7; // weist Pin 7 als Eingang für Blaulicht und Suchscheinwerfer zu
int bl = 3; // weist Pin 3 als Ausgang für Nebelhorn zu
int br = 4; // weist Pin 4 als Ausgang für das Signalhorn zu
int such = 11; // weist Pin 11 als Ausgang für den Suchscheinwerfer zu
int rk = 13; // weist Pin 13 als Ausgang für Funkellicht zu

byte val = 75; // Variable für Nebel- und Signalhorn
byte valw = 75; // Suchscheinwerfer
byte rkon = 0; // Funkellicht


unsigned long duration; // Zeitvariable für das Funkellicht
unsigned long durationw; // Zeitvariable für den Suchscheinwerfer


void setup()
{

// Eingänge für die Fernsteuerung definieren
pinMode(hoerner, INPUT); // Hörner
pinMode(lichter, INPUT); // Suchscheinwerfer und Funkellicht

// Ausgänge für Blinker LEDs und Rundumkennleuchte festlegen
pinMode(bl, OUTPUT); // deklariert bl Pin 3 Nebelhorn als Output
pinMode(br, OUTPUT); // deklariert br Pin 4 Signalhorn als Output
pinMode(rkon, OUTPUT); // deklariert rkon Pin 13 als Funkellicht

// Status der Ausgänge festlegen
digitalWrite(bl, HIGH); //aktiviert Ausgang für das Nebelhorn
digitalWrite(br, HIGH); //aktiviert Ausgang für dasd Signalhorn
digitalWrite(rkon, HIGH); // aktiviert den Ausgang für das Funkellicht


}
void loop()
{
// val Blinker - hoerner
duration = pulseIn(hoerner, HIGH, 20000);
val = map(duration, 1090, 1929, 0, 150);

// valw Warnblinker - pwin
durationw = pulseIn(lichter, HIGH, 20000);
valw = map(durationw, 1090, 1929, 0, 150);


if(val > 120) // Nebelhorn
{
nebelhorn();
}
if(val < 30) // Signalhorn
{
signalhorn();
}
if(valw > 120) // Suchscheinwerfer
{
suchscheinwerfer();
}
if(rkon < 30) // Funkellicht
{
funkellicht();
}
}
void nebelhorn()
{
digitalWrite(bl, LOW);
delay(300);
digitalWrite(bl, HIGH);
delay(300);
}
void signalhorn()
{
digitalWrite(br, LOW);
delay(300);
digitalWrite(br, HIGH);
delay(300);
}
void suchscheinwerfer()
{
digitalWrite(bl, LOW);
digitalWrite(br, LOW);
delay(150);
digitalWrite(bl, HIGH);
digitalWrite(br, HIGH);
delay(150);
}
void funkellicht()
{
if(rkon == 0)
{
digitalWrite(rk, HIGH);
rkon = 1;
delay(50);
}
else
{
digitalWrite(rk, LOW);
rkon = 0;
delay(50);
}
}

2) ein anderer Sketch zum Testen, mit ähnlicher Funktion und gleichem Fehlerbild:

//______________________________________
// Arduino Nano 2 Kanal Schalter
// http://www.modellbau-seenotkreuzer.de
//______________________________________

const unsigned int Ausgang1 = 11; // Relais 1
const unsigned int Ausgang2 = 12; // Relais 2
const unsigned int Ausgang3 = 3; // Relais 3
const unsigned int Ausgang4 = 4; // Relais 4



int Eingang1 = 5; // Empfänger Eingang 1
int Eingang2 = 7; // Empfänger Eingang 2
unsigned long duration;


// Status Festlegung
#define EINGANG1NEUTRAL ((unsigned char) 0)
#define EINGANG2NEUTRAL ((unsigned char) 0)
#define EINGANG1OBEN ((unsigned char) 1)
#define EINGANG1UNTEN ((unsigned char) 2)
#define EINGANG2OBEN ((unsigned char) 3)
#define EINGANG2UNTEN ((unsigned char) 4)
unsigned char Akt_Status1 = EINGANG1NEUTRAL;
unsigned char Vor_Status1 = EINGANG1NEUTRAL;
unsigned char Akt_Status2 = EINGANG2NEUTRAL;
unsigned char Vor_Status2 = EINGANG2NEUTRAL;

void setup()
{
pinMode(Eingang1, INPUT);
pinMode(Ausgang1, OUTPUT);
pinMode(Ausgang2, OUTPUT);

pinMode(Eingang2, INPUT);
pinMode(Ausgang3, OUTPUT);
pinMode(Ausgang4, OUTPUT);


Serial.begin(9600);
}

void loop() {
Ueberwachen_Eingang1();
Ueberwachen_Eingang2();
}
void Ueberwachen_Eingang1()

{
duration = pulseIn(Eingang1, HIGH);
Serial.println(duration);

if ((duration>800) && (duration<1400))
{
Akt_Status1 = EINGANG1OBEN;
Serial.println("Schalter 1 oben");
}

if ((duration>1800) && (duration<2200))
{
Akt_Status1 = EINGANG1UNTEN;
Serial.println("Schalter 1 unten");
}

if ((duration>1500) && (duration<1700))
{
Akt_Status1 = EINGANG1NEUTRAL;
Serial.println("EINGANG1NEUTRAL");
}

if (Vor_Status1 != Akt_Status1)
{
if (Akt_Status1 == EINGANG1NEUTRAL)
{
release1();
Vor_Status1 = EINGANG1NEUTRAL;
}
if (Akt_Status1 == EINGANG1OBEN)
{
EINGANG1oben();
Vor_Status1 = EINGANG1OBEN;
}
if (Akt_Status1 == EINGANG1UNTEN)
{
EINGANG1unten();
Vor_Status1 = EINGANG1UNTEN;
}
}
}

void Ueberwachen_Eingang2()
{
duration = pulseIn(Eingang2, HIGH);
Serial.println(duration);


if ((duration>800) && (duration<1000))
{
Akt_Status2 = EINGANG2UNTEN;
Serial.println("Schalter 2 unten");
}

if ((duration>2000) && (duration<2200))
{
Akt_Status2 = EINGANG2OBEN;
Serial.println("Schalter 2 oben");
}

if ((duration>1500) && (duration<1700))
{
Akt_Status2 = EINGANG2NEUTRAL;
Serial.println("EINGANG2NEUTRAL");
}

if (Vor_Status2 != Akt_Status2)
{

if (Akt_Status2 == EINGANG2UNTEN)
{
EINGANG2unten();
Vor_Status2 = EINGANG2UNTEN;
}
if (Akt_Status2 == EINGANG2OBEN)
{
EINGANG2oben();
Vor_Status2 = EINGANG2OBEN;
}
if (Akt_Status2 == EINGANG2NEUTRAL)
{
release2();
Vor_Status2 = EINGANG2NEUTRAL;
}
}
}

void EINGANG1unten(void)
{
digitalWrite(Ausgang1, LOW);
digitalWrite(Ausgang2, HIGH);
}

void EINGANG1oben(void)
{
digitalWrite(Ausgang1, HIGH);
digitalWrite(Ausgang2, LOW);
}
void EINGANG2oben(void)
{
digitalWrite(Ausgang3, HIGH);
digitalWrite(Ausgang4, LOW);

}
void EINGANG2unten(void)
{
digitalWrite(Ausgang3, LOW);
digitalWrite(Ausgang4, HIGH);

}

void release1(void)
{
digitalWrite(Ausgang1, LOW);
digitalWrite(Ausgang2, LOW);
}

void release2(void)
{

digitalWrite(Ausgang3, LOW);
digitalWrite(Ausgang4, LOW);
}


Bei beiden das gleiche Spiel. Wer kann mir etwas zur möglichen Fehlerquelle sagen?

MfG
A. Fendel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.04.2016, 21:10
Beitrag #2
RE: 2 RC-Kanäle am Arduino Nano Clone
Bitte setze deinen Sketch in Code-Tags, Schaltfläche # verwenden, oder [code*] davor und [/code*] dahinter setzen, aber ohne den Stern *.
Dann ist dieser besser lesbar.
Danke.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ardunio Nano 3,3V Mathias 5 107 24.11.2016 22:38
Letzter Beitrag: Tommy56
  Arduino NANO mit zwei 1.8 SPI-tfts Thandor 2 93 15.11.2016 23:18
Letzter Beitrag: Thandor
  Arduino Nano - VIN Mathias 16 665 22.09.2016 21:39
Letzter Beitrag: ardu_arne
  Arduino Nano und SD Card emjott 3 324 09.09.2016 12:15
Letzter Beitrag: Bitklopfer
  Arduino Nano. Externe Stromversorgung reimundko 1 598 26.06.2016 13:44
Letzter Beitrag: hotsystems
  Arduino Nano - RGB LED Controller MasT3r-A 13 816 29.04.2016 11:43
Letzter Beitrag: hotsystems
  Arduino Nano + Funkmodul nRF24L01+ luxusl 1 803 26.02.2016 17:05
Letzter Beitrag: arduinopeter
  Raspberry Pi mit Arduino Nano ein- und auschalten Genderman2 7 872 18.02.2016 21:12
Letzter Beitrag: Bitklopfer
  Nano kann nicht angesprochen werden holo 5 543 08.02.2016 22:48
Letzter Beitrag: hotsystems
  Arduino Nano - Längeres USB Kabel King2k7 7 653 18.01.2016 19:17
Letzter Beitrag: hotsystems

Gehe zu:


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