Πώς να προγραμματίσετε και να ελέγξετε ένα Arduino με την Python

Δυστυχώς, είναι αδύνατο να προγραμματίσετε απευθείας ένα Arduino στην Python, αλλά μπορείτε να το ελέγξετε μέσω USB χρησιμοποιώντας ένα πρόγραμμα Python. Δείτε πώς.

Δυστυχώς, είναι αδύνατο να προγραμματίσετε απευθείας ένα Arduino στην Python, αλλά μπορείτε να το ελέγξετε μέσω USB χρησιμοποιώντας ένα πρόγραμμα Python.  Δείτε πώς.
Διαφήμιση

Η Python έχει πάρει τον κόσμο κωδικοποίησης από καταιγίδα. Παράλληλα με την άνοδο της νέας αυτής γλώσσας, η ηλεκτρονική σκηνή DIY έχει επίσης ακμάσει. Πίνακες ανάπτυξης και ηλεκτρονικοί υπολογιστές από εταιρείες όπως το Arduino Τι είναι το Arduino και τι μπορείτε να κάνετε με αυτό; Τι είναι το Arduino και τι μπορείτε να κάνετε με αυτό; Το Arduino είναι μια αξιοσημείωτη μικρή ηλεκτρονική συσκευή, αλλά αν δεν έχετε χρησιμοποιήσει ποτέ πριν, τι ακριβώς είναι και τι μπορείτε να κάνετε με ένα; Διαβάστε περισσότερα και Raspberry Pi Raspberry Pi: Το Ανεπίσημο Tutorial Raspberry Pi: Το Ανεπίσημο Tutorial Είτε είστε ο σημερινός ιδιοκτήτης Pi που θέλει να μάθει περισσότερα είτε έναν πιθανό ιδιοκτήτη αυτής της συσκευής μεγέθους πιστωτικής κάρτας, αυτός δεν είναι ένας οδηγός που θέλετε να χάσω. Διαβάστε περισσότερα έχουν αλλάξει τον τρόπο με τον οποίο οι άνθρωποι δημιουργούν οικιακές ηλεκτρονικές συσκευές. Δεν θα ήταν τρομερό αν μπορούσατε να προγραμματίσετε ένα Arduino με την Python;

Δεν υπάρχει καλύτερη αίσθηση από το συνδυασμό δύο δροσερά πράγματα. Δυστυχώς, είναι αδύνατο να προγραμματιστεί άμεσα ένα Arduino με την Python, καθώς οι πίνακες δεν έχουν καμία επιλογή για ερμηνεία της γλώσσας. Αυτό που είναι δυνατόν, ωστόσο, είναι ο άμεσος έλεγχος του USB χρησιμοποιώντας ένα πρόγραμμα Python.

Αυτό το άρθρο θα σας δείξει πώς να δημιουργήσετε ένα Arduino UNO (αν και οποιοδήποτε Arduino συμβατό συμβούλιο Arduino οδηγός αγοράς: Ποιο Συμβούλιο θα έπρεπε να πάρετε;] Arduino οδηγός αγοράς: Ποιο συμβούλιο θα έπρεπε να πάρετε Υπάρχουν τόσοι πολλοί διαφορετικοί τύποι Arduino συμβούλια έξω εκεί, θα μπορούσατε να σας συγχωρέσουμε για να σας μπερδέψουμε, το οποίο θα έπρεπε να αγοράσετε για το έργο σας, ας βοηθήσουμε, με αυτόν τον οδηγό αγορών Arduino, Read More μπορεί να λειτουργήσει εδώ) για προγραμματισμό και έλεγχο από τη γραμμή εντολών χρησιμοποιώντας προγράμματα Python. Αυτό το σεμινάριο είναι γραμμένο για τα Windows 10, αλλά λειτουργεί και για Mac και Linux. Θα μπορούσατε ακόμη και να χρησιμοποιήσετε αυτή τη ροή εργασίας για να ελέγξετε ένα Arduino απευθείας από έναν Raspberry Pi Σπίτι Αυτοματισμού Οδηγός Με Raspberry Pi και Arduino Οδηγός Αυτοματισμού Home με Raspberry Pi και Arduino Η αγορά αυτοματισμού σπίτι είναι πλημμυρισμένο με ακριβά καταναλωτικά συστήματα, ασύμβατα μεταξύ τους και δαπανηρή για την εγκατάσταση . Εάν έχετε ένα Raspberry Pi και ένα Arduino, μπορείτε βασικά να επιτύχετε το ίδιο πράγμα στο ... Διαβάστε περισσότερα για την απόλυτη εμπειρία διπλού-κάτω-DIY.

