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
Brauche Hilfe bei einem kleinem Arduino-Spiel
22.10.2015, 18:39
Beitrag #1
Lightbulb Brauche Hilfe bei einem kleinem Arduino-Spiel
Hallo,

seit einiger Zeit habe ich ein Arduino-UNO-Board.

Kleinere Projekte habe ich bereits gut hinbekommen, jetzt brauche ich allerdings eure Hilfe!

Ich möchte ein kleines "Spiel" programmieren.
Es soll über einen Pizo-Lautsprecher ein bestimmtes Signal ausgegeben werden.
Man soll dann (je nach Signal) das Richtige Kabel ziehen.

Zieht man das Richtige Kabel, so werden die nächsten Töne ausgegeben, wenn man falsch liegt, so soll das Programm von vorne gestartet werden. Das soll sich dann immer wiederholen, bis keine Kabel mehr über sind.

Den Zustand der Kabel lese ich über den seriellen- Monitor aus

Hier mein momentanes Programm:
Code:
int eingangblau= A0;
int einganggelb= A1;
int eingangschwarz= A2;
int eingangrot= A3;
int eingangweiss= A4;
int eingangorange= A5;

int LED = 13;


int sensorWertblau = 0;
int sensorWertgelb = 0;
int sensorWertschwarz = 0;
int sensorWertrot = 0;
int sensorWertweiss = 0;
int sensorWertorange = 0;



void setup()

{

Serial.begin(9600);

pinMode (LED, OUTPUT);


}



void loop()

{

sensorWertblau =analogRead(eingangblau);

sensorWertgelb =analogRead(einganggelb);

sensorWertschwarz =analogRead(eingangschwarz);

sensorWertrot =analogRead(eingangrot);

sensorWertweiss =analogRead(eingangweiss);

sensorWertorange =analogRead(eingangorange);




Serial.print("Sensorwertblau = " );

Serial.println(sensorWertblau);

Serial.print("Sensorwertgelb = " );

Serial.println(sensorWertgelb);

Serial.print("Sensorwertschwarz = " );

Serial.println(sensorWertschwarz);

Serial.print("Sensorwertrot = " );

Serial.println(sensorWertrot);

Serial.print("Sensorwertweiss = " );

Serial.println(sensorWertweiss);

Serial.print("Sensorwertorange = " );

Serial.println(sensorWertorange);





tone(12, 700);
    delay(500);
    noTone(12);
    delay(100);
    tone(12, 100);
     noTone(12);
     delay (10000);

if (sensorWertblau > 3 )

{

tone(12, 700);
    delay(500);
    noTone(12);
    delay(100);
    tone(12, 100);
     noTone(12);
     delay (1000);

}

else

{

starte Programm von vorne

}

delay (50);

}

Die serielle Ausgabe funktioniert bereits, die Farben stehen für ein Kabel in diesem Fall ist das Blaue Kabel gezogen[Bild: show.php?file=83a274-1445536302.png]

Ich hoffe Ihr könnt mir helfen, bei Fragen einfach schreiben...

Würde mich sehr über eure Hilfe freuen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.10.2015, 19:48 (Dieser Beitrag wurde zuletzt bearbeitet: 22.10.2015 19:52 von jalu4601.)
Beitrag #2
RE: Brauche Hilfe bei einem kleinem Arduino-Spiel
Hallo, mein Problem besteht hauptsächlich in der Schleife (ist eine if, else-Schleife überhaupt richtig?) ich weiß auchn nicht wie ich es hinbekomme, das er erst eine Aktion ausführt wenn ein Kabel gezogen wurde (entweder das richtige oder das falsche).

Ein weiteres Problem ist wie ich es hinbekomme, dass das Programm bei falschen Kabel von vorne startet. Könnte man die Befehle auch in void setup packen?

Es wäre nett, wenn ihr eure Ideen/Vorschläge oder Programme hier mal posten könntet
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.10.2015, 20:16
Beitrag #3
RE: Brauche Hilfe bei einem kleinem Arduino-Spiel
Hallo,
habe mal versucht das kurz darzustellen:

A0 ----KABEL---->Hier kann Verbindung getrennt werden<----GND
A1 ----KABEL---->Hier kann Verbindung getrennt werden<----GND
A2 ----KABEL---->Hier kann Verbindung getrennt werden<----GND
A3 ----KABEL---->Hier kann Verbindung getrennt werden<----GND
A4 ----KABEL---->Hier kann Verbindung getrennt werden<----GND
A5 ----KABEL---->Hier kann Verbindung getrennt werden<----GND

