Μετάβαση στο κύριο περιεχόμενο

Πώς να συνδέσετε και να προγραμματίσετε ένα κουμπί

 

Πώς να συνδέσετε και να προγραμματίσετε ένα κουμπί

Μάθετε πώς να καλωδιώσετε και να προγραμματίσετε ένα κουμπί για τον έλεγχο ενός LED.

Τα κουμπιά ή οι διακόπτες συνδέουν δύο σημεία σε ένα κύκλωμα όταν τα πατάτε. Αυτό το παράδειγμα ενεργοποιεί το ενσωματωμένο LED στον ακροδέκτη 13 όταν πατάτε το κουμπί.

Στοιχεία, εξαρτήματα

  • Πλακέτα Arduino

  • Στιγμιαίο κουμπί ή Διακόπτης

  • Αντίσταση 10K ohm

  • καλώδια σύνδεσης

  • breadboard

Κύκλωμα





Συνδέστε τρία καλώδια στην πλακέτα. Τα δύο πρώτα, κόκκινο και μαύρο, συνδέονται με τις δύο μακριές κάθετες σειρές στο πλάι του 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);
  }
}

Σχόλια

Δημοφιλείς αναρτήσεις από αυτό το ιστολόγιο

PWM στο Arduino

  PWM στο Arduino Εισαγωγή στο PWM Η διαμόρφωση πλάτους παλμού (PWM)   είναι μια τεχνική με την οποία το πλάτος ενός παλμού μεταβάλλεται διατηρώντας τη συχνότητα του κύματος σταθερή. Είναι μια μέθοδος παραγωγής αναλογικού σήματος με χρήση ψηφιακής πηγής. Γενιά PWM   Ένα σήμα PWM αποτελείται από δύο κύρια στοιχεία που καθορίζουν τη συμπεριφορά του: έναν  κύκλο λειτουργίας  και μια  συχνότητα  .   Τι είναι ο κύκλος λειτουργίας του σήματος Η περίοδος ενός παλμού αποτελείται από έναν  κύκλο  ON   (5V) και έναν    κύκλο  OFF  (0V). Το κλάσμα για το οποίο το σήμα είναι ενεργοποιημένο για μια περίοδο είναι γνωστό ως   κύκλος λειτουργίας  . Π.χ.  Ένας παλμός με περίοδο 10 ms θα παραμείνει ενεργός (υψηλό) για 2 ms. Επομένως, ο κύκλος λειτουργίας θα είναι D = 2ms / 10ms = 20%   Μέσω της τεχνικής PWM, μπορούμε να ελέγξουμε την ισχύ που παρέχεται στο φορτίο χρησιμοποιώντας το σήμα ON-O...

Tmp36GZ θερμόμετρο με LCD οθόνη

 Tmp36GZ με LCD οθόνη // Define to which pin of the Arduino the output of the TMP36 is connected: #include <LiquidCrystal_I2C.h> // Look for LiquidCrystal I2C library by Marco Schwartz LiquidCrystal_I2C lcd ( 0x 27 , 16 , 2 ) ;  // set the LCD address to 0x3F for a 16 chars and 2 line display #define sensorPin A0 void setup () {   // Begin serial communication at a baud rate of 9600:   Serial . begin ( 9600 ) ;   lcd . init () ;   lcd . clear () ;           lcd . backlight () ;      // Make sure backlight is on     // Print a message on both lines of the LCD.   lcd . setCursor ( 2 , 0 ) ;   //Set cursor to character 2 on line 0   lcd . print ( "Hello world!" ) ;     lcd . setCursor ( 2 , 1 ) ;   //Move cursor to character 2 on line 1   lcd . print ( "LCD Tutorial" ) ; } void loop () {   // Get a reading from the temperature sensor:   int reading ...

Πώς να χρησιμοποιήσετε ένα Breadboard

  Πώς να χρησιμοποιήσετε ένα Breadboard Το breadboard έχει εσωτερικές συνδέσεις μεταξύ των οπών του. Μερικές κάθετες συνδέσεις και μερικές οριζόντιες συνδέσεις. Κανονικά, χρησιμοποιείτε τις κολώνες στα πλάγια για να συνδέσετε το τροφοδοτικό σας. Και χρησιμοποιείτε τις σειρές στη μέση για να συνδέσετε τα στοιχεία σας. Στήλες Τροφοδοτικού Είναι σύνηθες να χρησιμοποιείτε τις στήλες στα αριστερά και δεξιά για τη σύνδεση του τροφοδοτικού. Αυτές οι στήλες συνδέονται κάθετα. Έτσι, εάν συνδέσετε 5 βολτ στην επάνω οπή μιας από τις πλευρικές κολώνες, θα έχετε 5 βολτ σε όλες τις οπές αυτής της στήλης. Χρησιμοποιήστε τις στήλες που επισημαίνονται με κόκκινη γραμμή για το συν και τη στήλη με μπλε γραμμή για το μείον. Τέλος φόρμας Σημείωση: Μερικές μεγαλύτερες πλάκες   breadboard χωρίζονται στα δύο έτσι ώστε το πάνω μισό να αποσυνδεθεί από το κάτω μισό. Αυτό υποδεικνύεται από τις κατακόρυφες μπλε και κόκκινες γραμμές που χωρίζονται στα δύο.   Περιοχή Συστατικού Σ...