Ρύθμιση του Arduino για την Python

Για το σημερινό έργο θα χρησιμοποιήσουμε ένα Arduino Uno, μαζί με τη διασύνδεση pyFirmata για Python. Μπορείτε να χρησιμοποιήσετε σχεδόν οποιαδήποτε κάρτα συμβατή με Arduino για αυτό, αν και κατά τη στιγμή της γραφής μόνο τα Arduino Uno, Mega, Due και Nano υποστηρίζονται από τη διασύνδεση pyFfirmata. Εάν είστε ήδη γκουρού της Python, μπορείτε να προσθέσετε τη δική σας υποστήριξη στο board pyFirmata - φροντίστε να ενημερώσετε το GitHub αν το κάνετε!

προγραμματίζετε και ελέγχετε το arduino με το python

Εάν δεν το έχετε ήδη, εγκαταστήστε το IDE του Arduino. Αν είστε εντελώς νέοι στον κόσμο των μικροελεγκτών, ο οδηγός μας για αρχάριους για το Arduino Ξεκινώντας με το Arduino: Οδηγός για αρχάριους Ξεκινώντας με το Arduino: Οδηγός για αρχάριους Το Arduino είναι μια πλατφόρμα πρωτοτύπου ηλεκτρονικών ανοικτών πηγών που βασίζεται σε ευέλικτο και εύχρηστο υλικό και το λογισμικό. Πρόκειται για καλλιτέχνες, σχεδιαστές, χομπίστες και όσους ενδιαφέρονται να δημιουργήσουν διαδραστικά αντικείμενα ή περιβάλλοντα. Διαβάστε περισσότερα θα σας βοηθήσει να πάρετε τα πάντα στη θέση σας.

Συνδέστε το διοικητικό συμβούλιο Arduino και ανοίξτε το IDE. Βεβαιωθείτε ότι έχετε επιλέξει τη σωστή πλακέτα και τη θύρα στο μενού Εργαλεία . Τοποθετήστε το σκίτσο του προτύπου StandardFirmata και φορτώστε το στο σκάφος. Αυτό θα σας επιτρέψει να ελέγχετε απευθείας το Arduino εφ 'όσον είναι συνδεδεμένο στον υπολογιστή μέσω USB. Υπό την προϋπόθεση ότι το σκίτσο μεταφορτώνεται στο διοικητικό συμβούλιο χωρίς σφάλματα, είστε έτοιμοι να προχωρήσετε.

Python και έλεγχος γραμμής εντολών

Θα χρησιμοποιήσουμε το Python 3.4 για να ελέγξουμε το Arduino, καθώς η ενότητα που θα εγκαταστήσετε καθορίζει αυτό ως την πιο πρόσφατη συμβατή έκδοση. Οποιαδήποτε έκδοση πριν από αυτό πρέπει να λειτουργεί καλά, και οι μεταγενέστερες εκδόσεις έχουν αναφερθεί ότι λειτουργούν. Μπορείτε να κατεβάσετε το Python 3.4 για Windows 10 από την τοποθεσία του Python Software Foundation. Εάν θέλετε να εκτελέσετε πολλαπλές εκδόσεις Python, τον οδηγό μας για εικονικά περιβάλλοντα Python Μάθετε πώς να χρησιμοποιείτε το εικονικό περιβάλλον Python Μάθετε πώς να χρησιμοποιείτε το εικονικό περιβάλλον Python Είτε είστε έμπειρος προγραμματιστής της Python, είτε απλά αρχίζετε, μαθαίνοντας πώς να η εγκατάσταση ενός εικονικού περιβάλλοντος είναι απαραίτητη για οποιοδήποτε έργο της Python. Διαβάστε περισσότερα θα σας βοηθήσει.

Μόλις εγκαταστήσετε την Python, θα θέλαμε να την προσθέσετε στη μεταβλητή PATH του συστήματός σας. Αυτό θα μας επιτρέψει να εκτελέσουμε κώδικα Python απευθείας από τη Γραμμή Εντολών χωρίς να χρειάζεται να βρίσκεται στον κατάλογο στον οποίο ήταν εγκατεστημένος. Μπορείτε να το κάνετε αυτό ανοίγοντας τον Πίνακα Ελέγχου, αναζητώντας Περιβάλλον και πατώντας Επεξεργασία μεταβλητών περιβάλλοντος συστήματος . Στο κάτω μέρος του παραθύρου επιλέξτε Μεταβλητές περιβάλλοντος . Αυτό θα φέρει αυτό το παράθυρο:

προγραμματίζετε και ελέγχετε το arduino με το python

Αν ήδη εμφανίζεται το PATH στη λίστα, κάντε κλικ στην επεξεργασία και προσθέστε τον κατάλογο Python και Python / Scripts . Αν δεν έχετε μεταβλητή PATH, κάντε κλικ στο νέο και προσθέστε το. Σημειώστε ότι η Python εγκαταστάθηκε απευθείας στο C: \ εδώ. Εάν το εγκαταστήσατε αλλού, θα πρέπει να το τροποποιήσετε για να το αντικαταστήσετε. Κάντε κλικ στο κουμπί OK πίσω από την αλυσίδα των παραθύρων και είστε σχεδόν έτοιμοι να ελέγξετε το Arduino σας με την Python!

Το μαγικό λίπος

Θα χρειαστείτε ένα τελευταίο κομμάτι του παζλ για να πάρετε την Python να μιλάει ωραία με το Arduino μας. Αυτό έρχεται με τη μορφή διεπαφής Python που ονομάζεται pyFirmata . Αυτή η διεπαφή, που δημιουργήθηκε από τον Tino de Bruijn, είναι διαθέσιμη για λήψη από το github, αν και μπορείτε να το εγκαταστήσετε απευθείας από τη γραμμή εντολών πληκτρολογώντας:

pip install pyfirmata 

Όλα είναι καλά, θα πρέπει να εγκατασταθούν και να μοιάζουν με αυτό:

προγραμματίζετε και ελέγχετε το arduino με το python

Εάν αποτύχει, προχωρήστε στην προσθήκη της Python στην ενότητα " Μεταβλητές περιβάλλοντος " και βεβαιωθείτε ότι έχετε δώσει τη σωστή διαδρομή στον κατάλογο Python.

Κάνοντας αυτό να συμβεί

Τώρα όλα είναι ρυθμισμένα και μπορείτε να δημιουργήσετε ένα πρόγραμμα Python για το Arduino για να το δοκιμάσετε. Άνοιγμα ενός IDE της επιλογής σας. Θα χρησιμοποιήσουμε Eclipse 8 πιο χρήσιμες συντομεύσεις πληκτρολογίου για αρχάριους χρήστες IDE Eclipse 8 πιο χρήσιμες συντομεύσεις πληκτρολογίου για αρχάριους χρήστες IDE Eclipse Ως φιλικό για αρχάριους όπως το Eclipse IDE (διεπαφή) είναι, το χρωστάτε στον εαυτό σας για να μάθετε αυτές τις συντομεύσεις πληκτρολογίου. Διαβάστε περισσότερα σήμερα, αλλά θα μπορούσατε εύκολα να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου Editors κειμένων εναντίον IDE: Ποιο είναι καλύτερο για προγραμματιστές; Επεξεργαστές κειμένου έναντι IDE: Ποιο είναι καλύτερο για προγραμματιστές; Η επιλογή ανάμεσα σε ένα προηγμένο IDE και έναν απλούστερο επεξεργαστή κειμένου μπορεί να είναι δύσκολο. Προσφέρουμε κάποια διορατικότητα για να σας βοηθήσουμε να κάνετε αυτή την απόφαση. Διαβάστε περισσότερα, ή ακόμα και ένα IDE στο σύννεφο Codenvy IDE: Ένα διαδικτυακό IDE για το Ruby, HTML, Java, Python, & More Codenvy IDE: Ένα διαδικτυακό IDE για Ruby, HTML, Java, Python και περισσότερα.

Δημιουργήστε ένα νέο σενάριο και αποθηκεύστε το ως blink.py . Παραβλέποντας την παράδοση με το πρότυπο πρόγραμμα LED που αναβοσβήνει, πρόκειται να δημιουργήσετε ένα πρόγραμμα το οποίο προτρέπει τον χρήστη για το πόσες φορές θέλουν να αναβοσβήνει το LED πριν το εκτελέσετε. Πρόκειται για ένα σύντομο πρόγραμμα, το οποίο μπορείτε να κατεβάσετε εδώ, εάν θέλετε να φτάσετε κατευθείαν σε αυτό, αλλά ας το σπάσουμε.

