Πώς να ελέγξετε το Arduino χρησιμοποιώντας JavaScript

Ξέρατε ότι μπορείτε να ελέγξετε το Arduino σας με Javascript; Με ένα κομμάτι του λογισμικού και κάποια δημιουργικότητα, μπορείτε! Δείτε πώς να το κάνετε.

Ξέρατε ότι μπορείτε να ελέγξετε το Arduino σας με Javascript;  Με ένα κομμάτι του λογισμικού και κάποια δημιουργικότητα, μπορείτε!  Δείτε πώς να το κάνετε.
Διαφήμιση

Οι πίνακες Arduino είναι ένας από τους ευκολότερους τρόπους για να μπείτε στο hardware hacking για προγραμματιστές. Υπάρχει μια τεράστια ποικιλία αρχαρίων έργων 10 Μεγάλα Έργα Arduino για Αρχάριους 10 Μεγάλα Έργα Arduino για αρχάριους Η ολοκλήρωση ενός έργου Arduino σας δίνει μια αίσθηση ικανοποίησης όπως και καμία άλλη. Οι περισσότεροι αρχάριοι δεν είναι σίγουροι από πού να ξεκινήσουν όμως, και ακόμη και τα σχέδια για αρχάριους μπορεί να φανεί μάλλον τρομακτικό. Διαβάστε περισσότερα εκεί έξω για να ταιριάζει σχεδόν σε οποιονδήποτε με φόντο προγραμματισμού. Παρόλα αυτά, η αρχή μπορεί να φανεί τρομακτική για όσους δεν έχουν χρόνο.

Μάθηση μιας εντελώς νέας γλώσσας Ποια γλώσσα προγραμματισμού πρέπει να μάθετε για το μέλλον; Ποια γλώσσα προγραμματισμού πρέπει να μάθετε για το μέλλον; Ποια είναι η καλύτερη γλώσσα προγραμματισμού για μάθηση για το μέλλον; Αν μπορούσατε να επιλέξετε μία μόνο γλώσσα για να μάθετε και να πλοίαρχος για το μέλλον, δεν υπάρχει διαγωνισμός: πρέπει να είναι JavaScript. Διαβάστε περισσότερα μόνο για να δοκιμάσετε ένα μικροελεγκτή μπορεί να φαίνεται σαν πολλή δουλειά. Τι γίνεται αν θέλετε να αρχίσετε να παίζετε με ηλεκτρονικά στο σπίτι σας σε μια γλώσσα προγράμματος που γνωρίζετε ήδη; Καλά νέα: μπορείτε!

Σας έχουμε ήδη δείξει πώς να ελέγξετε ένα board Arduino με την Python Πώς να προγραμματίσετε και να ελέγξετε ένα Arduino με την Python Πώς να προγραμματίσετε και να ελέγξετε ένα Arduino με Python Δυστυχώς, είναι αδύνατο να προγραμματίσετε απευθείας ένα Arduino στην Python, αλλά μπορείτε να το ελέγξετε μέσω USB χρησιμοποιώντας πρόγραμμα Python. Δείτε πώς. Διαβάστε περισσότερα, και σήμερα θα σας δείξουμε πώς να κάνετε το ίδιο με το JavaScript. Αντί απλώς το πιο βασικό μάθημα LED που αναβοσβήνει, σήμερα θα χρησιμοποιήσουμε το πλαίσιο Johnny-Five για τον έλεγχο ενός σερβο με το πληκτρολόγιο του υπολογιστή, όλα προγραμματισμένα στο JavaScript Τι είναι το JavaScript και πώς λειτουργεί; Τι είναι το JavaScript και πώς λειτουργεί; Τι είναι το Javascript; Είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται για την ενίσχυση ιστοσελίδων. Περιλαμβάνει τη δυναμική ενημέρωση ιστοσελίδων, διεπαφών χρήστη και πολλά άλλα. Ας δούμε τι είναι το Javascript. Διαβάστε περισσότερα .

Λίστα υλικού

Για αυτό το έργο θα χρειαστείτε:

  • Arduino Uno (ή συμβατό συμβούλιο Arduino Οδηγός Αγοράς: Ποιο Συμβούλιο θα έπρεπε να πάρετε; Arduino οδηγός αγοράς: Ποιο Συμβούλιο θα πρέπει να έχετε; Υπάρχουν τόσα πολλά διαφορετικά είδη των διοικητικών συμβουλίων Arduino εκεί έξω, θα σας συγχωρεθεί για να συγχέεται. Αγοράστε για το έργο σας Αφήστε μας να σας βοηθήσουμε με αυτό τον οδηγό αγορών Arduino Διαβάστε περισσότερα): $ 22 από το επίσημο κατάστημα, αν και μπορείτε να τους φέρετε φθηνότερα 5 λόγοι για να μην χρησιμοποιήσετε ένα πραγματικό Arduino στο επόμενο έργο σας 5 λόγοι για να μην χρησιμοποιήσετε ένα γνήσιο Arduino στο επόμενο έργο σας Έχει πάει πάρα πολύ το ίδρυμα Arduino; Γιατί πρέπει να ξοδέψετε τα χρήματά σας στα προϊόντα Genuine Arduino; Εξηγούμε όλα όσα πρέπει να γνωρίζετε. Διαβάστε περισσότερα, οι πίνακες κλωνοποίησης διατίθενται για $ 3.20 στο AliExpress.
  • Hobby Servo: Οποιοσδήποτε Servo συμβατός με Arduino από ένα κατάστημα χόμπι θα κάνει, χρησιμοποιώ ένα σέρβο $ 1.60 από το AliExpress.
  • Ένα ζευγάρι από κομμάτια σύρμα σύρμα
  • Καλώδιο USB: Για τη σύνδεση του Arduino στον υπολογιστή σας

πώς να ελέγξει arduino με javascript

Το σημερινό φροντιστήριο θα χρησιμοποιήσει ένα διοικητικό συμβούλιο Arduino Uno. Το πλαίσιο Johnny-Five που θα χρησιμοποιήσουμε αργότερα σε αυτό το πρόγραμμα υποστηρίζει τους περισσότερους συμβατούς μικροελεγκτές Arduino, παρόλο που το συμβούλιο σας θα πρέπει να έχει δυνατότητα PWM να κρατήσει τον σερβο ευτυχισμένο.

Ρύθμιση κυκλώματος

Συνδέστε το σέρβο σας με το Arduino σας ως εξής:

πώς να ελέγξει arduino με javascript

Εν ολίγοις, η γραμμή VCC ( RED ) συνδέεται με τον 5v pin του Arduino, η γραμμή GND ( BLACK ή BROWN ) συνδέεται με τον πείρο GND του Arduino και τη γραμμή Pulse ( Κίτρινο ή Πορτοκαλί ) συνδέεται στον ακροδέκτη 10 του Arduino. Σημειώστε ότι ενώ δεν χρειάζεται να το συνδέσετε με τον ακροδέκτη 10 συγκεκριμένα, θα πρέπει να συνδεθεί με έναν ακροδέκτη PWM, συνήθως σημειωμένο με ~ .

Ελέγξτε ότι δεν έχετε μπερδέψει οποιαδήποτε καλώδια και συνδέστε το Arduino στον υπολογιστή σας. Θα χρησιμοποιήσουμε Windows 10 για αυτό το έργο. Όλα τα στοιχεία αυτού του έργου είναι διαθέσιμα για Mac και Linux, αν και ορισμένες οδηγίες εγκατάστασης ενδέχεται να διαφέρουν ελαφρώς.

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

πώς να ελέγξει arduino με javascript

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

JavaScript ρομποτική με το Johnny-Five

Το πλαίσιο που θα χρησιμοποιήσουμε για να ελέγξουμε το Arduino με Javascript καλείται Johnny-Five. Δεν αποτελεί έκπληξη, δεδομένου του ονείρου της ταινίας, το έργο είναι προσανατολισμένο προς την εργασία με τη ρομποτική.

πώς να ελέγξει arduino με javascript
Image Credit: johnny-five.io

Για να εγκαταστήσετε τον Johnny-Five, πρέπει πρώτα να εγκαταστήσετε το Node.js Τι είναι ο Node.JS και γιατί πρέπει να τον ενδιαφέρει; [Ανάπτυξη ιστού] Τι είναι ο Node.JS και γιατί πρέπει να φροντίσω; [Ανάπτυξη ιστού] Το JavaScript είναι απλά μια γλώσσα προγραμματισμού πελάτη που τρέχει στο πρόγραμμα περιήγησης, σωστά; Οχι πια. Ο Node.js είναι ένας τρόπος εκτέλεσης του JavaScript στο διακομιστή. αλλά είναι πολύ περισσότερο. Αν ... Διαβάστε περισσότερα. Μπορείτε να κάνετε λήψη της τελευταίας έκδοσής τους από την ιστοσελίδα Node.js. Χρησιμοποιούμε τη συνιστώμενη έκδοση, η οποία κατά τη στιγμή της εγγραφής είναι 8.9.4 LTS .

