Menu
CoddyTech

Wewnętrzny rezystor podciągający do zasilania

Część sekcji Wejścia ścieżki Arduino w Coddy. Lekcja 3 z 22.

Używasz INPUT_PULLUP od lekcji „Odczyt przycisku”. Włącza on rezystor wewnątrz płytki, o rezystancji od 20k do 50k ohm, między pinem a 5V: podciąganie w dół z poprzedniej lekcji odwrócone w drugą stronę, bez dodatkowego elementu. Przycisk łączy pin tylko z GND.

Haczyk polega na tym, że logika jest odwrócona: stan nieaktywny odczytywany jest jako HIGH, wciśnięcie jako LOW, a zapis == LOW w całym szkicu łatwo odwrócić. Porównanie takie jak digitalRead(2) == LOW samo w sobie ma wartość true lub false, a bool to zmienna przechowująca true lub false. Zapisz tę wartość pod nazwą, która mówi, co ona oznacza:

bool pressed = digitalRead(2) == LOW;

if (pressed) {
  // przycisk jest wciśnięty
}

Od tej pory kod można czytać we właściwy sposób. Wyświetlenie wartości bool pokazuje 1 dla true i 0 dla false.

challenge icon

Wyzwanie

Łatwy

Przycisk łączy pin 2 z GND, a dioda LED jest podłączona do pinu 13:

  • ustaw pin 2 jako INPUT_PULLUP
  • zapisz digitalRead(buttonPin) == LOW w zmiennej typu bool o nazwie pressed
  • wypisz pressed, zapal diodę LED, gdy ma wartość true, a następnie odczekaj 100 ms

Check oczekuje wartości 1, gdy przycisk jest wciśnięty, i 0, gdy jest zwolniony. Naciśnij Run, przytrzymaj przycisk, a następnie naciśnij Check.

Spróbuj swoich sił

const int buttonPin = 2;
const int ledPin = 13;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  // włącz rezystor podciągający pinu przycisku
}

void loop() {
  // bool pressed = ...
  // wypisz wartość, zapal diodę LED, gdy jest true, odczekaj 100 ms
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Wejścia

Poćwicz samodzielnie: Edytor online Arduino