Die serielle Darstellung ist kein Problem, solange das Kabel verbunden ist, wird 0 angezeigt, wenn getrennt dann eine Wert höher als 0 (das schwankt immer ein bisschen...)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.10.2015, 21:26
Beitrag #4
RE: Brauche Hilfe bei einem kleinem Arduino-Spiel
Wie lötzinnerhitzer schon schreibt, es ist eine reine digitale Funktion (Kabel gesteckt/Kabel gezogen: Ja/Nein), da solltest du die digitalen Eingänge verwenden. Du kannst natürlich auch die analogen als digitale verwenden, aber dann mit dem Befehl "digitalRead".

Ich steige allerdings auch nicht so ganz durch deinen Sketch durch, z.B. was macht diese if-Anweisung (keine if-Schleife)? if (sensorWertblau > 3 ), wenn du Kabel steckst oder ziehst wird kein Wert 3 rauskommen.
Also benötigen wir noch ein wenig Erklärung.

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.10.2015, 06:36 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2015 06:41 von jalu4601.)
Beitrag #5
RE: Brauche Hilfe bei einem kleinem Arduino-Spiel
Hallo, als erstes wird ein Ton ausgegeben. Die Schleife soll dann prüfen ob das Richtige Kabel gezogen wurde. Wenn das blaue Kable gezogen wurde, wird dieses auf dem seriellen Monitor sichtbar (der Wert erhöht sich). Sonst (else) soll das Programm von vorne starten...

Das ganze soll sich natürlich die ganze Zeit wiederholen: ein neuer Ton, ein neues Kabel rausziehen.

Die Schleife habe ich nur angedeutet...

Wo besteht denn der unterschied zwischen analog un digital Read
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.10.2015, 08:35
Beitrag #6
RE: Brauche Hilfe bei einem kleinem Arduino-Spiel
Welche Schleife meinst du?
Es gibt nur eine Schleife in deinem Code, das ist die Loop.

Die "if/else" ist eine Anweisung.

Und nochmal die Frage, was bedeutet hier die 3!
"if (sensorWertblau > 3 )"
Wenn du auf "gesteckt/nicht gesteckt" prüfst, kann es keine "3" geben.

Und das hier:
Zitat:Die serielle Darstellung ist kein Problem, solange das Kabel verbunden ist, wird 0 angezeigt, wenn getrennt dann eine Wert höher als 0 (das schwankt immer ein bisschen...)
liegt daran, dass du analoge Eingänge verwendest, die anschließend nicht beschaltet sind und irgend eine Störspannung anzeigen. Aber immer undefiniert und damit nicht verwendbar.

Bitte kommentiere deinen obigen Code mal richtig, damit wir verstehen, was dieser macht.

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
  Hilfe: IR Remote Steuerung, MSGEQ7 + RGB-LED Streifen dastob 1 122 14.10.2016 21:40
Letzter Beitrag: hotsystems
Sad Ich brauche Hilfe Prosac 4 235 09.10.2016 18:39
Letzter Beitrag: Prosac
  A4988 Driver mit einem Nema 17 Hangloose 3 140 04.09.2016 21:49
Letzter Beitrag: Hangloose
  at24c256 Hilfe Gandalf 6 249 29.08.2016 18:59
Letzter Beitrag: MKc
Smile Progammier Neuling Codeschloss bittet um Hilfe Donalonso 2 286 27.08.2016 18:23
Letzter Beitrag: Binatone
  Hilfe gesucht. Webserver Statsiche und Dynamische HTMl Seite b3ta 11 452 22.08.2016 08:07
Letzter Beitrag: b3ta
  Hilfe: Mega2560 - ENC 28J60 - MYSQL Gandalf 1 181 28.07.2016 16:30
Letzter Beitrag: Gandalf
  Selbstfahrender Roboter Programm änderung hilfe ? arekklone 11 543 06.07.2016 14:59
Letzter Beitrag: Binatone
  Hilfe beim Arduino Shield reimundko 6 459 05.06.2016 11:28
Letzter Beitrag: rpt007
  Brauche etwas Hilfe bei der Umsetzung einer Idee raspido 3 534 23.04.2016 10:26
Letzter Beitrag: rkuehle

Gehe zu:


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