Ανοίξτε το αρχείο .msi και ακολουθήστε τις οδηγίες εγκατάστασης, βεβαιώνοντας ότι προστίθεται στο PATH . Το τρέχον πρόγραμμα εγκατάστασης Node.js προσθέτει PATH ως πρότυπο, αν και αξίζει τον έλεγχο αυτό κατά την εγκατάσταση όπως απαιτείται για το επόμενο βήμα μας.

πώς να ελέγξει arduino με javascript

Μόλις ολοκληρωθεί η εγκατάσταση, θα έχουμε πρόσβαση στον διαχειριστή πακέτων Node Package Manager (NPM) από τη γραμμή εντολών των Windows (CMD). Κάντε κλικ στο κουμπί Έναρξη και πληκτρολογήστε CMD. Πριν συνεχίσουμε, πρέπει να αρχικοποιήσουμε το NPM για να αποφύγουμε πιθανά σφάλματα εγκατάστασης. Δεν απαιτεί εξειδικευμένες γνώσεις, απλώς πληκτρολογήστε:

npm init 

Ακολουθήστε τις οδηγίες στην οθόνη. Για το σημερινό έργο δεν χρειάζεται να αλλάξετε τίποτα, απλώς πατήστε το πλήκτρο enter μέχρι να επιστρέψετε στη γραμμή εντολών και στη συνέχεια πληκτρολογήστε:

 npm install johnny-five 

Αυτό θα εγκαταστήσει όλα τα σημαντικά πακέτα, τα οποία θα μιλήσουν με το Arduino μας. Χρειαζόμαστε ένα ακόμα πράγμα για να φτιάξουμε αυτό το έργο, και αυτό είναι το πακέτο Keypress, το οποίο θα μας επιτρέψει να διαβάσουμε τις πληκτρολογήσεις από το πληκτρολόγιο.

Εγκαταστήστε το εισάγοντας:

 npm install keypress 

Μόλις εγκατασταθούν όλα αυτά τα πακέτα, είμαστε έτοιμοι να κωδικοποιήσουμε!

Εάν αντιμετωπίζετε προβλήματα κατά την εγκατάσταση, δοκιμάστε να εκτελέσετε ξανά την εγκατάσταση του johnny-five μετά την εγκατάσταση του πληκτρολογίου. Μπορεί να είναι απλώς μια ιδιορρυθμία της έκδοσης NPM που χρησιμοποιείται εδώ, αλλά το να κάνεις αυτό τώρα αποτρέπει ένα πρόβλημα που πιθανόν να τρέχεις αργότερα όπως έκανα.

Ο κώδικας

Θα χρησιμοποιήσουμε ένα κομμάτι παραδείγματος κώδικα που παρέχεται σήμερα στην τεκμηρίωση johnny-five, το οποίο επιτρέπει τον έλεγχο του σερβο χρησιμοποιώντας τα πλήκτρα βέλους στο πληκτρολόγιο. Ο πλήρης κώδικας είναι διαθέσιμος στο johnny-five.io, αλλά θα το δούμε λεπτομερώς για να κατανοήσουμε πλήρως πώς λειτουργεί.

Χρησιμοποιούμε το Eclipse IDE 8 πιο χρήσιμες συντομεύσεις πληκτρολογίου για αρχάριους χρήστες IDE Eclipse 8 πιο χρήσιμες συντομεύσεις πληκτρολογίου για αρχάριους χρήστες IDE Eclipse Ως φιλικό για τους νέους όπως το Eclipse IDE (διεπαφή) είναι, το χρωστάτε στον εαυτό σας για να μάθετε αυτές τις συντομεύσεις πληκτρολογίου. Διαβάστε περισσότερα για την κωδικοποίηση σήμερα, αν και μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα επεξεργασίας IDE ή κειμένου Editors κειμένου έναντι IDE: Ποιο είναι καλύτερο για προγραμματιστές; Επεξεργαστές κειμένου έναντι IDE: Ποιο είναι καλύτερο για προγραμματιστές; Η επιλογή ανάμεσα σε ένα προηγμένο IDE και έναν απλούστερο επεξεργαστή κειμένου μπορεί να είναι δύσκολο. Προσφέρουμε κάποια διορατικότητα για να σας βοηθήσουμε να κάνετε αυτή την απόφαση. Διαβάστε περισσότερα για αυτό το έργο.

