IOT

Έλεγχος αντλίας Arduino+ οθόνη STONE HMI

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

  1. STVI056WT-01 σειριακή οθόνη αφής και πλακέτα προσαρμογέα STONE V1.2.  
  2. Ταίριασμα πίνακα ελέγχου Arduino;  

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

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

(Αρχική διεπαφή του λογισμικού επίδειξης ελέγχου έξυπνης προσαρμογής Enlegi Blade)

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

           (Έξυπνη διεπαφή οθόνης ελέγχου υδροηλεκτρικού σταθμού)

Περιγραφή λειτουργίας διεπαφής συστήματος ελέγχου αντλιοστάσιου. Το παρακάτω διάγραμμα:

                            (Διασύνδεση λειτουργίας συστήματος ελέγχου αντλιοστασίου)

Στη λειτουργική διεπαφή του αντλιοστασίου, η λειτουργία μπορεί να αλλάξει και η τροφοδοσία ολόκληρου του συστήματος μπορεί να ενεργοποιηθεί και να απενεργοποιηθεί για να εμφανιστούν οι πραγματικές προσομοιωμένες παραμέτρους (όπως δόση λεπίδας, άμεσος ρυθμός ροής, ισχύς εξόδου) και άλλα Οι διεπαφές μπορούν να αλλάξουν (όπως αρχείο καταγραφής κατάστασης λειτουργίας, αναφορά συναγερμού σφάλματος). Ταυτόχρονα, μπορούν επίσης να εμφανιστούν τιμές συστήματος (συνολικός αριθμός λεπίδων, ονομαστική ισχύς, καθορισμένος ρυθμός ροής). Άλλες διεπαφές μπορούν επίσης να έχουν, όπως το αρχείο καταγραφής κατάστασης λειτουργίας (τα περιεχόμενα μπορούν να παραγγελθούν αριθμός, χρόνος εμφάνισης, λεπτομέρειες συμβάντος, σημειώσεις), συναγερμός σφάλματος (τα περιεχόμενα μπορούν να παραγγελθούν αριθμό, χρόνο εμφάνισης, λεπτομέρειες συναγερμού, κωδικός συναγερμού κ.λπ.), δύο διεπαφές μπορούν να έχουν ένα κουμπί επιστροφής, μπορούν να επιστρέψουν στη λειτουργική διεπαφή του σταθμού αντλίας.  

Ιδέα εργασίας:  

Η οθόνη σειριακής θύρας χρησιμεύει ως διεπαφή ανθρώπου-μηχανής και επικοινωνεί με την πλακέτα ανάπτυξης Arduino. Η πλακέτα δέχεται εντολές κουμπιών της οθόνης αφής και μεταδίδει δεδομένα στην οθόνη αφής σειριακής θύρας για σύγχρονη εμφάνιση. Η κλίμακα ολίσθησης έχει σχεδιαστεί για να εμφανίζει δυναμικά τις αλλαγές ισχύος. Τα εικονίδια του διακόπτη τροφοδοσίας, του power knife, του διακόπτη λειτουργίας και του μαχαιριού λειτουργίας έχουν σχεδιαστεί για να δημιουργούν αρχεία ICON και να ζωντανεύουν τα εφέ δράσης του τροφοδοτικού και της λειτουργίας. Επιπλέον, στο πρόγραμμα επίδειξης του Arduino, η μεταβλητή μνήμη χρησιμοποιείται για την ανάγνωση οδηγιών για την απόκτηση της κατάστασης τροφοδοσίας και του τρόπου λειτουργίας, έτσι ώστε να ελέγχεται η προσομοίωση των δεδομένων εξόδου και να εξάγεται το παράθυρο της πραγματικής ποσότητας στην οθόνη της σειριακής θύρας.  

