NT21:
Ich habe ein Programm dass mal Licht erzeugt und mal Ton unswar durcheinander und vom erzeugen des Lichte oder Tones soll die Zeit gemessen werden und dann wenn man auf nem Taster drück soll die Zeit gestoppt werden. Danach nochmal das gleiche und insgesamt 6xsoll das passieren.
Ich brauche es für die Schule und bin sehr neu was Arduino angeht.
Das ist mein Programm ,da fehlt noch viel aber ich komm nicht weiter.
Könnt ihr helfen??
Nun sehr neu waren wir alle mal - das ist aber zu erlernen.
int i,a,s;
Da würde ich dir raten zu schreiben:
int i; // Die Variable für ........
int a; // Die Variable für die Tonhöhe
Es ist für dich besser lesbar und vor allem für alle die helfen wollen
Da würde ich dir raten immer gleich den Link zur Lib schreiben. Es gibt oft für ein und die selbe Aufgabe verschiedene Libs die aber alle ihre Eigenheiten haben. Du wirst da am Anfang öfter nachlesen müssen bist du deine Liblings Lib auswendig kennst.
#include <LiquidCrystal_I2C.h> // Arduino-LiquidCrystal-I2C-library/LiquidCrystal_I2C.h at master · fdebrabander/Arduino-LiquidCrystal-I2C-library · GitHub
for(int i=0; i<5; i=i+1 );
Serial.println("Hallo");
Serial.println(i);
a=228;
}
So nun mal Vorsicht. Du hast die Variable "i" schon mal verwendet. Da ist das noch kein Problem aber das kann dich in die Teufels Küche führen. Lies mal was eine globale und eine lokale Variable ist.
In diese Schleife schreibst du 5 mal Hallo - ok das kann noch ganz witzig sein aber der Variable "a" 5 mal den Wert 228 zuweisen bringt nicht wirklich was. Und das mit den Klammern bei den Schleifen - nicht ganz unwichtig.
//i=("stoppt Zeit");
Ok jetzt steht da mal in einen Kommentar wofür "i" verwendet werden soll
liest sich so die Variable für eine Stopp Zeit zu verwenden. Da wirst mal überlegen müssen in welchen Datenformat soll die Zeit gespeichert werden und ist das der richtige Variablen Typ
Alles hinter // ist ein Kommentar und hat nicht mit den Programm Funktionen zu tun.
i=digitalRead(4);
Jetzt ist aber die Variable "i" plötzlich der Inhalt vom Digital Eingang 4 - das wird ein Problem
delay(1000);
ja das mit dem Delay - für den Anfang ist es ok aber Delay hat den fürchterlichen Nachteil das gar nix passiert. Es wird keine Taste erkannt, es wird nichts ausgegeben. Da ist möglichst bald lernen angesagt. Blink without delay oder die Nachtwärterschaltung
s=random(1,7);
Upps, jetzt gibt es eine neue Variable "s". Welcher Typ ist den das?
Ja da sind noch ein paar Fehler. Auch wenn du die Idee nicht so toll findest würde ich dir raten die Grundlagen Beispiele durchzuarbeiten. Ja das ist aber alles erlernbar und deine Aufgabe ist lösbar.
Viel Erfolg