Pin in Abhängigkeit eines anderen

Hallo Leute,

ich bin neu bei Arduino und habe ein paar Fragen bzw. benötige Hilfe bezüglich meines Programms, das ich schreiben will.

In meinem Programm sollen eine LED, ein Schalter und ein Sound vorkommen. Die LED soll leuchten, wenn der Schalter geschlossen ist. (Das funktioniert soweit auch, weil ich einfach die LED hinter den Schalter geklemmt hab...da ist halt nur das Licht sehr schwach, nicht unbedingt optimal). Der Pin, an den der Sound angeschlossen ist, soll zählen, sobald die LED bzw. der Schalter aktiviert ist. Nach einer gewissen Zeit (z.B. 5 Sekunden), soll der Sound ein Signal abgeben.

Wichtig ist, dass sich das ganze Prozedere wiederholt, sobald der Schalter geschlossen ist und die Zeit abgelaufen ist. Wenn der Schalter aus ist, soll auch die LED und der Sound aus sein.

Hat jemand dazu zufällig ein Beispiel, das ich irgendwie verwenden könnte oder Tipps, wie ich das umgesetzt bekomme?

Wie gesagt, ich bin neu, kenn mich mit sowas leider gar nicht aus, brauch aber dieses Programm für ein Projekt in der Uni...

Wäe super, wenn mir jemand helfen könnte!

Vielen Dank und schönen Sonntag,

Coco

Warum ist das Licht schwach, hinter einem Schalter?

kenn mich mit sowas leider gar nicht aus,

Das kannst du ändern. https://www.arduino.cc/en/Reference/Tone

void setup()
{
  pinMode(10, INPUT); // Eingangs Pin für das Signal vom Schalter
  pinMode(13, OUTPUT); // Ausgangs Pin für den Sound
}

void loop() 
{
if(digitalRead(10) == 1) // Bedingung damit Sound angeht.
{
digitalWrite(13, HIGH); // Ausgangs Pin liefert ein HIGH Signal
delay(5000);  // Dauer des Sounds.
}
else /* Damit der Sound ausbleibt wenn der Schalter nicht gedrückt ist, und wenn nach Drücken des Schalters 5 Sekunden vorbei sind.\*
{ 
digitalWrite(13, LOW); // Ausgangs Pin liefert ein LOW Signal. 
}
}

PS: Wenn du die LED direkt über den Schalter auf 5V schaltest, dann geht die LED schrott. Solltest du ein Widerstand davor gebaut haben, dann könnte dieser zu hoch sein.

combie: Warum ist das Licht schwach, hinter einem Schalter?

Vermutlioch weil das ganze falsch betreibt. Die Led in Reihe zu einem Schaltkontakt an dem Eingangs Pin des Arduino. Defekt gehen sollte hierbei die Led nicht gehen. Der Strom wird begrenzt, so stark, dass die Led halt nur noch sehr schwach leuchtet. Die Schaltung ist aber nicht zu empfehlen. Schließe Taster und Leds getrennt an (Led mit Vorwiderstand).

Durch den hohen Eingangswiderstand (>5MOhm) müßte die LED überhaupt nicht leuchten. Grüße Uwe

hier nochmal eine Version ohne delay

const uint8_t schalter_pin = 7;// Schalter GND und Pin 7
const uint8_t led_pin = 8;     // Pin 8 Widerstand Led GND
const uint8_t sound_pin = 9;
const uint16_t warten = 5000;
uint32_t on_zeit;
bool schalter_state, schalter_state_alt = 1;

void setup() 
{
  Serial.begin(115200);
  pinMode(schalter_pin,INPUT_PULLUP);
  pinMode(led_pin, OUTPUT);
  pinMode(sound_pin, OUTPUT);
}

void loop() 
{ 
   schalter_state = digitalRead(schalter_pin);
  if (schalter_state != schalter_state_alt)
     {on_zeit = millis(); schalter_state_alt = schalter_state;}
  if (!schalter_state)
     {digitalWrite(led_pin,HIGH);
      if (millis()-on_zeit > warten) digitalWrite(sound_pin, HIGH); 
//oder if (millis()-on_zeit > warten) tone(sound_pin, 400);       
      }
       else {digitalWrite(led_pin,LOW); digitalWrite(sound_pin, LOW);}
//dann else {digitalWrite(led_pin,LOW); noTone(sound_pin);}
}

uwefed: Durch den hohen Eingangswiderstand (>5MOhm) müßte die LED überhaupt nicht leuchten. Grüße Uwe

Aber da ist ja noch ein Pullup oder Pulldownwiderstand der der LED ein wenig Strom geben kann. Grüße Uwe