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

NODEMCU LUA ESP8266 Με MCP23017 16 Bit θύρα Expander IC: 6 βήματα (με εικόνες)
NODEMCU LUA ESP8266 Με MCP23017 16 Bit θύρα Expander IC: 6 βήματα (με εικόνες)

Βίντεο: NODEMCU LUA ESP8266 Με MCP23017 16 Bit θύρα Expander IC: 6 βήματα (με εικόνες)

Βίντεο: NODEMCU LUA ESP8266 Με MCP23017 16 Bit θύρα Expander IC: 6 βήματα (με εικόνες)
Βίντεο: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Νοέμβριος
Anonim
NODEMCU LUA ESP8266 Με MCP23017 16 Bit θύρα Expander IC
NODEMCU LUA ESP8266 Με MCP23017 16 Bit θύρα Expander IC

Το MCP23017 είναι ένα σχετικά εύκολο IC για να φτιάξετε έναν πίνακα, καθώς έχει θύρες Α και Β σε κάθε πλευρά του τσιπ και οι ακίδες είναι σε διαδοχική σειρά.

Ομοίως, ο δίαυλος διευθύνσεων I2C είναι επίσης μαζί.

Υπάρχουν 2 ακίδες σε αυτό το IC που δεν χρησιμοποιούνται καθώς είναι συγκρίσιμο με το MCP23S17 που χρησιμοποιεί μια διεπαφή SPI όπου χρησιμοποιούνται αυτές οι ακίδες.

Ένα φύλλο δεδομένων για αυτό το IC είναι διαθέσιμο από το Microchip.

Βήμα 1: Διάγραμμα κυκλώματος

Διάγραμμα κυκλώματος
Διάγραμμα κυκλώματος

Το διάγραμμα κυκλώματος δείχνει πώς να συνδέσετε το IC σε ένα ESP8266

ΣΗΜΕΙΩΣΗ: Το IC λειτουργεί μεταξύ 2,7 και 5,5 Volt.

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

  • Καρφίτσα 9 (VDD) σε 3v3
  • Καρφίτσα 18 (ΕΠΑΝΑΦΟΡΑ) σε 3v3
  • Καρφίτσα 17 (A2) στο GND
  • Καρφίτσα 16 (A1) στο GND
  • Καρφίτσα 15 (A0) στο GND
  • Καρφίτσα 14 (NC) σε GND (Δεν είναι απαραίτητο)
  • Καρφίτσα 13 (SDA) στο ESP GPIO0
  • Καρφίτσα 12 (SCL) στο ESP GPIO2
  • Καρφίτσα 11 (NC) σε GND (Δεν είναι απαραίτητο)
  • Καρφίτσα 10 (VSS) στο GND

Βήμα 2: Δημιουργία του κύριου πίνακα

Δημιουργία του κύριου πίνακα
Δημιουργία του κύριου πίνακα

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

Ο κύριος πίνακας μου χρειάστηκε λίγο χρόνο για να φτιαχτεί και φαίνεται παραπάνω.

Μπορείτε φυσικά να χτίσετε αυτό το κύκλωμα σε μια σανίδα ψωμιού.

Βήμα 3: Πρόσθετοι πίνακες

Πρόσθετοι πίνακες
Πρόσθετοι πίνακες

Έχω δημιουργήσει μερικές επιπλέον πλακέτες 8 bit οι οποίες μπορούν εύκολα να συνδεθούν σε διαφορετικούς πίνακες έργου.

Ο πρώτος πίνακας είναι συνδεδεμένος σε οθόνη LED 7 τμημάτων και συνδέεται με τον πείρο 1 στο τμήμα α, τον πείρο 2 στο β κλπ. Υπάρχει μια μικρή αντίσταση (περίπου 55 ωμ) για την προστασία των LED.

Το δεύτερο είναι μια τράπεζα διακόπτη 8, όλα ενσύρματα και μπορεί να συνδεθεί σε 3.3V ή γείωση. Δεν έχω συμπεριλάβει αντιστάσεις έλξης καθώς το MCP23017 τα έχει ενσωματωμένα.

Το τρίτο προέρχεται από ένα κιτ Ebay, αποτελείται από 8 LED και μια σειρά αντιστάσεων με σύνδεση στο Gnd. Έχω επίσης τον ίδιο πίνακα, αλλά εγκατέστησα τα LED αντίστροφα, έτσι ώστε να συνδέεται σε 3,3V ή 5V αντί για Gnd. Στο Ebay είναι γνωστά ως κιτ 8 καναλιών ροής νερού LED DIY Kit, 99p από την Κίνα.

Βήμα 4: Προγραμματισμός

Προγραμματισμός
Προγραμματισμός

Έχω γράψει τα προγράμματα για να λειτουργήσω με ένα ESP01 καθώς έχει μόνο 2 ακίδες εισόδου/εξόδου. Μπορεί φυσικά να χρησιμοποιηθεί με οποιονδήποτε πίνακα ESP8266. Οι καρφίτσες SDA & SCL μπορούν να εκχωρηθούν σε οποιοδήποτε pin μεταξύ 1 και 12.

Εάν χρησιμοποιείτε παλαιότερη έκδοση του LUA (π.χ. NodeMCU 0.9.6 build 20150704 που τροφοδοτείται από Lua 5.1.4) το I2C είναι ήδη εγκατεστημένο. Διαφορετικά, πρέπει να διασφαλίσετε ότι η μονάδα I2C περιλαμβάνεται στην κατασκευή σας.

Έχω συμπεριλάβει 3 απλά προγράμματα Lua για να δείξω πώς μπορεί να χρησιμοποιηθεί το IC.

Το 7Segment.lua οδηγεί μια οθόνη LED και ακολουθίες μεταξύ των αριθμών 1 έως 0.

Το KittCar.lua οδηγεί την πλακέτα 8 LED για να προσομοιώσει το διάσημο αυτοκίνητο από τη δεκαετία του '80.

Το Reader.lua διαβάζει από το λιμάνι Β.

Βήμα 5: Ποια καρφίτσα;

Ποια καρφίτσα
Ποια καρφίτσα

Ένα επιπλέον πρόγραμμα που βρήκα ενώ ασχολιόμουν.

Χρησιμοποιεί τη θύρα Β ως είσοδο και τη θύρα Α ως έξοδο. Η φωτογραφία δείχνει διακόπτες DIP, αλλά μπορείτε να συνδέσετε έναν από τους ακροδέκτες της θύρας Β στο Gnd και η οθόνη LED θα δείξει ποια ακίδα είναι συνδεδεμένη.

ΣΗΜΕΙΩΣΗ: Λειτουργεί μόνο με 1 καρφίτσα τη φορά!

Βήμα 6: Συμπέρασμα

συμπέρασμα
συμπέρασμα

Υπάρχουν φυσικά και άλλοι διαστολείς I/O. Μερικά είναι 8 bit, 16 bit και ακόμη και 24 bit! Όλα λειτουργούν με παρόμοιο τρόπο με το MCP23017, αλλά αυτό το IC είναι πολύ φθηνό για τις δυνατότητές του και μπορεί να προμηθευτεί για περίπου 10p το καθένα από την Κίνα.

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

Είναι δυνατόν να υπάρχουν 8 από αυτές τις συσκευές στον ίδιο δίαυλο I2C που δίνουν 128 θύρες εισόδου/εξόδου, όλες ελέγχονται από 2 γραμμές. Σκεφτείτε τις δυνατότητες εκεί!

Συνιστάται: