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.
Wyzwanie
ŁatwyPrzycisk łączy pin 2 z GND, a dioda LED jest podłączona do pinu 13:
- ustaw pin 2 jako
INPUT_PULLUP - zapisz
digitalRead(buttonPin) == LOWw zmiennej typuboolo nazwiepressed - 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
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wejścia
1Przyciski
Wyświetlanie stanu przyciskuRezystor podciągający do masyWewnętrzny rezystor podciągający do zasilaniaPrzełączanie przy każdym naciśnięciuLiczenie naciśnięć przyciskuEliminowanie drgań styków przyciskuDwa przyciski jednocześniePoćwicz samodzielnie: Edytor online Arduino