Πρώτον, θα θέλετε να εισαγάγετε όσα χρειάζεστε από τη μονάδα pyFirmata, μαζί με την τυποποιημένη μονάδα Python Time .

 from pyfirmata import Arduino, util import time 

Τώρα θα θελήσετε να ρυθμίσετε το διοικητικό συμβούλιο Arduino. Αυτό το άρθρο υποθέτει ότι χρησιμοποιείτε ένα διοικητικό συμβούλιο Arduino Uno, αν και υποστηρίζονται αρκετές άλλες επιτροπές Arduino. Ανατρέξτε στο pyFirmata github για λεπτομέρειες σχετικά με την υποστήριξη του σκάφους.

Ελέγξτε ποια θύρα COM χρησιμοποιείτε στο IDE του Arduino και εισάγετε τον κωδικό σας ως μεταβλητή πλακέτα .

 board = Arduino("COM3") 

Τώρα θα ρυθμίσετε τη γραμμή εντολών του χρήστη. Όσοι γνωρίζουν την Python θα αναγνωρίσουν τα πάντα εδώ. Μπορείτε να εκτυπώσετε μια ερώτηση στην οθόνη χρησιμοποιώντας τη λειτουργία εισαγωγής και να αποθηκεύσετε την απάντηση ως μεταβλητή. Μόλις ο χρήστης δώσει έναν αριθμό, το πρόγραμμα αναφέρει πόσες φορές θα αναβοσβήσει το LED.

 loopTimes = input('How many times would you like the LED to blink: ') print("Blinking " + loopTimes + " times.") 

Για να αναβοσβήνει η ενδεικτική λυχνία LED, χρησιμοποιείτε έναν βρόχο για . Εάν είστε νέοι στο Python 10 βασικά παραδείγματα Python που θα σας βοηθήσουν να μάθετε γρήγορα 10 βασικά παραδείγματα Python που θα σας βοηθήσουν να μάθετε γρήγορα Αυτό το άρθρο βασικών παραδειγμάτων python είναι για όσους έχουν ήδη κάποια εμπειρία προγραμματισμού και απλά θέλουν να μεταβαίνουν σε Python τόσο γρήγορα όσο το δυνατόν. Διαβάστε περισσότερα, προσέξτε με την εσοχή, καθώς σε αντίθεση με άλλες γλώσσες οι χώροι αποτελούν μέρος της σύνταξης. Σημειώστε ότι ο ακροδέκτης 13 είναι το LED για το Arduino Uno, θα πρέπει να το τροποποιήσετε αν το σκάφος σας είναι διαφορετικό.

 for x in range(int(loopTimes)): board.digital[13].write(1) time.sleep(0.2) board.digital[13].write(0) time.sleep(0.2) 

Θα μεταβιβάσετε τη μεταβλητή loopTimes σε ακέραιο εδώ, καθώς η είσοδος από τον χρήστη αποθηκεύεται αυτόματα ως συμβολοσειρά. Σε αυτό το απλό demo, υποθέτουμε ότι ο χρήστης θα εισάγει μια αριθμητική τιμή. Οποιαδήποτε άλλη καταχώρηση, όπως "οκτώ", θα προκαλέσει σφάλμα.

Αποθηκεύστε τη δέσμη ενεργειών και ανοίξτε τη Γραμμή εντολών .

Φώτα που αναβοσβήνουν και άλλες αποκαλύψεις

Όλα είναι έτοιμα να πάνε, το μόνο που χρειάζεται να κάνετε είναι να πλοηγηθείτε στο σημείο όπου είναι το σενάριο και να το εκτελέσετε. Κάνετε αυτό πληκτρολογώντας cd [path to directory του script] και στη συνέχεια πληκτρολογώντας python blink.py .

Όλα είναι καλά, το πρόγραμμά σας θα ξεκινήσει με μια μικρή καθυστέρηση καθώς το Arduino αρχικοποιεί, σας προτρέπει για έναν αριθμό, και έπειτα αναβοσβήνει πολλές φορές χρησιμοποιώντας το LED onboard.

Η έξοδος του προγράμματος θα πρέπει να έχει ως εξής:

προγραμματίζετε και ελέγχετε το arduino με το python

