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
Zähler über RC-Fernsteuerung
12.04.2015, 10:25
Beitrag #1
Zähler über RC-Fernsteuerung
Hallo Gemeinde,

ich habe mal wieder Zeit gefunden mich mit meinem Projekt zu beschäftigen.

Folgendes ist vorgesehen:
- bei jedem Bewegen des Steuerknüppels springt der Zähler um den Wert "1" weiter und eine entsprechende LED lauchtet auf. Beim bestätigen des Steuerküppels in die andere Richtung erfolgt ein Reset. Der Reset funktioniert.

Beim Kompilieren werden folgende Fehler angezeigt:

- variable or field "kanal" declared void
- expected unqualified-id before "if"
- expected unqualified-id before"{" token
dann 6x
- expected unqualified-id before "if"
und zum Schluß noch einmal
- variable or field "kanal" declared void

ich habe bereits etliche Änderungen im Sketch durchgeführt, diese haben aber dann noch zu mehr Fehlern geführt.

Bei dem Versuch mir den Sketch, bzw. den Inhalt der Variable "a" über den seriellen Monitor anzeigen zu lassen, werden mir Symbole in einer oder zweier Gruppen angezeigt. Das Symbol sieht aus wie ein"o" mit Häkchen. Liegt das evtl. an Windows 8.1 SP2?

Noch einen schönen Sonntag
A[/code][/php]rmin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.04.2015, 12:30
Beitrag #2
RE: Zähler über RC-Fernsteuerung
(12.04.2015 10:31)t.a.f.k.a.Z. schrieb:  stell doch bitte den Sketch hier ein - ohne den lassen sich die Fehlermeldungen nur mittels Glaskugel interpretieren
und die falsche Ausgabe des Serial-Monitors hängt meist mit einer falschen Baudrate zusammen

Hi,

das habe ich doch glatt vergessen.
Die Baudrate habe ich mit 9600 eingetragen.[/code]
[code]Hier der Sketch:

int Led1 = 2;
int Led2 = 3;
int Led3 = 4;
int Led4 = 5;
int Led5 = 6;
int u = 10;
int d = 11;


int RCPin = 12; // weist Pin 12 als Eingang für down und up zu

int a=1; // Wert für variable a

byte rcsignal = 75; // Auswertung Dauert RC-Signal
unsigned long duration; // Zeitvariable für den

void setup()

{
pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);
pinMode(Led3, OUTPUT);
pinMode(Led4, OUTPUT);
pinMode(Led5, OUTPUT);
pinMode(u, OUTPUT);
pinMode(d, OUTPUT);


pinMode(RCPin, INPUT);
}

void loop() // Auswertung des Signales vom Empfänger

{
duration = pulseIn(RCPin, HIGH, 20000);
rcsignal = map(duration, 1090, 1929, 0, 150);

if(rcsignal > 120) // ist das Signal länger als 120ms gehe zur Zählerschleife (count)
{
count();
}
if(rcsignal < 30) // ist das Signal kleiner 30ms gehe zur Resetschleife (reset)
{
reset();
}

}
void count() // Zählerschleife für die Selektion der Statusausgänge 1 bis 5

{
a=a+1;
}

if (a=1)// wenn a= 1 gehe zu Kanal 1
{
kanal1();
}

if (a=2)// wenn a= 1 gehe zu Kanal 1
{
kanal2();
}

if (a=3)// wenn a= 1 gehe zu Kanal 1
{
kanal3();
}

if (a=4)// wenn a= 1 gehe zu Kanal 1
{
kanal4();
}

if (a=5)// wenn a= 1 gehe zu Kanal 1
{
kanal5();
}

void kanal1()

{// Kanal 1
digitalWrite(Led1, HIGH);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
delay(500);
}

void kanal2()
{// Kanal2
digitalWrite(Led1, LOW);
digitalWrite(Led2, HIGH);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
delay(500);
}

void kanal3()
{// Kanal 3
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, HIGH);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
delay(500);
}

void kanal4()
{// Kanal 4
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, HIGH);
digitalWrite(Led5, LOW);
delay(500);
}

void kanal(5)
{// Kanal 5
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, HIGH);
delay(500);
}

