Ρύθμιση ARDUINO IDE για ελεγκτή DCC
Ρύθμιση Arduino IDE για ελεγκτή DCC
Βήμα 1. Ρύθμιση περιβάλλοντος IDE. Τοποθετήστε τις πλακέτες ESP.
Όταν εγκαθιστάτε για πρώτη φορά το Arduino IDE, υποστηρίζει μόνο πλακέτες βασισμένες στο ARM. Πρέπει να προσθέσουμε υποστήριξη για πλακέτες που βασίζονται στο ESP. Πλοηγηθείτε στο File… Προτιμήσεις
Πληκτρολογήστε αυτήν τη γραμμή παρακάτω στο Additional Boards Manager URLκουτί S. Σημειώστε ότι υπάρχουν υπογράμμιση σε αυτό, δεν υπάρχουν κενά. http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json
Επιλέξτε επίσης το πλαίσιο που λέει Εμφάνιση περιεκτικών κατά τη μεταγλώττιση. Αυτό μας δίνει περισσότερες πληροφορίες εάν κάτι αποτύχει κατά τη διάρκεια της μεταγλώττισης.
Σημειώστε ότι η παραπάνω γραμμή προσθέτει υποστήριξη τόσο για συσκευές esp8266 όσο και για τις νεότερες συσκευές esp32. Οι δύο συμβολοσειρές json χωρίζονται με κόμμα.
Τώρα επιλέξτε πίνακα έκδοση 2.7.4 από τον διευθυντή του διοικητικού συμβουλίου
Εγκαταστήστε την έκδοση 2.7.4. Αυτό λειτουργεί. Η έκδοση 3.0.0 και νεότερη δεν λειτουργεί για αυτό το έργο. Τώρα, ξανά στο μενού Εργαλεία, επιλέξτε τον πίνακα που θα χρησιμοποιήσετε. Για αυτό το έργο θα είναι είτε nodeMCU 1.0 είτε WeMos D1R1
Εδώ επιλέγουμε το WeMos D1R1. (Αλλάζοντας αυτό από το Nano)
Βήμα 2. Ρύθμιση περιβάλλοντος IDE. Φόρτωση πρόσθετου μεταφόρτωσης δεδομένων σκίτσου ESP8266.
Πρέπει να φορτώσουμε αυτό το πρόσθετο για να μας επιτρέψει να δημοσιεύουμε (θέτουμε) σελίδες HTML και άλλες files στη συσκευή ESP. Αυτά βρίσκονται στο φάκελο δεδομένων μέσα στο φάκελο του έργου σας https://github.com/esp8266/arduino-esp8266fs-plugin/releases
Πηγαίνετε στο URL παραπάνω και κατεβάστε το ESP8266FS-0.5.0.zip.
Δημιουργήστε έναν φάκελο Εργαλεία μέσα στο φάκελο Arduino. Αποσυμπιέστε τα περιεχόμενα του φερμουάρ file σε αυτόν τον φάκελο Εργαλεία. Θα πρέπει να καταλήξετε με αυτό?
Και μια νέα επιλογή μενού θα εμφανιστεί κάτω από τα Εργαλεία…
Εάν ενεργοποιήσετε αυτήν την επιλογή μενού, το IDE θα ανεβάσει τα περιεχόμενα του φακέλου δεδομένων στον πίνακα. Εντάξει, αυτό είναι το περιβάλλον IDE που έχει ρυθμιστεί για γενική χρήση ESP8266, τώρα πρέπει να προσθέσουμε μερικές βιβλιοθήκες στο φάκελο Arduino/Libraries για αυτό το συγκεκριμένο έργο.
Βήμα 3. Κατεβάστε τις βιβλιοθήκες και εγκαταστήστε με μη αυτόματο τρόπο.
Πρέπει να κατεβάσουμε αυτές τις βιβλιοθήκες από το Github. https://github.com/me-no-dev/ESPAsyncTCP
Κάντε κλικ στον κώδικα και, στη συνέχεια, κάντε λήψη του zip. Θα πάει στο φάκελο λήψεων. Μεταβείτε στις λήψεις, βρείτε το zip, ανοίξτε το και σύρετε το φάκελο περιεχομένου "ESPAsyncTCP" στο Arduino/libraries.
Εάν το όνομα του φακέλου τελειώνει σε "-master", τότε μετονομάστε τον για να αφαιρέσετε το "-master" από το τέλος.
δηλαδή από λήψεις
Ανοίξτε το .zip για το ESPAsyncTCP-master και σύρετε τον φάκελο ESPAsyncTCP-master από μέσα αυτού στο Arduino/Libraries
Σημείωμα: Το Arduino/libraries δεν μπορούν να χρησιμοποιήσουν την έκδοση .zip, πρέπει να αποσυμπιέσετε (σύρετε) τον φάκελο που θέλετε. Χρειαζόμαστε επίσης https://github.com/fmalpartida/New-LiquidCrystal
Κατεβάστε το zip και, στη συνέχεια, σύρετε το περιεχόμενό του στο Arduino/βιβλιοθήκες και αφαιρέστε το -master ending.
Και τέλος, χρειαζόμαστε το ArduinoJson-5.13.5.zip από τον παρακάτω σύνδεσμο https://www.arduinolibraries.info/libraries/arduino-json
κατεβάστε και μετά σύρετε τα περιεχόμενα zip στο Arduino/βιβλιοθήκες
Βήμα 4. Εγκαταστήστε μερικές ακόμη βιβλιοθήκες χρησιμοποιώντας το Arduino Library Manager.
Χρειαζόμαστε άλλες δύο βιβλιοθήκες και αυτές προέρχονται από το Arduino Library Manager που διαθέτει μια επιλογή από ενσωματωμένες βιβλιοθήκες. Μετάβαση στα Εργαλεία… Διαχείριση βιβλιοθηκών…
Χρησιμοποιήστε την έκδοση 1.0.3 του Adafruit INA219. Αυτό λειτουργεί.
Και επίσης
Χρησιμοποιήστε την έκδοση 2.1.0 του WebΥποδοχές από τον Markus Sattler, αυτό είναι δοκιμασμένο και λειτουργεί. Δεν έχω δοκιμάσει μεταγενέστερες εκδόσεις.
Εντάξει, έτσι είναι όλες οι βιβλιοθήκες (γνωστές και ως αναφορές) που χρειάζεται το IDE για να μεταγλωττίσει αυτό το έργο.
Βήμα 5. Κατεβάστε το έργο ESP_DCC_Controller από το GitHub και ανοίξτε το στο IDE.
Μεταβείτε στο GitHub και κάντε λήψη https://github.com/computski/ESP_DCC_controller
Κάντε κλικ στο πράσινο κουμπί «Κωδικός» και κατεβάστε το zip. Στη συνέχεια ανοίξτε το φερμουάρ file και μετακινήστε τα περιεχόμενά του στο φάκελο Arduino. Μετονομάστε το φάκελο για να αφαιρέσετε την κατάληξη "-main" στο όνομα του φακέλου. Θα πρέπει να καταλήξετε με έναν ελεγκτή φακέλου ESP_ DCC_ στον φάκελο Arduino. Θα περιέχει ένα .INO file, διάφορα .H και .CPP files και ένα φάκελο δεδομένων.
Κάντε διπλό κλικ στο .INO file για να ανοίξετε το έργο στο Arduino IDE.
Πριν πατήσουμε τη μεταγλώττιση, πρέπει να ρυθμίσουμε τις παραμέτρους σύμφωνα με τις απαιτήσεις σας…
Βήμα 6. Ορίστε τις απαιτήσεις σας σε Καθολική. η
Αυτό το έργο μπορεί να υποστηρίξει το nodeMCU ή το D1R1 του WeMo και μπορεί επίσης να υποστηρίξει μια σειρά από διαφορετικές επιλογές πλακέτας ισχύος (ασπίδα κινητήρα), καθώς και συσκευές σε δίαυλο I2C, όπως τρέχουσα οθόνη, οθόνη LCD και πληκτρολόγιο. Και τέλος μπορεί να υποστηρίξει και jogwheel (περιστροφικός κωδικοποιητής). Η πιο βασική κατασκευή που μπορείτε να κάνετε είναι η ασπίδα κινητήρα D1R1 και L298 της WeMo.
Σημειώστε ότι ο ευκολότερος τρόπος για να απενεργοποιήσετε μια επιλογή είναι να προσθέσετε ένα πεζό n μπροστά από το όνομά της στη δήλωση #define.
#define nNODEMCU_OPTION3
#define nBOARD_ESP12_SHIELD
#καθορίζω WEMOS_D1R1_AND_L298_SHIELD
Για π.χample, πάνω από το NODEMCU_OPTION3 έχει απενεργοποιηθεί με το n, το ίδιο και για το nBOARD_ESP12_SHIELD. Το WEMOS_D1R1_AND_L298_SHIELD είναι η ενεργή επιλογή και αυτό θα αναγκάσει τον μεταγλωττιστή να χρησιμοποιήσει τη ρύθμιση παραμέτρων για αυτό, όπως αναφέρεται παρακάτω.
Για να ακολουθήσετε αυτήν τη διαμόρφωση:
#elif καθορισμένο(WEMOS_D1R1_AND_L298_SHIELD)
/*Wemos D1-R1 στοιβάζεται με ασπίδα L298, σημειώστε ότι το D1-R2 είναι ένα νεότερο μοντέλο με διαφορετικά pinouts*/
/*Κόψτε τους βραχυκυκλωτήρες BRAKE στη θωράκιση L298. Αυτά δεν απαιτούνται και δεν θέλουμε να οδηγούνται από τις ακίδες I2C, καθώς θα καταστρέψει το σήμα DCC.
Η πλακέτα έχει παράγοντα μορφής Arduino, οι ακίδες είναι οι εξής
D0 GPIO3 RX
D1 GPIO1 TX
Κουμπί καρδιακού παλμού D2 GPIO16 και jogwheel (ενεργό γεια)
Ενεργοποίηση D3 GPIO5 DCC (pwm)
D4 GPIO4 Jog1
D5 GPIO14 σήμα DCC (σκηνοθεσία)
D6 GPIO12 σήμα DCC (σκηνοθεσία)
Ενεργοποίηση D7 GPIO13 DCC (pwm)
D8 GPIO0 SDA, με pullup 12k
D9 GPIO2 SCL, με έλξη 12k
D10 GPIO15 Jog2
Τα παραπάνω είναι σημειώσεις για ανθρώπους, σας ενημερώνουν ποια ESP GPIO θα εκτελούν ποιες λειτουργίες. Σημειώστε ότι το Οι αντιστοιχίσεις Arduino D1-D10 σε GPIO διαφέρουν από τις αντιστοιχίσεις κόμβου MCU D1-D10 σε GPIO */
#define USE_ANALOG_MEASUREMENT
#define ANALOG_SCALING 3.9 //όταν χρησιμοποιούνται τα Α και Β παράλληλα (2.36 για να ταιριάζει με το πολύμετρο RMS)
Θα χρησιμοποιήσουμε το AD στο ESP και όχι μια εξωτερική συσκευή παρακολούθησης ρεύματος I2C όπως η απενεργοποίηση INA219
αυτό με n USE_ ANALOG_ MEASUREMENT εάν θέλετε να χρησιμοποιήσετε ένα INA219
#define PIN_HEARTBEAT 16 //και το κουμπί χειρισμού
#define DCC_PINS \
uint32 dcc_info[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12, 12 , 0 }; \
uint32 enable_info[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO5, 5 , 0 }; \
uint32 dcc_infoA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO14, 14 , 0 }; \
uint32 enable_infoA[4] = { PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO13,13 , 0 };
Καθορίζει ποιες ακίδες θα οδηγούν τα σήματα DCC, έχουμε δύο κανάλια, που τρέχουν σε φάση, ώστε να μπορούμε να τα κοινοποιήσουμε μαζί. Το κανάλι A είναι dcc_ info [] και το B-channel είναι dcc_ info A []. Αυτά ορίζονται ως μακροεντολές και η ανάστροφη κάθετο είναι ένας δείκτης συνέχειας γραμμής.
#define PIN_SCL 2 //12k pullup
#define PIN_SDA 0 //12k pullup
#define PIN_JOG1 4
#define PIN_JOG2 15 //12k pulldown
Καθορίστε τις ακίδες (GPIO) που οδηγούν το I2C SCL/SDA και, στη συνέχεια, επίσης τις εισόδους του jogwheel 1 και 2
#define KEYPAD_ADDRESS 0x21 //pcf8574
Χρησιμοποιείται για το προαιρετικό πληκτρολόγιο matrix 4 x 4, το οποίο σαρώνεται χρησιμοποιώντας ένα τσιπ pcf8574
//addr, en,rw,rs,d4,d5,d6,d7,οπίσθιος φωτισμός, πολικότητα. Το χρησιμοποιούμε ως συσκευή 4 bit //το pinout της οθόνης μου είναι rs,rw,e,d0-d7. χρησιμοποιούνται μόνο d<4-7>. Το <210> εμφανίζεται επειδή τα bit <012> //αντιστοιχίζονται ως EN, RW, RS και πρέπει να τα αναδιατάξουμε ανά πραγματική παραγγελία στο υλικό, το 3 αντιστοιχίζεται // στον οπίσθιο φωτισμό. Το <4-7> εμφανίζεται με αυτή τη σειρά στο σακίδιο και στην οθόνη.
#define BOOTUP_LCD LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); //Σακίδιο πλάτης YwRobot
Χρησιμοποιείται για τον καθορισμό και τη διαμόρφωση του σακιδίου πλάτης I2C που κινεί την οθόνη LCD 1602 (προαιρετικό), αυτό μπορεί να διαμορφωθεί με μαλακή ρύθμιση και υπάρχουν πολλά διαθέσιμα σακίδια των οποίων οι διαμορφώσεις καρφίτσας ποικίλλουν.
#endif
Βήμα 7. Μεταγλώττιση και αποστολή στον πίνακα.
Τώρα έχετε διαμορφώσει το συνδυασμό πλακέτας που σκοπεύετε να χρησιμοποιήσετε, μπορείτε να μεταγλωττίσετε το έργο. Εάν δεν σκοπεύετε να χρησιμοποιήσετε το πληκτρολόγιο μήτρας 4×4 και την οθόνη LCD, δεν υπάρχει πρόβλημα, αφήστε τους ορισμούς τους όπως το λογισμικό αναμένει να τους διαμορφώσει. Το σύστημα θα λειτουργεί καλά μέσω WiFi χωρίς αυτά.
Στο IDE, το σύμβολο επιλογής (επαλήθευση) είναι στην πραγματικότητα "Συμπλήρωση". Κάντε κλικ σε αυτό και θα δείτε διάφορα μηνύματα να εμφανίζονται (με την προϋπόθεση ότι έχετε ενεργοποιήσει τη συλλογή Verbose), καθώς το σύστημα μεταγλωττίζει τις διάφορες βιβλιοθήκες και τις συνδέει όλες μαζί. Εάν όλα λειτουργούν καλά και θα πρέπει αν ακολουθήσατε ακριβώς όλα τα παραπάνω βήματα, τότε θα δείτε να εμφανίζεται ένα μήνυμα επιτυχίας. Τώρα είστε έτοιμοι να πατήσετε το κουμπί με το δεξί βέλος (μεταφόρτωση), αλλά προτού το κάνετε αυτό, ελέγξτε ότι έχετε επιλέξει τη σωστή θύρα COM για την πλακέτα στο μενού Εργαλεία.
Μετά από μια επιτυχημένη μεταφόρτωση (χρησιμοποιήστε ένα καλώδιο USB καλής ποιότητας) πρέπει επίσης να επικαλεστείτε το Φόρτωση μενού ESP8266 Sketch Data επιλογή στην περιοχή Εργαλεία. Αυτό θα τοποθετήσει τα περιεχόμενα του φακέλου δεδομένων στη συσκευή (όλες τις σελίδες HTML).
Τελείωσες. Ανοίξτε τη σειριακή οθόνη, κάντε κλικ στο κουμπί επαναφοράς και θα δείτε την εκκίνηση της συσκευής και τη σάρωση για συσκευές I2C. Τώρα μπορείτε να συνδεθείτε σε αυτό μέσω Wi-Fi και είναι έτοιμο να συνδεθεί στην πλακέτα τροφοδοσίας του (θωράκιση κινητήρα).
Έγγραφα / Πόροι
![]() |
Ρύθμιση ARDUINO IDE για ελεγκτή DCC [pdf] Οδηγίες Ρύθμιση IDE για ελεγκτή DCC, Ρύθμιση IDE, Ρύθμιση για ελεγκτή DCC, Ελεγκτής DCC Ρύθμιση IDE, Ελεγκτής DCC |