Μόλις πατήσετε το πλήκτρο Enter μετά τον επιλεγμένο αριθμό αναλαμπών, το Arduino πρέπει να εκτελέσει τις παραγγελίες σας.

Μικρές Αρχές

Αυτό το έργο ήταν μια αρχή της επικοινωνίας μεταξύ της Python και ενός διοικητικού συμβουλίου Arduino. Αυτή η προσέγγιση είναι πολύ διαφορετική από τη συνηθισμένη ροή εργασίας που αποστέλλει δέσμες ενεργειών στο ίδιο το Arduino, αλλά ανοίγει έναν εντελώς νέο τρόπο εργασίας με την πλατφόρμα, ειδικά αν σας αρέσει η γλώσσα προγραμματισμού Python.

Εάν χρησιμοποιείτε ένα διακομιστή Linux 12 Best Linux Server Operating Systems και ποιος θα πρέπει να τους χρησιμοποιήσει 12 καλύτερα λειτουργικά συστήματα Linux Server και ποιος θα τα χρησιμοποιήσει Η δημιουργία ενός διακομιστή; Το Linux είναι ιδανικό, προσφέροντας χαρακτηριστικά βελτιωμένα δικαιώματα, αυξημένη ευελιξία και σταθερότητα. Αλλά ποιο θα πρέπει να επιλέξετε; Ελέγξτε τα 12 καλύτερα λειτουργικά συστήματα για διακομιστές Linux και ποιος θα τα χρησιμοποιήσει. Διαβάστε περισσότερα στο σπίτι, αυτή η μέθοδος επικοινωνίας με τους πίνακες Arduino θα μπορούσε να επεκτείνει αυτόν το διακομιστή σε ένα πλήρως αναπτυγμένο DIY Home Automation σύστημα. Συνδυάζοντας τα χειρόγραφα Python που ελέγχουν τον μικροελεγκτή με ένα κύκλωμα αυτοματισμού DIY Arduino Ideas Project για μια αυτοματοποιημένη ιδέα έργου Home Arduino Ιδέες για ένα αυτοματοποιημένο σπίτι Δεν θα ήταν ωραίο να υδροδοτήσετε το θερμοκήπιο σας χωρίς να αφήσετε την καρέκλα σας; Ένα Arduino μπορεί να εμπλακεί ως το βασικό συστατικό ορισμένων έργων οικιακής αυτοματοποίησης - εδώ είναι πέντε! Διαβάστε περισσότερα, το κουτί αποθήκευσης NAS θα μπορούσε να αναλάβει ένα σύνολο νέων χρήσιμων λειτουργιών.

Για να γίνει η απόλυτη εμπειρία DIY, γιατί να μην δημιουργήσετε το δικό σας πλαίσιο NAS Χρειάζεστε Storage Network; Εδώ είναι πώς να χτίσετε το δικό σας NAS Box χρειάζεστε Storage Network; Εδώ είναι πώς να δημιουργήσετε το δικό σας NAS Box NAS σημαίνει Network Attached Storage. Καθώς τα Windows έγιναν ευκολότερα χρήσιμα με συσκευές που συνδέονται με το δίκτυο και οι τιμές υλικού μειώθηκαν, ο όρος αυτός άρχισε να χρησιμοποιείται στην καταναλωτική αγορά. Σήμερα υπάρχει μεγάλη ποικιλία ... Διαβάστε περισσότερα και χρησιμοποιήστε το για να ελέγξετε επίσης τις συσκευές σας; Φανταστείτε πόσο δροσερό θα ήταν να πιέσετε το παιχνίδι στο Plex Ο οδηγός σας στο Plex - Το φοβερό κέντρο πολυμέσων Ο οδηγός σας στο Plex - Το φοβερό κέντρο πολυμέσων Αν έχετε πολλές τοπικά αποθηκευμένες ταινίες και τηλεοπτικές εκπομπές, πρέπει να εγκαταστήσετε το Plex. Και αυτός είναι ο μόνος οδηγός για να ξεκινήσετε με το Plex που θα χρειαστεί ποτέ να διαβάσετε. Διαβάστε περισσότερα διακομιστή και αφήστε τα φώτα να σβήσουν αυτόματα!

Ελέγχετε ήδη τον Arduino χρησιμοποιώντας Python; Υπάρχουν εκπληκτικές λύσεις για τις οποίες απλά δεν γνωρίζουμε ακόμα; Ενημερώστε μας στο τμήμα σχολίων παρακάτω!

In this article