Βήματα εργασίας:  

  1. Ρύθμιση υλικού.  
  2. Α) Συνδέστε την πλακέτα ανάπτυξης Arduino και το USB στην πλακέτα μετατροπής σειριακής θύρας.  
  3. Β) Συνδέστε το Οθόνη αφής STONE με την πλακέτα λήψης σειριακής θύρας USB και την πλακέτα προσαρμογέα USB σε σειριακή θύρα.  
  4. Γ) Συνδέστε την οθόνη σειριακής θύρας και το τροφοδοτικό της πλακέτας ανάπτυξης Arduino.  
  • Κατασκεύασε 3 διεπαφές οθόνης σειριακής θύρας, αρχείο κινούμενων εικονιδίων και Slider Scale και τα εισήγαγε στην πλατφόρμα ανάπτυξης οθόνης STONE STONE TOOL BOX (λογισμικό σχεδιασμού GUI);  

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

 Στη συνέχεια, τεκμηριώστε τη συγκεκριμένη διαδικασία ανάπτυξης.

Αρχικά, ρυθμίστε τη σύνδεση υλικού.  

Συνδέστε καλά όλα τα μέρη σύμφωνα με τις διαδικασίες εργασίας:

Στη συνέχεια, δημιουργήστε την εικόνα της ένδειξης ICON.  

Τα κουμπιά και τα εικονίδια μαχαιριών που χρησιμοποιούνται σε αυτό το έργο είναι κατασκευασμένα ως εξής:  

(Διακόπτης ελέγχου σταθμού αντλίας, αρχείο ICON κινουμένων σχεδίων με μαχαίρι 8. Διάγραμμα περιήγησης λίστας ICO)

Στη γραμμή μενού του STONE TOOL BOX (λογισμικό σχεδίασης GUI), κάντε κλικ στο Εργαλείο δημιουργίας εικονιδίων στο μενού Εργαλείο (T) για να εμφανιστεί το παράθυρο διαλόγου Εργαλείο εικονιδίων. Κάντε κλικ στο «επιλογή διαδρομής εικόνας» στο κάτω μέρος του παραθύρου διαλόγου για να επιλέξετε Διαδρομή εικόνας εικονιδίου. Κάντε κλικ στο κουμπί «Δημιουργία αρχείου ICON» για να συσκευάσετε τα αρχεία BMP στη διαδρομή για τη δημιουργία του αρχείου «.ico» που αναγνωρίζεται από την πλατφόρμα STONE TOOL BOX (GUI Design Software). Κάντε κλικ στο κουμπί "Προεπισκόπηση" "για να δείτε τη λίστα ΕΙΚΟΝΩΝ στο εισαγόμενο".ico "συμπιεσμένο αρχείο.  

Κουμπί για κινούμενη εικόνα BMP, pixel όπως παραπάνω (Έλεγχος μεταβλητού εικονιδίου παραγωγής, το μέγεθος της ίδιας θέσης πρέπει να είναι το ίδιο), έλεγχος σταθμού αντλίας 8 κόψτε τις εικόνες στον ίδιο φάκελο. Στη συνέχεια, στην αριστερή πλευρά της οθόνης STONE TOOL BOX (λογισμικό σχεδίασης GUI), επιλέξτε την κάρτα σελίδας εικονιδίου και προσθέστε την στο συμπιεσμένο αρχείο 7. Ico χρησιμοποιώντας το κουμπί "Προσθήκη εικονιδίου" κάτω από τη "Λίστα εικονιδίων". Τοποθετήστε και τις 6 εικόνες της κατάστασης του διακόπτη ελέγχου του υδροηλεκτρικού σταθμού σε έναν άλλο φάκελο και τακτοποιήστε τις με τη σειρά 1-6. Δημιουργήστε το «6. Ico» και, στη συνέχεια, στην αριστερή πλευρά του STONE TOOL BOX (λογισμικό σχεδιασμού GUI) στην οθόνη, επιλέξτε την κάρτα σελίδας εικονιδίου και προσθέστε το φερμουάρ «6. Ico" χρησιμοποιώντας το κουμπί "Προσθήκη εικονιδίου" κάτω από τη "Λίστα εικονιδίων".  

Τώρα εισάγετε το εικονίδιο της εικόνας στο STONE TOOL BOX (λογισμικό GUI Design) και κάντε το κουμπί λειτουργίας.  

