Chyba zostałe źle zrozumiany.
Chodziło mi o taki kod (z opisu shielda II cześć Kursu budowy robotów)
define LED 13
#define BUZZER 10
#define PRZYCISK 2
void setup() {
//Konfiguracja wyjsc
pinMode(LED, OUTPUT);
pinMode(BUZZER, OUTPUT);
//Konfiguracja wyjscia
pinMode(PRZYCISK, INPUT_PULLUP);
//Wylaczenie diody i buzzera
digitalWrite(LED, LOW);
digitalWrite(BUZZER, LOW);
//Testowe migniecia LED
digitalWrite(LED, HIGH);
delay(500);
digitalWrite(LED, LOW);
delay(500);
}
void loop() {
if (digitalRead(PRZYCISK) == LOW) { //Jesli przycisk jest wcisniety...
digitalWrite(LED, HIGH);
digitalWrite(BUZZER, HIGH);
delay(500);
} else { //Jesli przycisk nie jest wcisniety...
digitalWrite(LED, LOW);
digitalWrite(BUZZER, LOW);
}
}
Jeśli przycisk jest cały czas wciśnięty to dioda zamruga tylko raz i buzer nie brzęczy ciągle.
Czyli digitalRead(PRZYCISK) != LOW), dlaczego? Normalnie filtr RC (kondensator + rezystor) jest podłączany równolegle do switcha. Tu jest inaczej? Czy można prosić o podanie schematu shielda?