Przycisk monostabilny
Czyli jaki?
Przycisk monostabilny (inaczej zwany przyciskiem chwilowym) to rodzaj przycisku, który pozostaje w jednym stanie (zazwyczaj otwartym, czyli “wyłączonym”) i zmienia swój stan tylko wtedy, gdy jest wciśnięty. Gdy puścisz przycisk, wraca on do swojego pierwotnego stanu. Dlatego mówi się, że ma tylko jeden stabilny stan – stan wyłączony (otwarty).
Budowa przycisku monostabilnego
1. Obudowa: Przycisk jest zamknięty w obudowie, która utrzymuje wszystkie jego części wewnętrzne. Obudowa chroni mechanizm i zapewnia, że użytkownik może wygodnie naciskać przycisk.
2. Dwa styki: Wewnątrz przycisku znajdują się dwa metalowe elementy zwane stykami. Jeden z nich jest podłączony do źródła zasilania (np. pin Arduino lub inny obwód), a drugi do elementu, który ma zostać aktywowany (np. masa lub inny punkt obwodu). Gdy te dwa styki zostaną połączone, zamykają obwód, co pozwala prądowi przepływać.
3. Mechanizm sprężynowy: Kluczowym elementem przycisku monostabilnego jest sprężyna. Sprężyna utrzymuje przycisk w jego stabilnym stanie – zazwyczaj otwartym (czyli takim, w którym obwód jest przerwany). Sprężyna sprawia, że po puszczeniu przycisku wraca on do swojego pierwotnego stanu.
Jak działa przycisk monostabilny?
- Stan spoczynku (brak nacisku): Kiedy przycisk nie jest wciśnięty, obwód jest przerwany, co oznacza, że prąd nie płynie. Mówimy, że obwód jest otwarty.
- Stan aktywacji (nacisk): Kiedy przycisk jest wciśnięty, zamyka on obwód i pozwala na przepływ prądu. W tym momencie obwód jest zamknięty.
Po puszczeniu przycisku, automatycznie wraca on do stanu otwartego, przerywając obwód. Stąd nazwa “monostabilny”, ponieważ tylko jeden stan (otwarty) jest stabilny bez zewnętrznej ingerencji.
Schemat dla Arduino
Schemat dla włącznika dziłąjącego z LEDem bez użycia kodu.
1. 1x przycisk monostabilny
2. 1x LED
3. rezystor 180 Ohm
4. Arduino UNO
5. 4x Jumpery
Schemat dla przycisku podającym sygnał na pin 8 wywołującym
1. 1x przycisk monostabilny2. rezystor 1 kOhm
3. Arduino UNO
4. 4x Jumpery
void setup()
{
pinMode(8, INPUT);
Serial.begin(9600);
}void loop()
{
Serial.println(digitalRead(8));
delay(500); // Wait for 500 millisecond(s)
}
Lub kod z Tinkercada: