Άσκηση 2 Έλεγχος κυκλώματος από μπουτόν
1ο Θέμα : Πατώντας ένα μπουτόν να παραμένει
συνεχώς ΟΝ ένα LED
int ledPin = 13;
int button = 2;
int buttonState =
LOW;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(button, INPUT);
}
void loop() {
buttonState =
digitalRead(button);
if (buttonState ==
HIGH) {
digitalWrite (ledPin, HIGH);
}
}
|
Με βάση το Θέμα 1 να τροποποιηθεί και πατώντας το μπουτόν να
ανάβει για να έχει χρονοκαθυστέρηση 4sec (να ανάβει 4 sec
και μετά να σβήνει)
Θέμα 2: Να γραφεί πρόγραμμα που όσο πατάς το μπουτόν να
ανάβει.
int ledPin = 13;
int button = 2;
int buttonState;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(button, INPUT);
}
void loop() {
buttonState =
digitalRead(button);
if (buttonState ==
HIGH) {
digitalWrite(led,HIGH);
}
else {
digitalWrite(led,LOW);
}
}
|
Με βάση το προηγούμενο θέμα, να τροποποιηθεί έτσι ώστε να
κάνει το αντίθετο αποτέλεσμα: να σβήνουμε το LED όσο πατάμε το μπουτόν
Θέμα 3ο : Να γραφεί πρόγραμμα που να λειτουργεί
ως μια πύλη NOT
χρησιμοποιώντας την εντολή Not
[!]
int buttonPin
= 2; // ο αριθμός του pin
που θα συνδεθεί το μπουτόν
int ledPin
= 13; // ο αριθμός του pin
που θα συνδεθεί το κόκκινο LED
int buttonStatus;
// η μεταβλητή για την ανάγνωση της αρχικής κατάστασης του μπουτόν
void setup()
{
pinMode(ledPin, OUTPUT); // όρισε το pin του LED σαν έξοδο:
pinMode(buttonPin,
INPUT);
// όρισε το pin
του μπουτόν σαν είσοδο:
}
void loop(){
// Διάβασε τη κατάσταση της τιμής του (buttonStatus)
buttonStatus
= digitalRead(buttonPin);
// έλεγξε αν η κατάσταση του μπουτόν δεν είναι
πατημένο
if (buttonStatus !=
HIGH) { // Το LED να ανάψει
digitalWrite(ledPin,
HIGH);
}
else { // αλλιώς
digitalWrite(ledPin,
LOW); // Το
LED να σβήσει
}
}
|