Πίνακας περιεχομένων:

Σειριακή επικοινωνία Arduino και Python - Οθόνη πληκτρολογίου: 4 βήματα
Σειριακή επικοινωνία Arduino και Python - Οθόνη πληκτρολογίου: 4 βήματα

Βίντεο: Σειριακή επικοινωνία Arduino και Python - Οθόνη πληκτρολογίου: 4 βήματα

Βίντεο: Σειριακή επικοινωνία Arduino και Python - Οθόνη πληκτρολογίου: 4 βήματα
Βίντεο: Lesson 05: Introduction to Serial Monitor | Robojax Arduino Step By Step Course 2024, Νοέμβριος
Anonim
Σειριακή επικοινωνία Arduino και Python - Οθόνη πληκτρολογίου
Σειριακή επικοινωνία Arduino και Python - Οθόνη πληκτρολογίου

Αυτό το έργο είναι κατασκευασμένο για χρήστες mac αλλά μπορεί επίσης να εφαρμοστεί για Linux και Windows, το μόνο βήμα που θα πρέπει να είναι διαφορετικό είναι η εγκατάσταση.

Βήμα 1: Εγκατάσταση λογισμικού

Εγκατάσταση λογισμικού
Εγκατάσταση λογισμικού
  1. Λήψη και εγκατάσταση του Arduino ->
  2. Λήψη και εγκατάσταση Python 2.7 ->
  3. Λήψη βιβλιοθήκης Python "pyserial -2.7.tar.gz" ->
  4. Αποσυμπιέστε το pyserial-2.7.tar.gz
  5. Ανοίξτε το τερματικό και πληκτρολογήστε:

cd /users/"Your-User-Account"/Downloads/pyserial-2.7

sudo python setup.py install

Έτοιμη η εγκατάσταση λογισμικού!

Βήμα 2: Καλωδίωση

Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση
  1. Arduino Uno
  2. Πληκτρολόγιο Sparkfun 12 Button

Η καλωδίωση γίνεται χωρίς εξωτερικές αντιστάσεις, αντί αυτού χρησιμοποίησα τα εσωτερικά Pullup-Resistors του μικροελεγκτή (τα εσωτερικά Pullup-Resistors του Arduino έχουν τιμή 20K-Ohm έως 50K-Ohm)

Για να ενεργοποιήσετε τις εσωτερικές αντιστάσεις Pullup-Resistors, ορίστε το INPUT-Pins HIGH στον κώδικα

Εάν χρησιμοποιείτε άλλο πληκτρολόγιο, κοιτάξτε το φύλλο δεδομένων για τη σωστή καλωδίωση, διαφορετικά θα μπορούσε να προκαλέσει ζημιά στον μικροελεγκτή σας

Βήμα 3: Κωδικός Arduino

Κωδικός Arduino
Κωδικός Arduino
  • Αρχικά ορίζουμε ένα Chars-Matrix για τα Keys
  • Το πληκτρολόγιο χρησιμοποιεί κανονικούς συνδετήρες διακόπτη που είναι διατεταγμένοι σε 4 σειρές (καρφίτσες 7, 2, 3 και 5) και 3 στήλες (καρφίτσες 6, 8 και 4), ορίζονται ως πίνακες σειράς και πίνακες
  • Η συνάρτηση setup ()

    • Ανοίξτε τη σειριακή πύλη με το Serial.begin ();
    • Ορίστε στήλες ως OUTPUT-PIN HIGH
    • Ενεργοποιήστε τις αντιστάσεις Pullup-Resistors, για να το κάνετε αυτό, ορίστε σειρές ως INPUT-Pins HIGH.
  • Η συνάρτηση getkey ()

    • Ορίστε κάθε σειρά LOW και ελέγξτε εάν μία από τις στήλες είναι LOW. Λόγω των Pullup-Resistors είναι όλες οι γραμμές Υ HIGHΗΛΕΣ έως ότου πατηθεί ένα πλήκτρο προς τα κάτω. Το πατημένο πλήκτρο δημιουργεί ένα σήμα LOW στο INPUT-Pin. Αυτό το LOW υποδεικνύει το πατημένο πλήκτρο σε αυτήν τη σειρά και στήλη
    • Περιμένετε έως ότου απελευθερωθεί το κλειδί και επιστρέψει το char του keymap-Array ή 0 αν δεν πιεστεί κανένα πλήκτρο
    • Χρησιμοποιήστε μια καθυστέρηση (debounceTime) για να σταθεροποιήσετε το σήμα

Βήμα 4: Κωδικός Python_2.7

Κωδικός Python_2.7
Κωδικός Python_2.7
  • Εισαγωγή σειριακής βιβλιοθήκης
  • Ορίστε μια μεταβλητή συνδεδεμένη = FALSE, αργότερα αυτή η μεταβλητή χρησιμοποιείται για να ελέγξει εάν η σειριακή σύνδεση είναι διαθέσιμη ή όχι
  • Ανοίξτε τη σειριακή θύρα με σειριακό. Σειρά ("Όνομα της σειριακής σας θύρας", baud)

    • Για να λάβετε το όνομα της σειριακής σας θύρας κάντε κλικ -> Εργαλεία/σειριακή θύρα στο Arduino IDLE
    • το baud πρέπει να είναι το ίδιο όπως στον κώδικα Arduino
  • Σε λίγο δοκιμή βρόχου εάν η σύνδεση είναι διαθέσιμη ή δεν διαβάζει το σειριακό σήμα και ρυθμίζει τη μεταβλητή συνδεδεμένη = TRUE, κάνει βρόχο μέχρι να αποκτήσει σειριακή σύνδεση
  • Μετά τη σύνδεση, διαβάστε τη σειρά σε λίγο βρόχο και τοποθετήστε αυτήν την είσοδο σε μια νέα μεταβλητή "var"
  • κλείστε τη θύρα με ser.close ()

Συνιστάται: