Hallo, Ich brauche Hilfe beim programmieren des Spiels "Simon sagt" mit Arduino. Es gibt 4 verschiedene LEDs. Zuerst leuchtet eine von ihnen auf, nun soll das Programm darauf warten, dass der zu der LED gehörige Taster betätigt wird. Wenn der richtige Taster betätigt wurde, soll eine neue LED dazukommen. Am besten wäre es wenn die LEDs in einer festen Reihenfolge aufleuchten d.h. kein Zufallsprinzip. Ich würde mich sehr darüber freuen, wenn mir jemand einen Sketch geben könnte, oder das zuvor genannte erklären könnte. Danke schon mal im Voraus!
Speicher die Muster in einem Array. Den Tasten gibts du die gleichen Nummern wie die LED Ausgabenummer und wenn die richtige Anzahl an Tasten gedrückt wurde vergleichst du die beiden Arrays. Gruß JackFrost
Danke für die Antwort, jedoch habe ich ehrlich gesagt noch nicht sehr viel Erfahrung mit Arduino, ich wüsste also auch nicht wie ich mit dem Programm anfangen soll.
Eveline M. schrieb: > Danke für die Antwort, jedoch habe ich ehrlich gesagt noch nicht sehr > viel Erfahrung mit Arduino, ich wüsste also auch nicht wie ich mit dem > Programm anfangen soll. Warum willst du das dann überhaupt machen?
Eveline M. schrieb: > Danke für die Antwort, jedoch habe ich ehrlich gesagt noch nicht > sehr > viel Erfahrung mit Arduino, ich wüsste also auch nicht wie ich mit dem > Programm anfangen soll. Dann ist das Problem wohl eher, dass du nicht programmieren kannst. Arduino-Tutorials gibts genug.
Ich kann programmieren und kenne mich mit den Standard Sachen aus. Eine LED zum leuchten zu bringen ist also kein Problem für mich ;). Aber bei diesem Projekt brauche ich etwas Hilfe. Mir fehlen Begrifflichkeiten, wie "Array".
Eveline M. schrieb: > Ich kann programmieren und kenne mich mit den Standard Sachen aus. Eine > LED zum leuchten zu bringen ist also kein Problem für mich ;). Aber bei > diesem Projekt brauche ich etwas Hilfe. Mir fehlen Begrifflichkeiten, > wie "Array". Damit würde ich sagen du hast gleich im 1. Satz glatt gelogen. Also lerne es!
Eveline M. schrieb: > Mir fehlen Begrifflichkeiten, > wie "Array". https://www.arduino.cc/en/Reference/Array
Hi Zumindest wirft 'die Suchmaschine meines Vertrauen' bei 'Simon sagt Sketch' keine Treffer :=) Klar solltest Du bereits LEDs an/aus schalten können so wie Taster abfragen. Ein Array mit 100 Zeichen Platz, Welches mit Zufallszahlen 0-3 gefüllt wird. Eine Zähl-Variable, initiiert auf 4 Ausgabe der Licht/Ton-Folge Freigabe der Taster Jeder Tastendruck wird 'mitgeschrieben' und auch direkt kontrolliert, ob man korrekt geantwortet hat. Ja -> Licht & Ton für den Tastendruck Nein -> R-I-P Sequenz und negative Tonfolge, Neustart vorschlagen Haben wir alle gespielten Töne eingegeben? Nein -> Sprung, um nächsten Tastendruck auszuwerten Zähl-Variable um 1 erhöhen Sind wir über 100? Nein -> Sprung zur ersten Ausgabe der Licht/Ton-Folge Ja -> Win-Sequenz, viel Lärm und rumgeblinke, Neustart vorschlagen MfG
:
Bearbeitet durch User
Patrick J. schrieb: > Hi > > Zumindest wirft 'die Suchmaschine meines Vertrauen' bei 'Simon sagt > Sketch' keine Treffer :=) Und selbst das stimmt nicht: https://learn.sparkfun.com/tutorials/sik-experiment-guide-for-arduino---v32/experiment-16-simon-says Man muss halt nur wissen, wie das Spiel überhaupt heisst. Es heisst Simon says, nicht Simon sagt.
So ein Sketch sieht ungefähr so aus
1 | uint8_t i,n; |
2 | boolean gedrueckt; |
3 | uint8_t led_pin[]={ 8,9,10,11 }; // LED in der Reihenfolge in der sie aufleuchten |
4 | uint8_t taster_pin[]={ 0, 1, 2, 4 }; // Taster in der Reihenfolge, in der sie gedrückt werden müssen |
5 | boolean taster_gedrueckt[4]; |
6 | uint8_t piezo=3; |
7 | |
8 | void start(void) |
9 | {
|
10 | for(i=0;i<3;i++) |
11 | {
|
12 | pinMode(led_pin[i],OUTPUT); |
13 | digitalWrite(led_pin[i],LOW); |
14 | pinMode(taster_pin[i],INPUT); |
15 | taster_gedrueckt[i]=digitalRead(taster_pin[i]); |
16 | }
|
17 | i=0; |
18 | digitalWrite(led_pin[i],HIGH); |
19 | }
|
20 | |
21 | void setup() |
22 | {
|
23 | start(); |
24 | }
|
25 | |
26 | void loop() |
27 | {
|
28 | if(n<3) n++; else n=0; |
29 | gedrueckt=digitalRead(taster_pin[n]); |
30 | if(gedrueckt&&!taster_gedrueckt[n]) |
31 | {
|
32 | if(i!=n) // falscher Taster |
33 | {
|
34 | tone(piezo, 880, 1000); // falsch |
35 | start(); |
36 | }
|
37 | else if(i<3) // richtiger Taster |
38 | {
|
39 | digitalWrite(led_pin[++i],HIGH); // nächste LED aufleuchten lassen |
40 | }
|
41 | else
|
42 | {
|
43 | tone(piezo, 440, 1000); // alle 4 richtig |
44 | start(); |
45 | }
|
46 | }
|
47 | taster_gedrueckt[n]=gedrueckt; |
48 | delay(5); |
49 | }
|
aber bei fester Reihenfolge ist das gedrücke absolut hirnlos.
THOR schrieb: > Man muss halt nur wissen, wie das Spiel überhaupt heisst. Es heisst > Simon says, nicht Simon sagt. Auf Deutsch ist das Spiel besser als 'Senso' bekannt. Link aufs Arduino Projekt hast du ja schon gepostet. Ich hatte es unter 'Simon Says Arduino' gefunden.
:
Bearbeitet durch User
Hi Dann nimmst Du PI als Grundlage für Deine Reihenfolge, so lernt man wenigstens noch was dabei :) (e, die 27.te Wurzel aus 23547 ginge aber wohl auch - man muß ja nur auf '2 bit' runterrechnen) @Thor Wo Du es sagst - aber weder ich noch der TO hatten wohl diese Gedanken - und da es auf Deutsch keinen Treffer gab, kann ich davon ausgehen, daß der TO auch Nichts gefunden hat (vll. auch hätte). MfG
Michael B. schrieb: > So ein Sketch sieht ungefähr so aus ich glaube nicht dass du Eveline (oder wahrscheinlicher Kevin) damit geholfen hast, er hat zwar die nächste Hausaufgabe fertig, aber gelernt hat er sicherlich nichts.
Kevin M. schrieb: > Ich würde mich sehr darüber freuen, wenn mir jemand einen Sketch geben > könnte, oder das zuvor genannte erklären könnte. Findest Du keinen fertigen Arduino-Sketch zum Downloaden? das Spieleprinzip von "Senso"(deutscher Markt) bzw. "Simon says"(ausländische Märkte) haben sich wohl schon einige Arduino-Bastler in den letzten 10 Jahren als Bastelaufgabe vorgenommen und realisiert, und wenigstens einige von denen dürften ihre Programme mit vollständigem Quellcode offengelegt haben. Allerdings dürften wohl die meisten Arduino-Bastelarbeiten nach dem Zufallsprinzip funktionieren, so wie das seit etlichen Jahrzehnten vertriebene Originalgerät von MB bzw. Hasbro. Und natürlich nicht nur mit LEDs, sondern auch mit Tonabgabe über Piezeo-Lautsprecher: Vier Tasten, vier verschiedene Töne.
:
Bearbeitet durch User
Schau dir vielleicht auch mal den Code von Pollin an. Die haben ein Pollin-Spiel I im angebot, das eben Simon Says ist. Hier der Link zu den Sourcen: http://www.pollin.de/shop/downloads/D810148S.ZIP
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.