HI, ich habe hier ein projekt wo ein ton ab gespielt werden soll wen zeit=2 oder 4 ist und der taster gedrückt wird. leider funktioniert das bei mir hier nicht so
int zeit = 0;
int zeitsolange = 1000;
void Unterprogramm2();
void Unterprogramm1();
void setup() {
pinMode( 2 , INPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
pinMode( 7 , OUTPUT);
zeit = 0;
zeitsolange = 1000;
}
void loop() {
zeitsolange = millis();
Unterprogramm1();
Unterprogramm2();
zeit = ( zeit + 1 );
while ( ( zeit == 5 ) )
zeit = 1;
}
//Dies ist Unterprogramm2
void Unterprogramm2() {
if (( zeit == 1 )) {
digitalWrite( 5 , HIGH );
digitalWrite( 6 , LOW );
digitalWrite( 7 , LOW );
}
if (( zeit == 2 )) {
digitalWrite( 5 , LOW );
digitalWrite( 6 , HIGH );
digitalWrite( 7 , LOW );
}
if (( zeit == 3 )) {
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
digitalWrite( 7 , HIGH );
}
if (( zeit == 4 )) {
digitalWrite( 5 , LOW );
digitalWrite( 6 , HIGH );
digitalWrite( 7 , LOW );
}
}
//Dies ist Unterprogramm1
void Unterprogramm1() {
if (( digitalRead(2) && ( ( zeit == 2 ) || ( zeit == 4 ) ) )) {
tone(3, 800, 1000);
for (int i = 0; i < 5; i++){
digitalWrite( 6 , HIGH );
delay( 100 );
digitalWrite( 6 , LOW );
delay( 100 );
}
zeitsolange = ( zeitsolange - 50 );
if (( zeit == 0 )) {
zeitsolange = 1000;
for (int i = 0; i < 25; i++){
digitalWrite( 6 , HIGH );
delay( 100 );
digitalWrite( 6 , LOW );
delay( 100 );
}
}
}
if (( digitalRead(2) && ( ( zeit == 1 ) || ( zeit == 3 ) ) )) {
tone(3, 180, 1000);
zeitsolange = 1000;
}
}
der taster läuft über D2
könnt ihr mir helfen eine lösung zu finden?
bis jetzt wird immer ein anderer ton abgespielt wenn die lampe aus ist bei 3 oder 4 . es soll halt nur bei taster gedrückt abgespielt werden
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Kann schon sein aber wenn Du an einem Input den Pullupwiderstand ein und ausschaltest dann ist es halt was anderes als wenn Du an einem Ausgang 0V und 5V rausschickst.