Η μέθοδος του 9-variable-animation icon.wmv εξακολουθεί να υιοθετείται σε αυτό το έργο για την υλοποίηση της συνάρτησης κινούμενης εικόνας. Το στιγμιότυπο οθόνης της ρύθμισης παραμέτρων έχει ως εξής:  

            (Διάγραμμα ιδιοτήτων μεταβλητού εικονιδίου υδροηλεκτρικού σταθμού)

Από αριστερά προς τα δεξιά είναι η παράμετρος ICON Ρυθμίσεις των τριών μεταβλητών της σελίδας λειτουργίας του υδροηλεκτρικού σταθμού: έναρξη, διακοπή και κατάσταση. Οι διευθύνσεις μνήμης τους έχουν οριστεί στο ίδιο (0x0039) και το εύρος δεδομένων τους είναι το ίδιο, επομένως οι αλλαγές τους συγχρονίζονται. Τα αρχεία εικονιδίων είναι 6. Ico και οι αντίστοιχοι σειρικοί αριθμοί εικονιδίων είναι 1 και 2, 3 και 4, 6 και 5 αντίστοιχα, οι οποίοι επιλέγονται ανάλογα με την πραγματική κατάσταση.  

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

(Διάγραμμα χαρακτηριστικών του αυξητικού κουμπιού με την ίδια διεύθυνση μνήμης)

(Διάγραμμα μεταβλητού ICON χαρακτηριστικών της κατάστασης του μαχαιριού κουμπιού του αντλιοστασίου)

Από αριστερά προς τα δεξιά είναι η παράμετρος ICON Ρυθμίσεις των τεσσάρων μεταβλητών της σελίδας λειτουργιών του αντλιοστασίου: κουμπί λειτουργίας, power knife, mode knife και mode button. Εδώ, και τα δύο αρχεία εικονιδίων είναι 8.ICO και το εύρος δεδομένων τους είναι το ίδιο, στο οποίο η διεύθυνση μνήμης του ίδιου θα αλλάζει συγχρονισμένα.  

Τα κινούμενα σχέδια κατάστασης κουμπιών υλοποιούνται επίσης με αυξητικά κουμπιά. Στο παρακάτω σχήμα, η αριστερή πλευρά του κουμπιού μείωσης του τροφοδοτικού και η δεξιά πλευρά του κουμπιού αύξησης της λειτουργίας είναι οι παράμετροι του κουμπιού μείωσης του τροφοδοτικού. Οι διευθύνσεις είναι ίδιες με το παραπάνω Variable ICON, αντίστοιχα 0x0009 και 0x000A. Αυτό είναι κάτι περισσότερο από το όριο λειτουργίας επεξεργασίας ενός κουμπιού πινγκ-πονγκ.

(Διάγραμμα αυξητικού χαρακτηριστικού κουμπιού κατάστασης κουμπιού αντλιοστάσιου Μεταβλητή ICON Μεταβλητή με την ίδια διεύθυνση μνήμης)

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

Τα χαρακτηριστικά παραμέτρων του είναι:

(Συρόμενο εικονίδιο ισχύος εξόδου αντλιοστασίου — κουτί ιδιοκτησίας κλίμακας Slider)

Το εικονίδιο αυτού του στοιχείου ελέγχου κλίμακας Slider καλείται στο επίσημο DEMO 24.ico. Η μέθοδος για την προσθήκη αρχείου 24.ico είναι η ίδια όπως παραπάνω. Η διεύθυνση μνήμης αυτού του στοιχείου ελέγχου Slider Slider είναι 0x0180, η οποία μπορεί να γραφτεί στο πρόγραμμα MCU με 82 οδηγίες (όπως φαίνεται στην παραπάνω εικόνα, το εύρος έχει οριστεί σε 0-100) για να αλλάξει η θέση του εικονιδίου.  

Συγκεκριμένα, η κατάσταση των κουμπιών τροφοδοσίας και λειτουργίας σε αυτό το έργο διαβάζεται από τη διεύθυνση μνήμης 0x0009, 0x000A και 0x0039 της οθόνης σειριακής θύρας μέσω της εντολής 83. 