Δημιουργήστε ένα νέο αρχείο και ονομάστε το test.js και αποθηκεύστε το κάπου στο οποίο μπορείτε εύκολα να έχετε πρόσβαση από τη γραμμή εντολών αργότερα. Το σενάριο ξεκινά με τη δημιουργία μεταβλητών για τις απαιτούμενες βιβλιοθήκες και την προετοιμασία της βιβλιοθήκης Keypress για να ακούσει εισερχόμενα δεδομένα, μαζί με την κλήση της μεθόδου Board () για να ρυθμίσει την πλακέτα.

 var five = require("johnny-five"); var keypress = require("keypress"); keypress(process.stdin); var board = new five.Board(); 

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

Στη συνέχεια, θέλουμε να «ξυπνήσουμε» το συμβούλιο μας και να το ρυθμίσουμε για έλεγχο σερβο. Η κλήση board.on περιμένει μέχρι να είναι έτοιμες οι ακίδες Arduino πριν προχωρήσετε. Η johnny-five βιβλιοθήκη έχει υποστήριξη για ενσωματωμένους σερβο, και καλούμε Servo.Continuous (10) στον ακροδέκτη 10 για να επιτρέψουμε τον άμεσο έλεγχο.

 board.on("ready", function() { console.log("Use Up and Down arrows for CW and CCW respectively. Space to stop."); var servo = new five.Servo.Continuous(10); process.stdin.resume(); process.stdin.setEncoding("utf8"); process.stdin.setRawMode(true); 

Οι κλήσεις process.stdin εξασφαλίζουν ότι όλα τα δεδομένα που λαμβάνουμε από το πληκτρολόγιο θα είναι χρησιμοποιήσιμα στο επόμενο μπλοκ κώδικα. Τώρα θέλουμε να "ακούσουμε" τις πληκτρολογήσεις και να τις χρησιμοποιήσουμε για να μετακινήσουμε το σέρβο μας δεξιόστροφα (CW), αριστερόστροφα (CCW), ή να σταματήσουμε στις διαδρομές του.

 process.stdin.on("keypress", function(ch, key) { if (!key) { // if no key is pressed, return ie do nothing. return; } if (key.name === "q") { console.log("Quitting"); process.exit(); } else if (key.name === "up") { console.log("CW"); servo.cw(); } else if (key.name === "down") { console.log("CCW"); servo.ccw(); } else if (key.name === "space") { console.log("Stopping"); servo.stop(); } }); }); 

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

Κουνώντας το γειά σου!

Τώρα μεταβείτε στον κατάλογο στον οποίο αποθηκεύσατε τη δέσμη ενεργειών σας και εκτελέστε την πληκτρολογώντας:

 node test.js 

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

πώς να ελέγξει arduino με javascript

Και όλοι είναι καλά, ο σέρβο πρέπει να χορεύει στις πληκτρολογήσεις σας! Κοιτάξτε το μικρό κύμα!

Ταπεινή αρχή

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

Οι καρυκευμένοι χρήστες του JavaScript πρέπει να βρουν το πακέτο Johnny-Five διαισθητικό για να συνεργαστεί. Η βιβλιοθήκη είναι επίσης εγκατεστημένη στο Raspberry Pi natively, καθιστώντας το το ιδανικό πακέτο για τους οικοδόμους ρομπότ.

Το μεγάλο πράγμα για αυτή τη βιβλιοθήκη είναι ότι παρόλο που έχει σχεδιαστεί με ρομπότ, τα ίδια δεδομένα εισόδου και εξόδου μπορούν να χρησιμοποιηθούν για τη δημιουργία έξυπνων οικιακών συσκευών DIY Smart Home Sensors με Arduino, MySensors και OpenHAB DIY Smart Home Sensors με Arduino, MySensors και οι αισθητήρες οικιακού κινητού OpenHAB Smart κοστίζουν ένα γελοίο ποσό χρημάτων. Η καλωδίωση ενός ολόκληρου σπιτιού είναι ο τομέας εκείνων με ανόητα ποσά διαθέσιμου εισοδήματος. Ας οικοδομήσουμε τη δική μας με MySensors. Διαβάστε περισσότερα και ακόμη και συστήματα οικιακής ασφάλειας DIY Smart Lock με Arduino και RFID DIY Smart Lock με Arduino και RFID Εδώ είναι πώς μπορείτε να δημιουργήσετε μια απλή έξυπνη κλειδαριά βασισμένη σε RFID χρησιμοποιώντας ένα Arduino ως σπονδυλική στήλη και μερικά φθηνά εξαρτήματα. Διαβάστε περισσότερα .

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

In this article