Πώς να συνδέσετε και να προγραμματίσετε ένα κουμπί
Μάθετε πώς να καλωδιώσετε και να προγραμματίσετε ένα κουμπί για τον έλεγχο ενός LED.
Τα κουμπιά ή οι διακόπτες συνδέουν δύο σημεία σε ένα κύκλωμα όταν τα πατάτε. Αυτό το παράδειγμα ενεργοποιεί το ενσωματωμένο LED στον ακροδέκτη 13 όταν πατάτε το κουμπί.
Στοιχεία, εξαρτήματα
Κύκλωμα
Συνδέστε τρία καλώδια στην πλακέτα. Τα δύο πρώτα, κόκκινο και μαύρο, συνδέονται με τις δύο μακριές κάθετες σειρές στο πλάι του breadboard για να παρέχουν πρόσβαση στην τροφοδοσία 5 volt και στη γείωση. Το τρίτο καλώδιο πηγαίνει από την ψηφιακή ακίδα 2 στο ένα πόδι του κουμπιού. Αυτό το ίδιο πόδι του κουμπιού συνδέεται μέσω μιας πτυσσόμενης αντίστασης (εδώ 10K ohm) στη γείωση. Το άλλο πόδι του κουμπιού συνδέεται με την παροχή 5 volt.
Όταν το μπουτόν είναι ανοιχτό (χωρίς πατημένο) δεν υπάρχει σύνδεση μεταξύ των δύο σκελών του κουμπιού, οπότε ο πείρος συνδέεται με τη γείωση (μέσω της συρόμενης αντίστασης) και διαβάζουμε LOW. Όταν το κουμπί είναι κλειστό (πατημένο), κάνει σύνδεση μεταξύ των δύο ποδιών του, συνδέοντας τον πείρο στα 5 βολτ, ώστε να διαβάσουμε ΥΨΗΛΟ.
Μπορείτε επίσης να συνδέσετε αυτό το κύκλωμα αντίστροφα, με μια αντίσταση έλξης να διατηρεί την είσοδο ΥΨΗΛΗ και να πηγαίνει ΧΑΜΗΛΟ όταν πατάτε το κουμπί. Αν ναι, η συμπεριφορά του σκίτσου θα αντιστραφεί, με το LED κανονικά αναμμένο και να σβήνει όταν πατάτε το κουμπί.
Εάν αποσυνδέσετε την ψηφιακή ακίδα I/O από τα πάντα, το LED μπορεί να αναβοσβήνει άτακτα. Αυτό συμβαίνει επειδή η είσοδος είναι "αιωρούμενη" - δηλαδή, θα επιστρέψει τυχαία είτε HIGH είτε LOW. Γι' αυτό χρειάζεστε μια pull-up ή pull-down αντίσταση στο κύκλωμα.
Σχημα
/*
Button
Turns on and off a light emitting diode(LED) connected to digital pin 13,
when pressing a pushbutton attached to pin 2.
The circuit:
- LED attached from pin 13 to ground through 220 ohm resistor
- pushbutton attached to pin 2 from +5V
- 10K resistor attached to pin 2 from ground
- Note: on most Arduinos there is already an LED on the board
attached to pin 13.
created 2005
by DojoDave <http://www.0j0.org>
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Button
*/
// constants won't change. They're used here to set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // 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);
}
}
Σχόλια
Δημοσίευση σχολίου