Οι οδηγίες που χρησιμοποιούνται είναι οι εξής:  

A5 5A 04 83 00 09 02  

Η ανατροφοδότηση της οθόνης σειριακής θύρας είναι η εξής:  

A5 5A 08 83 00 09 02 00 01 00 02  

Το ακόλουθο 00 01 είναι δεδομένα 2 byte 0x0009, 00 02 είναι δεδομένα 2 byte 0x000A.  

Διαβάστε την οδηγία 0x0039 ως εξής:  

A5 5A 04 83 00 39 01  

Η ανατροφοδότηση της οθόνης σειριακής θύρας είναι:  

A5 5A 06 83 00 39 01 00 01 ή  

A5 5A 06 83 00 39 01 00 02  

Υπάρχουν πέντε διευθύνσεις δεδομένων για εγγραφή: 0x0020, 0x0160, 0x0180, 0x0260, 0x0280.  

Όπου, η διεύθυνση δόσης φύλλου είναι 0x0020, ένας ακέραιος αριθμός 2 bit των 2 byte. Μπορεί να μεταδοθεί στην οθόνη αφής μέσω της σειριακής θύρας.  

Για να περάσετε το 11 στην οθόνη μεταβλητής δεδομένων οθόνης αφής, χρησιμοποιήστε την ακόλουθη εντολή:  

A5 5A 05 82 00 20 00 0B  

Προγραμματισμός εντοπισμού σφαλμάτων.  

Ο κωδικός είναι ο εξής:  

/*

  Frank8

  STONE και arduino COMM, enlaiji yepian system.

  Ανάβει μια λυχνία LED για ένα δευτερόλεπτο και μετά σβήνει για ένα δευτερόλεπτο, επανειλημμένα.

  Η διεύθυνση 0x0020 είναι η διεύθυνση του αριθμού του YePian.

  Η διεύθυνση 0x0160 είναι η διεύθυνση τώρα LiuLiang.

  Η διεύθυνση 0x0180 είναι η διεύθυνση του Bengzhan outpower.

  Η διεύθυνση 0x0260 είναι διεύθυνση Jiejujiao;

  Η διεύθυνση 0x0280 είναι διεύθυνση υπερπαραγωγής νερού.

  Η διεύθυνση 0x0009 είναι κλειδί λειτουργίας bengzhan.

  Η διεύθυνση 0x000A είναι κλειδί λειτουργίας bengzhan.

  Η διεύθυνση 0x0039 είναι κλειδί παροχής νερού.

  Αυτό το παράδειγμα κώδικα βρίσκεται στο αρχείο του frank. 20210611

 */

// Το Pin 13 έχει LED συνδεδεμένο στις περισσότερες πλακέτες Arduino.

// δώστε του ένα όνομα:

int led = 13;

int iYePian = 0; //0x0020 για The num of YePian!

int iGongLu = 0; //0x0180 για το The GongLu!

int iLiuLiang = 0; //0x0160 για το τώρα LiuLiang!

int iJiao = 0; // 0x0260 για το The JieJuJiao!

int iGongLuWater = 0; //0x0280 για το The Water GongLu! η τιμή είναι 0-50000!

int iLed = 1; //χρόνος καθυστέρησης αρ.

int iNum = 0 ; //διαβάστε σε char num.

int iNum2 = 0; //διαβάστε στο char num2 για το ShuiDianZhan!

int iPower = 2; //κλειδί άγαλμα 0x0009

int iMode = 2; //κλειδί άγαλμα 0x000A

int iPowerWater = 2; //κλειδί άγαλμα 0x0039

// η ρουτίνα ρύθμισης (setup) εκτελείται μία φορά όταν πατάτε την επαναφορά:

άκυρη ρύθμιση () {                

  // προετοιμάστε το ψηφιακό pin ως έξοδο.

  pinMode(led, OUTPUT);     

  Serial.begin(115200); // Ανοίξτε τη λειτουργία σειριακής επικοινωνίας και περιμένετε να ανοίξει η σειριακή θύρα  

ενώ (!Σειρά) {

    ; // περιμένετε να συνδεθεί η σειριακή θύρα. Χρειάζεται μόνο για τον Λεονάρντο

  }  

}

// η ρουτίνα βρόχου τρέχει ξανά και ξανά για πάντα:

κενός βρόχος () {

  int inChar;

    αν (iLed == 900) {     

//——- διαβάστε τιμή 0x0009 και 0x000A———- 

            Serial.write(0xA5); //"A5" είναι 165

            Serial.write(0x5A); //"5A" είναι 90

            Serial.write(0x04); //μήκος

            Serial.write(0x83); // ανάγνωση!

            Serial.write(0x00); // διεύθυνση του κλειδιού λειτουργίας bengzhan!

            Serial.write(0x09); // διεύθυνση του κλειδιού λειτουργίας bengzhan!

            Serial.write(0x02); // 0x0009 (ισχύς) και 0x000A (λειτουργία)

//———Η τιμή επιστροφής STONE θα είναι "A5 5A 08 83 00 09 02 00 01 00 02"——

     }

/*———————————————————————————-*/     

    αν (iLed == 800) {     

//——- ανάγνωση τιμής 0x0039———- 

            Serial.write(0xA5); //"A5" είναι 165

            Serial.write(0x5A); //"5A" είναι 90

            Serial.write(0x04); //μήκος

            Serial.write(0x83); // ανάγνωση!

            Serial.write(0x00); // διεύθυνση του κλειδιού λειτουργίας ShuiDianZhan!

            Serial.write(0x39); // διεύθυνση του κλειδιού λειτουργίας ShuiDianZhan!

            Serial.write(0x01); // 0x0039 (πλήκτρο λειτουργίας) 

//———Η τιμή επιστροφής STONE θα είναι "A5 5A 06 83 00 39 01 00 01 "——

     }

  // Διαβάστε το μήνυμα που στάλθηκε από τη σειριακή θύρα:

  if (Serial.available() > 0) {inChar = Serial.read(); }

  if (inChar == 0x09) { iNum = 1 ; }

  αν ((inChar == 0x02)&&(iNum == 1)) { iNum = 2 ; }

  αν ((inChar == 0x00)&&(iNum == 2)) { iNum = 3 ; }

  εάν ((inChar == 0x01)&&(iNum == 3)) {  

      iNum = 4 ;

      if(iPower != 1){

          iPower = 1 ; //ενεργοποίηση!

          iLiuLiang = 10 ;

          iGongLu = 50 ;

          iYePian = 10 ;         

      }

   }

   εάν ((inChar == 0x02)&&(iNum == 3)) {  

      iNum = 4 ;

      iPower = 2; //απενεργοποιώ!

      iLiuLiang = 0 ;

      iGongLu = 0 ;

      iYePian = 0 ;

   }

   αν ((inChar == 0x00)&&(iNum == 4)) { iNum = 5 ; }

   εάν ((inChar == 0x01)&&(iNum == 5)) {  

      iNum = 0 ;

      iMode = 1 ; //Η λειτουργία είναι καλή!

   }

   εάν ((inChar == 0x02)&&(iNum == 5)) {  

      iNum = 0 ;

      iMode = 2 ; //Η λειτουργία είναι απενεργοποιημένη!

      if(iPower == 1)iGongLu = 60 ; //Το GongLu έχει οριστεί 60%!

   }

  //——————0x0009 και 0x000A το πλήκτρο διαβάστε εντάξει! iPower\iMode εντάξει!——————————-

   αν (inChar == 0x39) { iNum2 = 1 ; }

  αν ((inChar == 0x01)&&(iNum2 == 1)) { iNum2 = 2 ; }

  αν ((inChar == 0x00)&&(iNum2 == 2)) { iNum2 = 3 ; }

  εάν ((inChar == 0x01)&&(iNum2 == 3)) {  

      iNum2 = 0 ;

      if(iPowerWater != 1){

          iPowerWater = 1; //ενεργοποίηση!       

          iJiao = 0 ;

          iGongLuWater = 0 ;

      }

   }

   εάν ((inChar == 0x02)&&(iNum2 == 3)) {  

      iNum2 = 0 ;

      iPowerWater = 2 ; //απενεργοποιώ!

   }

  //——————Το πλήκτρο 0x0039 διαβάστηκε εντάξει! iPowerWater εντάξει!——————————-

  καθυστέρηση (1); 

  iLed += 1;   

  αν (iLed == 500) {  

      digitalWrite(led, HIGH); // ανάψτε το LED (HIGH είναι το επίπεδο τάσης)

                  //καθυστέρηση(500); // περιμένετε ένα δευτερόλεπτο, Εύρος: 200-2000

           if(iPower == 1) { 

               iYePian += 1; //εύρος: 1-20

               iLiuLiang += 1; //εύρος: 1-20

               if(iMode == 1) iGongLu += 5; //εύρος: 1-20

           }   

           if(iYePian >= 14 ) { iYePian = 10; }   

           if(iGongLu >= 70) { iGongLu = 50; }   

           if(iLiuLiang >= 14) { iLiuLiang = 10; }   

           if(iPowerWater == 2) { 

               iJiao += 1; //εύρος: 1-20

               iGongLuWater += 2; //εύρος: 1-20

           }   

           if(iJiao >= 60 ) { 

               iJiao = 0; 

               iGongLuWater = 0; 

           }   

  }    

  αν (iLed >= 1000) {    

      digitalWrite(led, LOW); // απενεργοποιήστε το LED κάνοντας την τάση ΧΑΜΗΛΗ

                  //καθυστέρηση(500); // περιμένετε ένα δευτερόλεπτο, εύρος: 200-2000

      iLed = 1;

            Serial.write(0xA5); //"A5" είναι 165

            Serial.write(0x5A); //"5A" είναι 90

            Serial.write(0x05);

            Serial.write(0x82);

            Serial.write(0x00); // διεύθυνση του YePian

            Serial.write(0x20); // διεύθυνση του YePian

            Serial.write(0x00);

            Serial.write(iYePian);

            Serial.write(0xA5); //"A5" είναι 165

            Serial.write(0x5A); //"5A" είναι 90

            Serial.write(0x05);

            Serial.write(0x82);

            Serial.write(0x01); // διεύθυνση του GongLu

            Serial.write(0x80); // διεύθυνση του GongLu

            Serial.write(0x00);

            Serial.write(iGongLu);

            Serial.write(0xA5); //"A5" είναι 165

            Serial.write(0x5A); //"5A" είναι 90

            Serial.write(0x05);

            Serial.write(0x82);

            Serial.write(0x01); // διεύθυνση LiuLiang

            Serial.write(0x60); // διεύθυνση LiuLiang

            Serial.write(iLiuLiang); //LiuLiang είναι 2800–3200

            Serial.write(0x80);            

            Serial.write(0xA5); //"A5" είναι 165

            Serial.write(0x5A); //"5A" είναι 90

            Serial.write(0x05);

            Serial.write(0x82);

            Serial.write(0x02); // διεύθυνση του ShuiDianZhan JieJuJiao

            Serial.write(0x60); // διεύθυνση του ShuiDianZhan JieJuJiao

            Serial.write(0x00);

            Serial.write(iJiao);

            Serial.write(0xA5); //"A5" είναι 165

            Serial.write(0x5A); //"5A" είναι 90

            Serial.write(0x05);

            Serial.write(0x82);

            Serial.write(0x02); // διεύθυνση του ShuiDianZhan out Power

            Serial.write(0x80); // διεύθυνση του ShuiDianZhan out Power;

            Serial.write(iGongLuWater); //ShuiDianZhan out Powe είναι 0–32000

            Serial.write(0x00);            

  }    

Τέλος, εγγράψτε το βίντεο στο διαδίκτυο. 

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

Πηγή: Intelligence Data Intelligence