Arduino - przełącznik łączący
Przyciski lub przełączniki łączą dwa otwarte zaciski w obwodzie. Ten przykład włącza diodę LED na pinie 2 po naciśnięciu przełącznika przyciskowego podłączonego do styku 8.
Rezystor pull-down
Rezystory obniżające są używane w elektronicznych obwodach logicznych, aby zapewnić, że wejścia do Arduino ustalają się na oczekiwanych poziomach logicznych, jeśli urządzenia zewnętrzne są odłączone lub mają wysoką impedancję. Ponieważ nic nie jest podłączone do pinu wejściowego, nie oznacza to, że jest to logiczne zero. Rezystory pull down są podłączone między masą a odpowiednim pinem na urządzeniu.
Przykład rezystora obniżającego w obwodzie cyfrowym pokazano na poniższym rysunku. Przełącznik przyciskowy jest podłączony między napięciem zasilania a pinem mikrokontrolera. W takim obwodzie, gdy wyłącznik jest zamknięty, wejście mikrokontrolera ma logiczną wysoką wartość, ale gdy wyłącznik jest rozwarty, rezystor obniżający ciągnie napięcie wejściowe do masy (wartość zera logicznego), zapobiegając niezdefiniowany stan na wejściu.
Rezystor obniżający musi mieć większą rezystancję niż impedancja obwodu logicznego, w przeciwnym razie może zbytnio obniżyć napięcie, a napięcie wejściowe na pinie pozostanie na stałym logicznie niskim poziomie, niezależnie od położenia przełącznika.
Wymagane składniki
Będziesz potrzebował następujących komponentów -
- 1 × płyta Arduino UNO
- Rezystor 1 × 330 omów
- Rezystor 1 × 4,7 K ohm (pull down)
- 1 × LED
Procedura
Postępuj zgodnie ze schematem obwodu i wykonaj połączenia, jak pokazano na rysunku poniżej.
Naszkicować
Otwórz oprogramowanie Arduino IDE na swoim komputerze. Kodowanie w języku Arduino będzie sterować twoim obwodem. Otwórz nowy plik szkicu, klikając Nowy.
Kod Arduino
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 8; // the number of the pushbutton pin
const int ledPin = 2; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
} else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
}
Kod do uwagi
Gdy wyłącznik jest rozwarty (przycisk nie jest wciśnięty), nie ma połączenia między dwoma zaciskami przycisku, więc pin jest połączony z masą (przez rezystor pull-down) i odczytujemy LOW. Gdy przełącznik jest zamknięty (przycisk jest wciśnięty), tworzy połączenie między dwoma zaciskami, podłączając pin do 5 V, tak że odczytamy WYSOKI.
Wynik
Dioda LED zapala się po naciśnięciu przycisku i gaśnie po zwolnieniu.