Τρίτη 28 Δεκεμβρίου 2021

Κουμπί (button) του Arduino

 Είναι φορές που ο έλεγχος πρέπει να γίνεται χειροκίνητα.

Π.χ. όταν πατάει ένα κουμπί ο χρήστης να ξεκινάει ένας κινητήρας, ή αντίθετα να σταματάει.

Το κουμπί του arduino είναι κανονικά ανοικτός διακόπτης μόνο στα διαγώνια ποδαράκια!

Στα ποδαράκια που βρίσκονται στην ίδια πλευρά είναι κλειστός διακόπτης

Άσκηση

Να γίνεται έλεγχος LED με χρήση κουμπιού του Arduino. Να ανάβει όταν πατιέται το κουμπί και να σβήνει όταν δεν πατιέται.

Συνδέουμε τα 5V του arduino σε ένα ποδαράκι του κουμπιού και  το διαγώνιο ποδαράκι  το ενώνουμε με μία ψηφιακή είσοδο του arduino (π.χ. την 2). Στο  τελευταίο αυτό  ποδαράκι συνδέουμε και μία αντίσταση 10 ΚΩ, το άλλο άκρο της οποίας καταλήγει στην γείωση (αν δεν υπήρχε η αντίσταση, πάντα η τάση της γείωσης 0V θα κατέληγε στην είσοδο 3, ενώ με κλειστό διακόπτη θα γινόταν βραχυκύκλωμα.)

Σε μία ψηφιακή έξοδο του Arduino (π.χ. την 3 ) συνδέουμε όπως έχουμε ήδη διδαχθεί στο πρώτο μάθημα (βλ. παλιότερες αναρτήσεις) μία LED.

Το κύκλωμα για τη σύνδεση του κουμπιού φαίνεται παρακάτω:


Ο Κώδικας για τον έλεγχο φαίνεται παρακάτω:

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  3;      // the number of the LED pin


int buttonState = 0;         
void setup() {
  // put your setup code here, to run once:
 // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
// 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);
  }
}

Το αποτέλεσμα φαίνεται στο βίντεο:




Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.