void reset() // zurücksetzen des Zählers a=0
{
digitalWrite(Led1, LOW);
digitalWrite(Led2, LOW);
digitalWrite(Led3, LOW);
digitalWrite(Led4, LOW);
digitalWrite(Led5, LOW);
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.04.2015, 13:37
Beitrag #3
RE: Zähler über RC-Fernsteuerung
if (a=1)//
Das muss
if (a==1)//
heißen.

Code:
void kanal(5)
{// Kanal 5
digitalWrite(Led1, LOW);
Das muss wohl "void kanal5()" heißen.

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.04.2015, 16:27
Beitrag #4
Wink RE: Zähler über RC-Fernsteuerung
(12.04.2015 13:37)Thorsten Pferdekämper schrieb:  if (a=1)//
Das muss
if (a==1)//
heißen.

Code:
void kanal(5)
{// Kanal 5
digitalWrite(Led1, LOW);
Das muss wohl "void kanal5()" heißen.

Hallo Thorsten,

die "if" Schleifen erhalten nach wie vor die Fehlermeldung: execptes unqalified-id before "if".

Gut dass Du mich auf den "==" Operator hingewiesen hast. Ich schreibe mitunter mit einem alten Basic-Rechner noch Programme, da heißt es immer "=". Ja ja, die alten Gewohnheiten älterer Männer.

Dass ich Kanal(5) nicht gesehen habe - Betriebsblind.

Danke auf jeden Fall, jetzt habe ich wenigstens nur noch einen Typ der Fehlermeldung.

Gruß und einen schönen Sonntagabend
Armin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.04.2015, 16:56
Beitrag #5
RE: Zähler über RC-Fernsteuerung
Hi,
kannst Du nochmal das ganze Coding und auch die kompletten Fehlermeldungen hier reinkopieren?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.04.2015, 17:07
Beitrag #6
RE: Zähler über RC-Fernsteuerung
Hallo Armin,
wenn ich das richtig sehe liegt der fehler daran, dass die if Bedingungen nach Void Count() und {a=a+1} ausserhalb einer Funktion oder der Loop schleife stehen. Die count Funktion ist nach dem Hochzählen von a beendet und die nächste Funktion fängt bei Kanal1() wieder an.

Gruß Sven

Nichts auf der Welt ist unnütz, es kann im schlimmsten Fall immer noch als schlechtes Beispiel dienen.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.04.2015, 18:06
Beitrag #7
RE: Zähler über RC-Fernsteuerung
(12.04.2015 17:07)Eichner schrieb:  Hallo Armin,
wenn ich das richtig sehe liegt der fehler daran, dass die if Bedingungen nach Void Count() und {a=a+1} ausserhalb einer Funktion oder der Loop schleife stehen. Die count Funktion ist nach dem Hochzählen von a beendet und die nächste Funktion fängt bei Kanal1() wieder an.

Gruß Sven

Hallo Sven,

wenn ich das richtig verstanden habe, muss ich eine neue Schleife erstellen. Das habe ich versucht, bisher ohne Erfolg. Der Ansatz ist trotzdem gut und ich werde ihn weiter verfolgen.

Gruß
Armin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.04.2015, 18:58
Beitrag #8
RE: Zähler über RC-Fernsteuerung
Hallo armin,
Sollen die if bedingungen mit der count schleife zusamen abgehandelt werden? Oder soll beim Count() Aufruf nur a um eins erhöht werden? Ich denke Du hast die geschwungene klammer zu früh gesetzt. Die hinter a=a+1.
Setze die geschwungene Klammer hinter die if Bedingungen und die Fehlermeldungen dürften weg sein.
Gruß Sven

Nichts auf der Welt ist unnütz, es kann im schlimmsten Fall immer noch als schlechtes Beispiel dienen.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Video Canon EOS Trigger Box mit Menüsteuerung über Rotary Wampo 27 7.988 13.11.2016 23:13
Letzter Beitrag: Tommy56
  Benachrichtigungen bei Wassereinbruch über Twitter mit Arduino! drimrim 1 730 23.06.2016 07:15
Letzter Beitrag: drimrim
  Grillregelung über PID MarkoM 1 1.884 04.12.2015 04:43
Letzter Beitrag: Scherheinz
  Fernsteuerung mit RFM 12 B Tellen 9 2.042 06.09.2015 14:25
Letzter Beitrag: HaWe
  2 LEDs über serielle Schnittstelle steuern Bill 0 1.017 13.08.2015 16:04
Letzter Beitrag: Bill
Question [Problem] TFA Nexus über Arduino auf WeatherUnderground übertragen Alfonz_Ritzek 0 1.076 28.03.2015 10:42
Letzter Beitrag: Alfonz_Ritzek
Lightbulb LED Thermometer über WS2812b LED und Dallas DS18B20 Wampo 2 1.736 15.03.2015 17:45
Letzter Beitrag: Wampo
  Für eine Dartescheibe, einen Zähler entwerfen and1 2 1.559 17.01.2015 13:03
Letzter Beitrag: and1
  Lüftersteuerung über Taupunkt daruel 17 10.595 23.08.2014 19:26
Letzter Beitrag: apex
  RC-Fernsteuerung - Schaltunktionen halten do1xxy 5 2.233 19.08.2014 13:26
Letzter Beitrag: do1xxy

Gehe zu:


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