IOT

Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης βασισμένο σε Raspberry Pi pico και STONE TFT LCD

Σύντομη εισαγωγή

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

Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Υλικά που θα χρησιμοποιηθούν

  • ΠΕΤΡΑ STWI101WT-01
  • Θερμική κεφαλή εκτυπωτή FTP
  • Raspberry Pi pico
    • Μηχάνημα που λειτουργεί με κέρματα
    ΛειτουργίαΗ λειτουργία ελέγχου εμφανίζεται στη σειριακή οθόνη, η κύρια διεπαφή επιλέγει τον όροφο, μετά την είσοδο στην κύρια διεπαφή επιλέγει τη θέση στάθμευσης, ταυτόχρονα θα εμφανίσει τον αριθμό της θέσης στάθμευσης στο πλαίσιο κειμένου επάνω δεξιά και, στη συνέχεια, επιλέγει το χρόνος παραμονής, είναι δύο κυλιόμενοι επιλογείς κειμένου, τότε επίσης το ίδιο θα εμφανίσει τις πληροφορίες παραγγελίας στο πλαίσιο κειμένου επάνω δεξιά, σύμφωνα με τη σταθερή τιμή μονάδας που πολλαπλασιάζεται με το χρόνο παραμονής για να ληφθεί η συνολική τιμή. Τότε μόνο όταν επιλεγεί ο χώρος στάθμευσης και ο χρόνος παραμονής, μπορείτε να μεταβείτε στο κουμπί πληρωμής, διαφορετικά δεν είναι έγκυρο. Μετά την είσοδο στην οθόνη πληρωμής, θα χρησιμοποιηθεί ένας αποδέκτης νομισμάτων. Στη συνέχεια, στην οθόνη θα εμφανιστεί ο αριθμός των κερμάτων που πρέπει να τοποθετηθούν και ο αριθμός των κερμάτων που έχουν ήδη τοποθετηθεί. Αφού τοποθετηθούν τα νομίσματα, θα εμφανιστεί ένα μήνυμα επιτυχίας πληρωμής. Στη συνέχεια, μπορείτε να επιλέξετε να εκτυπώσετε ένα μικρό εισιτήριο για να εκτυπώσετε τον αριθμό θέσης και την ώρα στο θερμικό χαρτί.Η διαδικασία σχεδιασμούΣτην αρχή ήθελα να χρησιμοποιήσω το Raspberry Pi pico για να φτιάξετε έναν μικρό εκτυπωτή. Στη συνέχεια, κατά τη διαδικασία επιλογής εξαρτημάτων, νομίζω ότι ο θερμικός εκτυπωτής είναι πιο βολικό να επιτευχθεί, μετά τον καθορισμό του προγράμματος, άρχισα να αγοράζω υλικό. Πράγματι, κατά τη διαδικασία της ηλεκτρονικής προμήθειας, διαπίστωσα ότι υπάρχουν πολλοί θερμικοί εκτυπωτές με καλά κυκλώματα προγραμμάτων οδήγησης, οι περισσότεροι από αυτούς κατασκευάζονται με τη χρήση τσιπ stm και έχουν σχεδιαστεί με το δικό τους σύνολο οδηγιών. Για παράδειγμα, χρησιμοποιώντας τις οδηγίες του για να αφήσετε τον εκτυπωτή να εκτυπώσει χαρακτήρες ή να πάει χαρτί, αλλά αυτή η πρακτικότητα του εκτυπωτή είναι πολύ υψηλή, αλλά δεν έχει αξία μάθησης. Είναι για να στείλετε οδηγίες μέσω της σειριακής θύρας στη γραμμή, μπορείτε να χειριστείτε τον εκτυπωτή. Σκέφτηκα λοιπόν να αγοράσω μια κεφαλή εκτύπωσης και να την αναπτύξω μόνος μου. Στη συνέχεια, σχετικά με την κεφαλή εκτύπωσης, επέλεξα μια θερμική κεφαλή εκτύπωσης ftp.Η θερμική κεφαλή εκτύπωσης ftp
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Αυτή η κεφαλή εκτύπωσης θα πρέπει να είναι διαθέσιμη διεθνώς, οι βασικές αρχές είναι παρόμοιες. Η αριστερή πλευρά είναι ένας βηματικός κινητήρας. Στη συνέχεια, η μεσαία κεφαλή είναι 6 μονάδες θέρμανσης. Κάθε μονάδα θέρμανσης έχει 64 σημεία θέρμανσης. Άρα συνολικά 384 σημεία θέρμανσης. Στη συνέχεια, κάτω είναι ένα μάνδαλο. Κάτω από το μάνταλο υπάρχει ένας καταχωρητής αλλαγής ταχυτήτων. Τέλος, υπάρχει ένα σήμα ρολογιού που πρέπει να παρέχεται. Έτσι, η όλη αρχή λειτουργίας είναι να παρέχει ένα σήμα ρολογιού στην κεφαλή εκτύπωσης και στη συνέχεια να στέλνει δεδομένα κάθε περίοδο ρολογιού, μετά την αποστολή 384 σημάτων ρολογιού και 384 δεδομένων, τα δεδομένα στον καταχωρητή μετατόπισης θα αποθηκευτούν στο μάνδαλο. Στη συνέχεια, το μάνδαλο ρυθμίζεται σε χαμηλό επίπεδο. Στη συνέχεια, τα 384 σημεία θέρμανσης θα επιλέξουν να θερμανθούν ή να μην θερμανθούν ανάλογα με το αν κάθε δεδομένα είναι 0 ή 1. Ταυτόχρονα, αφήστε τον βηματικό κινητήρα να περιστραφεί για να οδηγήσει το θερμικό χαρτί για να σχεδιάσει τον επιθυμητό χαρακτήρα. Αφού πήρα τη θερμική εκτύπωση κεφάλι, προχώρησα και ζήτησα ένα φύλλο δεδομένων και ήταν ένα καλώδιο fpc 30 ακίδων. Επομένως, προφανώς δεν είναι πολύ βολικό να συνδεθείτε απευθείας με το pico. Έτσι σκέφτηκα να σχεδιάσω καλύτερα ένα κύκλωμα backplane. Έχω ένα Σειριακή οθόνη STONE είναι τροφοδοτικό 12v και, στη συνέχεια, κοιτάζω ότι η τάση εκτύπωσης της κεφαλής θερμικής εκτύπωσης μιας τιμής αναφοράς είναι 7.6v, η μέγιστη τιμή είναι 8v και, στη συνέχεια, της παρέχω τάση περίπου 7.6v. Έχει επίσης μια λογική τάση 3.3v και, στη συνέχεια, το Raspberry Pi pico μέγιστη υποστήριξη τροφοδοσίας 5v και έχει τάση εξόδου 3.3v, τότε ο σχεδιασμός του τροφοδοτικού μπορεί να χρησιμοποιήσει δύο dcdc, με τροφοδοτικό 12v, μία έξοδο dcdc 7.6v για να τροφοδοτήσετε τη θερμική κεφαλή εκτύπωσης, η άλλη έξοδος dcdc 5v στο pico και, στη συνέχεια, χρησιμοποιήστε τα 3.3v από το pico για να τροφοδοτήσετε τη λογική τάση της θερμικής κεφαλής εκτύπωσης. Στη συνέχεια, τα 12v οδηγούν απευθείας στη σειριακή οθόνη.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Παρεμπιπτόντως, ο βηματικός κινητήρας για τη θερμική κεφαλή εκτύπωσης πρέπει επίσης να κινηθεί. Έχω έναν ενσωματωμένο ολοκληρωμένο σωλήνα Darlington. Αλλά είναι πολύ μεγάλο και είναι ένα απλό πρόσθετο, οπότε αγοράστε ένα τσιπ προγράμματος οδήγησης. Τότε αυτή η πτυχή του κινητήρα κίνησης είναι επίσης εντάξει. Η εκτύπωση απαιτεί τη σχεδίαση μιας γραμματοσειράς, βασικά όλοι χρησιμοποιούν spi flash για αποθήκευση γραμματοσειρών, κάτι που είναι ένα τεράστιο έργο. Μόνο ο κωδικός ascii είναι μεγαλύτερος από 100, επομένως πρέπει να αγοράσετε ένα άλλο flash SPF. Τότε όλος ο σχεδιασμός είναι σχεδόν έτσι.
    STONE Designer (λογισμικό GUI Designer)Desde:https://www.stoneitech.com/support/download/software
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Σχεδιάστε το κύκλωμαΣτη συνέχεια οι παρακάτω άρχισαν να σχεδιάζουν το κύκλωμα. Πρώτα βρείτε το τροφοδοτικό, στην πραγματικότητα, στην αρχή χρησιμοποίησα έναν ρυθμιστή τάσης τριών ακροδεκτών, επειδή το κύκλωμα είναι απλό, μετά την κατασκευή, η κατάσταση θέρμανσης ήταν πιο σοβαρή κατά την αποσφαλμάτωση, πολύ ζεστή στην αφή, οπότε αλλάζω σε χρήση dcdc. Απλώς ακολουθήστε το φύλλο δεδομένων του τσιπ απευθείας για να κάνετε το διάγραμμα κυκλώματος. Επέλεξα το mt2492 εδώ, αλλά αγνόησα μια σημαντική παράμετρο είναι το ρεύμα λειτουργίας της κεφαλής εκτύπωσης, το μέγιστο ρεύμα εξόδου αυτού του τσιπ είναι 2Α, αλλά το ρεύμα λειτουργίας της κεφαλής εκτύπωσης είναι 2.3Α, διαφορά 0.3Α, μπορεί επίσης να χρησιμοποιηθεί, αλλά η απόδοση δεν είναι τόσο υψηλή, θα μιλήσουμε για το συγκεκριμένο αποτέλεσμα αργότερα.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Στη συνέχεια, το τσιπ του προγράμματος οδήγησης κινητήρα που αγόρασα είναι lv8548, δείτε το φύλλο δεδομένων της κεφαλής εκτύπωσης, το οποίο έχει ένα διάγραμμα χρονισμού της μονάδας βηματικού κινητήρα, ανάλογα με το χρονισμό του, για να του παρέχει ένα σήμα pwm τεσσάρων κατευθύνσεων.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Μετά είναι το τσιπ flash, με by25q32bs, χωρητικότητα 32 Mbit είναι αρκετά μεγάλη, και συνδέεται με το pico, περιμένοντας να κληθεί από το pico.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Μετά από αυτό, το συνολικό διάγραμμα κυκλώματος είναι έτσι, η επάνω αριστερή γωνία είναι η πρίζα επικοινωνίας και η πρίζα τροφοδοσίας, από κάτω υπάρχει ένας βομβητής (που στην πραγματικότητα δεν χρησιμοποιείται στο κύκλωμα), υπάρχει μια δίοδος εκπομπής φωτός στα δεξιά και Η κάτω δεξιά γωνία είναι ένα fpc 30 ακίδων για τη σύνδεση της κεφαλής εκτύπωσης.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Αφού γίνει και μπορεί να χρησιμοποιηθεί είναι όπως φαίνεται παρακάτω, αφήνοντας μια υποδοχή κεφαλίδας καρφίτσας στην πλακέτα για το Raspberry Pi pico, μπορείτε να το συνδέσετε απευθείας σε αυτό.
    Το Raspberry Pico
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Ανοίξτε το ρεύμα, πρώτα δεν είναι συνδεδεμένο με το pico και την κεφαλή εκτύπωσης, μετρήστε την τάση εξόδου του dcdc, στην κανονική περίπτωση το ένα είναι περίπου 7.5v, το άλλο είναι περίπου 5v.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Στη συνέχεια, συνδέστε την κεφαλή εκτύπωσης, τη σειριακή οθόνη και το pico, μετρήστε τη λογική τάση είναι περίπου 3.3v, αφού δεν υπάρχει πρόβλημα, μπορείτε να γράψετε το πρόγραμμα.
    ΠρόγραμμαΣκοπεύω να ρυθμίσω πρώτα τον βηματικό κινητήρα, αυτό το μέρος είναι εύκολο να ρυθμιστεί, κοιτάξτε το διάγραμμα χρονισμού στο φύλλο δεδομένων, 8 περίοδοι ρολογιού, κάθε περίοδος ρολογιού θα πρέπει να δίνει ξεχωριστά στους τέσσερις ακροδέκτες του κινητήρα ένα λογικό σήμα, μετά από 8 περιόδους ο κινητήρας θα ανεβάστε και μετά ρυθμίστε την ταχύτητα, αλλά στη μέση πρέπει να προσθέσουμε μια καθυστέρηση για να ρυθμίσετε την αναλογία λειτουργίας, διαφορετικά γυρίζει πολύ γρήγορα, ο χρόνος καθυστέρησης που έβαλα είναι περίπου 5 ms και μετά αφού το αφήσετε να γυρίσει πρέπει να δώσετε το επίπεδο σε χαμηλή, διαφορετικά ο κινητήρας δεν φαίνεται να γυρίζει στην πραγματικότητα το εσωτερικό πηνίο είναι ακόμα σε λειτουργία, μετά από πολύ καιρό μπορείτε να μυρίσετε τη μυρωδιά που καίει. Στη συνέχεια, γράψτε τη συνάρτηση, βάλτε το σώμα σε ένα βρόχο, ο αριθμός των κύκλων αντιπροσωπεύει το διάρκεια περιστροφής του κινητήρα, η λειτουργία φαίνεται λίγο μεγάλη, βάλτε την κάπου αλλού μόνη της και περιμένετε την κλήση.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Αυτή είναι η λειτουργία μετά από μερικές αλλαγές, η ταχύτητα και η διάρκεια θα μεταδοθούν στο κύριο πρόγραμμα. Χρειάζεται ακόμα πολλή βελτιστοποίηση. Τότε είναι το σημείο προσαρμογής της κεφαλής εκτύπωσης, αυτό το μέρος είναι δύσκολο για μένα, χρειάζεται σήμα ρολογιού, το φύλλο δεδομένων είναι γραμμένο στο μέγιστο 8M, νόμιζα ότι χρειαζόταν ένα σήμα περίπου 8M συχνότητα, είναι δύσκολο, πρώτα μέτρησα τη συχνότητα με το επίπεδο io flip, η διαφορά είναι πάρα πολύ. Και μετά θέλω να χρησιμοποιήσω το pio, και έψαξα μια ολόκληρη μέρα, αλλά το αποτέλεσμα δεν είναι καλό, οι προσωπικές μου δεξιότητες είναι περιορισμένες, μάλλον πρέπει να μελετήσω σε βάθος το εγχειρίδιο του τσιπ rp2040. Στη συνέχεια, γυρίστε το επίπεδο 384 περιόδους για να δοκιμάσετε, είναι ένα ροή εργασίας όπως αυτή, αρχικοποιήστε την είσοδο δεδομένων 1 ακίδα, κλειδαριά 1 ακίδα, σήμα ρολογιού 1 ακίδα, 6 καρφίτσες μονάδας εκτύπωσης, και στη συνέχεια εκτός από το μάνταλο τραβήξτε όλα τα άλλα χαμηλά και, στη συνέχεια, στείλτε ένα δεδομένα μέσα σε μια περίοδο ρολογιού, μετά την ανακύκλωση 384 φορές για να ρυθμίσετε το μάνταλο στο 0, για να ορίσετε τη μονάδα εκτύπωσης 6 στο 1 και, στη συνέχεια, ποιο σημείο έχει δεδομένα ποιο σημείο θα θερμανθεί. Μετά την υλοποίηση του σετ, τραβήξτε το επίπεδο προς τα πίσω. Στη συνέχεια, αφού γράφτηκε το πρόγραμμα και ξεκίνησε η δοκιμή, πραγματικά δεν λειτούργησε, στην πραγματικότητα επειδή ελέγχονταν πάρα πολλές μονάδες εκτύπωσης αλλά το ρεύμα δεν ήταν αρκετό, μετά αλλάξτε το για να δώσει λιγότερα δύο μονάδες εκτύπωσης υψηλού επιπέδου και δοκιμάστε ξανά.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Λειτουργεί πραγματικά! Εκτύπωσε μια οριζόντια γραμμή. Αυτό σημαίνει ότι δεν υπάρχει κατώτερο όριο στη συχνότητα ρολογιού, τότε μπορείτε να ενεργοποιήσετε τον βηματικό κινητήρα για να εκτυπώσετε μια κάθετη γραμμή. pico διπλό νήμα, μετά αφήστε το άλλο νήμα να λειτουργήσει συγχρόνως τον κινητήρα, μετά γράψτε το πρόγραμμα και τρέξτε. Βγαίνει η κάθετη γραμμή.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Με τις οριζόντιες και κάθετες γραμμές, στη συνέχεια, λάβετε μια διαγώνια γραμμή, προσέξτε ότι μια μονάδα εκτύπωσης έχει 64 σημεία, που ορίζει ένα μήκος, όπως 32, και στη συνέχεια κάντε κύκλο 32 επί 384 περιόδους, κάθε περίοδος ορίζει μόνο τα πρώτα 64 δεδομένα σε 1 και ρυθμίστε τα επόμενα 320 δεδομένα στο 0 και, στη συνέχεια, 32 φορές κάθε φορά μόνο στην πρώτη μονάδα για να εκτυπώσετε ένα σημείο και μετά να κάνετε σταδιακό κύκλο, σε συνδυασμό με την ταχύτητα του βηματικού κινητήρα για προσαρμογή και, τέλος, να προσαρμόσετε το μέγεθος 64 * 32 του διαγώνια γραμμή, μπορείτε επίσης να γράψετε πρώτα ένα γράμμα Z.  
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Στη συνέχεια, το περίγραμμα του προγράμματος είναι εκεί, εάν θέλετε να εκτυπώσετε τη λέξη, πρέπει πρώτα να κάνετε τη γραμματοσειρά. Πρώτα κάντε ένα κεφαλαίο γράμμα Α, μεγέθους 32 * 32, με μια λίστα ορισμών, που σκοπεύω να κάνω εδώ με το pin.value (), οπότε δημιουργήστε τη γραμματοσειρά και, στη συνέχεια, χρησιμοποιήστε 32 σειρές και 32 στήλες δυαδικών τιμών που θα κληθούν, βγάλτε για να κάνετε ένα shift και μετά περάστε στο pin.value (), οπότε αυτή είναι η διαδικασία υλοποίησης.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Με το 0 ως φόντο και το 1 ως πρώτο πλάνο, η πραγματική διαδικασία υλοποίησης μοιάζει με αυτό.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Ο πιο εξωτερικός μεγάλος κύκλος 32 αντιπροσωπεύει τον κύκλο των 32 γραμμών, δηλαδή, εκτυπώνει 32 γραμμές και, στη συνέχεια, οι πρώτοι 32 κύκλοι στο εσωτερικό είναι η θέρμανση του μισού της πρώτης μονάδας θέρμανσης, τότε οι υπόλοιπες 352 περίοδοι θα οριστούν στο 0, και μετά μείον 1 από το 31 κάθε φορά μέχρι το 0, μπορείτε να μετρήσετε την πρώτη γραμμή των σημείων που πρέπει να θερμανθούν από αριστερά προς τα δεξιά και, στη συνέχεια, κάθε 384 περιόδους που πρέπει να συμπληρώνονται αφού το μάνδαλο ορίσει 0 και η μονάδα θέρμανσης ορίσει 1 και μετά μπορείτε να εκτυπώσετε και, στη συνέχεια, να βγάλετε μια λέξη μετά από 32 επαναλήψεις.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Ακόμα τολμηρό, αυτό το είδος λέξης dot matrix, υπάρχουν εργαλεία στο διαδίκτυο που μπορούν να γίνουν απευθείας, το μπροστινό μέρος συν 0b και στη συνέχεια προσθέστε ένα κόμμα στο πίσω μέρος και, στη συνέχεια, παίζετε σύμφωνα με τις δικές σας ιδέες, η γραμματοσειρά προορίζεται αρχικά να είναι αποθηκευμένο στο τσιπ flash, αλλά προσαρμόζω για πολύ καιρό ακόμα δεν μπορεί να ανοίξει.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Δεν ξέρω πού είναι το πρόβλημα, αφού έχω χρόνο θα προσαρμοστώ ξανά, το καλό είναι ότι το ίδιο το pico έχει φλας μεγέθους 16mbit, η αποθήκευση μιας βιβλιοθήκης ascii είναι ακόμα αρκετή, τότε είμαι τόσο αποθηκευμένος.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Ορίστε το με ένα λεξικό, βάλτε το σε ξεχωριστό κομμάτι και καλέστε το ξανά στο κύριο πρόγραμμα. Then after debugging, the available version looks like this.from machine import Pinfrom time import sleepimport _threadimport rp2from array import arrayimport ascii_kuimport speed_motor#import sysdelaytime = 0.0000001 # Printer clock delaymotor = speed_motor.motor_control(2, 3, 4, 5) # Initialize the printer’s internal stepper motor pins, corresponding to the a+/a-/b+/b- of the stepper motormov_bit = 0PRINTER_DIN = Pin(20, Pin.OUT)PRINTER_CLK = Pin(19, Pin.OUT)PRINTER_LAT = Pin(18, Pin.OUT, Pin.PULL_UP)STB1 = Pin(6, Pin.OUT, Pin.PULL_DOWN)STB2 = Pin(7, Pin.OUT, Pin.PULL_DOWN)STB3 = Pin(8, Pin.OUT, Pin.PULL_DOWN)STB4 = Pin(9, Pin.OUT, Pin.PULL_DOWN)STB5 = Pin(14, Pin.OUT, Pin.PULL_DOWN)STB6 = Pin(15, Pin.OUT, Pin.PULL_DOWN)lock = _thread.allocate_lock()ascii_code = ascii_ku.ascii_code() # Importing an ascii character libraryshuru = input(“Please enter text:”)line_word = []for item in range(len(shuru)):    line_word.append(shuru[item])# line_num = len(shuru)# bottom_line_num = len(shuru)%# global motor_speed = 0# global line = 0# if len(shuru) > 12:#     motor_speed = len(shuru) % 6#     if (len(shuru) % 6) == 0:#         motor_speed = 12# else:#     motor_speed = len(shuru)# print(motor_speed)motor_speed = len(shuru)line = (len(shuru) // 12) + 1if (len(shuru) % 12) == 0:    line -= 1lins = 0supper = 0slower = 0# _thread.start_new_thread(motor.run_stop, (0.005*motor_speed, 26*line))_thread.start_new_thread(motor.run_stop, (motor_speed, 1))# _thread.start_new_thread(motor.run_stop, (0.03, 56))def last_word_size32 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(31, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b00000000000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(352-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)def word_size24 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(23, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(360-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)for linss in range(32):    supper=slower=0    if linss < 32:        for lins in range(len(line_word)):#             if lins//12:#                 break            if (line_word[lins].isupper() or line_word[lins].isdigit() or line_word[lins].isspace()):                last_word_size32 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                supper += 1            elif (line_word[lins].islower()):                word_size24 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                slower += 1    else:        if linss == 32:            sleep(5.8)        for lins in range(motor_speed):            if (line_word[lins].isupper()):                last_word_size32 (ascii_code.code.get(line_word[12]), linss%32, lins%12, len(line_word))#     elif:#         _thread.start_new_thread(motor.run_stop, (motor_speed, line))#     for linss in range(32):#         for lins in range(len(line_word)):#             if (line_word[lins].isupper()):#                 last_word_size32 (ascii_code.code.get(line_word[lins]), linss, lins, len(line_word))line_word.clear()I am separate control printing unit, because the current is not enough so like this, but in order to print clear, making my printing speed becomes particularly slow, the more words the slower, and then the lowercase letters is 24 * 32 dot matrix, that it is less print points to use, but can not give it to leave 32 heating points of space then the character spacing is large, so the capital letters and lowercase letters are separated, the numbers are still 32 * 32.
  • Θερμική κεφαλή εκτύπωσης για σύστημα διαχείρισης στάθμευσης που βασίζεται σε Raspberry Pi pico και STONE TFT LCD IOT PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
  • Finally, the whole program is attached.from machine import UART,Pinfrom time import sleepimport _threadimport rp2from array import arrayimport ascii_kuimport speed_motorfrom os import uname#import sysuart1 = UART(0, baudrate = 115200, tx =Pin(0), rx = Pin(1))floor1 = [‘f’, ‘l’, ‘o’, ‘o’, ‘r’,’1′]floor2 = [‘f’, ‘l’, ‘o’, ‘o’, ‘r’,’2′]floor3 = [‘f’, ‘l’, ‘o’, ‘o’, ‘r’,’3′]button_cmd = [16,1]selector_cmd = [16,129]print(uname()[0])delaytime = 0.0000001 # Printer clock delaycoin = Pin(22, Pin.IN,Pin.PULL_UP)coin_num = 0motor = speed_motor.motor_control(2, 3, 4, 5) # Initialize the printer’s internal stepper motor pins, corresponding to the a+/a-/b+/b- of the stepper motormov_bit = 0PRINTER_DIN = Pin(20, Pin.OUT)PRINTER_CLK = Pin(19, Pin.OUT)PRINTER_LAT = Pin(18, Pin.OUT, Pin.PULL_UP)STB1 = Pin(6, Pin.OUT, Pin.PULL_DOWN)STB2 = Pin(7, Pin.OUT, Pin.PULL_DOWN)STB3 = Pin(8, Pin.OUT, Pin.PULL_DOWN)STB4 = Pin(9, Pin.OUT, Pin.PULL_DOWN)STB5 = Pin(14, Pin.OUT, Pin.PULL_DOWN)STB6 = Pin(15, Pin.OUT, Pin.PULL_DOWN)lock = _thread.allocate_lock()ascii_code = ascii_ku.ascii_code() # Importing an ascii character library# shuru = ‘aa’# line_word = []# for item in range(len(shuru)):#     line_word.append(shuru[item])# line_num = len(shuru)# bottom_line_num = len(shuru)%# global motor_speed = 0# global line = 0# if len(shuru) > 6:#     motor_speed = len(shuru) % 6#     if (len(shuru) % 6) == 0:#         motor_speed = 12# else:#     motor_speed = len(shuru)# # print(motor_speed)# # line = (len(shuru) // 12) + 1# if (len(shuru) % 12) == 0:#     line -= 1lins = 0supper = 0slower = 0danjia = 0# _thread.start_new_thread(motor.run_stop, (0.005*motor_speed, 26*line))# _thread.start_new_thread(motor.run_stop, (motor_speed, line))# _thread.start_new_thread(motor.run_stop, (0.03, 56))def pay(pay):    global coin_num    line_word = {‘line_word1’:[‘s’,’i’,’t’,’e’,’:’,’F’,’1′,’-‘,’0′],’line_word2’:[‘0′,’d’,’a’,’y’,’2′,’h’,’o’,’u’,’r’],’line_word3′:[‘t’,’o’,’t’,’a’,’l’,’:’,’4′,’.’,’0′],’line_word4′:[‘T’,’o’,’t’,’a’,’l’,’:’,’4′,’.’,’0′]}    line_wors = {‘line_word1’:[‘U’,’n’,’i’,’t’,’:’,’2′,’.’,’0′,’0′],’line_word2′:[‘T’,’o’,’t’,’a’,’l’,’:’,’4′,’.’,’0′],                 ‘line_word3’:[‘U’,’n’,’i’,’t’,’:’,’2′,’.’,’0′,’0′],’line_word4′:[‘T’,’o’,’t’,’a’,’l’,’:’,’5′,’.’,’0′]}#     line_word1 = [‘S’,’i’,’t’,’e’,’:’,’F’,’1′,’-‘,’0’]#     line_word2 = [‘1′,’D’,’a’,’y’,’1′,’H’,’o’,’u’,’r’]#     line_word3 = [‘U’,’n’,’i’,’t’,’:’,’2′,’.’,’0′,’0′]#     line_word4 = [‘T’,’o’,’t’,’a’,’l’,’:’,’5′,’.’,’0′]#     line_word1[8]=str(pay[0])#     line_word2[0]=str(pay[1])#     line_word2[4]=str(pay[2])#     line_word4[6]=str(pay[3])    (line_word[‘line_word1’])[8]=str(pay[0])#     (line_word[‘line_word2’])[0]=str(pay[1])#     (line_word[‘line_word2’])[4]=str(pay[2])#     (line_word[‘line_word4’])[6]=str(pay[3])    sleep(1)    uart1.write(‘ST<{“cmd_code”:”set_value”,”type”:”image_value”,”widget”:”image_value4″,”value”:’+str(pay[3])+’}>ET’)#     sleep(2)#     print(line_word.get(‘line_word’+str(1))[0])#     print(‘zfdszfz’,line_word)#     sleep(2)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message5″,”text”:”F1 – ‘+pay[0]+'”}>ET’)#     uart1.sendbreak()#     sleep(1)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message6″,”text”:”‘+str(pay[1])+'”}>ET’)#     uart1.sendbreak()#     sleep(1)# #     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message22″,”text”:”‘+str(pay[2])+'”}>ET’)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message8″,”text”:”‘+str(pay[3])+'”}>ET’)    while True:        if coin.value()==0:            coin_num += 1            print(“Number of coins deposited:”,coin_num)            sleep(0.1)            uart1.write(‘ST<{“cmd_code”:”set_value”,”type”:”image_value”,”widget”:”image_value2″,”value”:’+str(coin_num)+’}>ET’)            if coin_num == pay[3]:                uart1.write(‘ST<{“cmd_code”:”set_visible”,”type”:”widget”,”widget”:”image37″,”visible”:true}>ET’)                     if uart1.any()>1:            rx2 = []            data_name2 = ”            bin_data = uart1.read(40)            uart1.sendbreak()            rx1 = list(bin_data)            for item in rx1:                rx2.append(chr(item))            print(rx2)            if rx1[3:5:1] == button_cmd:                data_name_len = rx1[6] – 1                data_name = rx2[7:data_name_len+6:1]                data_name2 = ”.join(data_name)                print(data_name2)                if data_name2 == ‘back’:                    break                elif data_name2 == ‘print’ and coin_num == pay[3] and rx1[13] == 2:                    data_name2=”                    _thread.start_new_thread(motor.run_stop, (9, 4))                    for iii in range(1,3):                        for linss in range(32):                            supper=slower=0                            for lins in range(9):#                                 temp_list=ascii_code.code.get((‘line_word’+str(iii))[lins])#                                 print(temp_list,type(temp_list))                                if (line_word.get(‘line_word’+str(iii))[lins]).islower():                                    word_size24 (ascii_code.code.get(line_word.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)                                    slower += 1                                else:                                    last_word_size32 (ascii_code.code.get(line_word.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)                                    supper +=                         sleep(6)#                     for iii in range(1,2):#                         for linss in range(32):#                             supper=slower=0#                             for lins in range(9):# #                                 temp_list=ascii_code.code.get((‘line_word’+str(iii))[lins])# #                                 print(temp_list,type(temp_list))#                                 if (line_wors.get(‘line_word’+str(iii))[lins]).islower():#                                     word_size24 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     slower += 1#                                 else:#                                     last_word_size32 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     supper += 1#                     sleep(6)#                     for iii in range(1,2):#                         for linss in range(32):#                             supper=slower=0#                             for lins in range(9):# #                                 temp_list=ascii_code.code.get((‘line_word’+str(iii))[lins])# #                                 print(temp_list,type(temp_list))#                                 if (line_wors.get(‘line_word’+str(iii))[lins]).islower():#                                     word_size24 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     slower += 1#                                 else:#                                     last_word_size32 (ascii_code.code.get(line_wors.get(‘line_word’+str(iii))[lins]), linss%32, lins%12, supper, slower)#                                     supper += 1def floor1def():    day_jia = 0    hour_jia = 0    day_flag = False    hour_flag = False    price_flag = False    posltion = False    zongjia = 0    pay1 = [0,0,0,0]    print(“floor1 now”)#     uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message3″,”text”:”2.00$/H”}>ET’)    uart1.sendbreak()    while True:        if uart1.any()>1:            rx2 = []            data_name2 = ”            bin_data = uart1.read(40)            uart1.sendbreak()            rx1 = list(bin_data)            for item in rx1:                rx2.append(chr(item))            print(rx2)            if rx1[3:5:1] == button_cmd:                data_name_len = rx1[6] – 1                data_name = rx2[7:data_name_len+6:1]                data_name2 = ”.join(data_name)                print(data_name2)                if data_name2 == ‘back’:                    break                elif data_name2 == ‘position’:                    posltion = True                    pay1[0]=rx2[15]                    write1(rx2[15])                elif data_name2 == ‘pay’ and posltion and price_flag:                    uart1.write(‘ST<{“cmd_code”:”open_win”,”type”:”window”,”widget”:”window7″}>ET’)                    pay(pay1)#                 if data_name2 == ‘pay’ and posltion = True and (day_flag or hour_flag):#                     posltion = True#                     uart1.write(‘ST<{“cmd_code”:”open_win”,”type”:”window”,”widget”:”window7″}>ET’)            if rx1[3:5:1] == selector_cmd:                data_name_len = rx1[6] – 4                data_name = rx2[7:data_name_len+7:1]                data_name2 = ”.join(data_name)                print(data_name2)                if data_name2 == ‘time_day1’:                    pay1[1]=rx2[19]                    write2(ord(rx2[19]))                    day_jia = ord(rx2[19])                    day_flag = True                elif data_name2 == ‘time_hour1’:                    pay1[2]=rx2[20]                    write3(ord(rx2[20]))                    hour_jia = ord(rx2[20])                    hour_flag = True            if hour_flag or day_flag:                price_flag = True                zongjia = (day_jia*48) + (hour_jia*2)                pay1[3]=zongjia                print(str(zongjia))                uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message4″,”text”:”‘+str(zongjia)+'”}>ET’)                hour_flag = day_flag = Falsedef floor2def():    passdef floor3def():    passdef write1(num):    #print(ss)    for item in range(49,55):        uart1.write(‘ST<{“cmd_code”:”set_image”,”type”:”image”,”widget”:”image1_’+chr(item)+'”,”image”:”nocar_bg”}>ET’)    uart1.write(‘ST<{“cmd_code”:”set_image”,”type”:”image”,”widget”:”image1_’+num+'”,”image”:”selectedcar_bg2″}>ET’)    uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message1″,”text”:”F1 – ‘+num+'”}>ET’)def write2(num):#     danjia = 1    uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message2″,”text”:”‘+str(num)+'”}>ET’)#     if danjia == 1:#         uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message3″,”text”:”2.00$/H”}>ET’)def write3(num):#     danjia = 1    uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message22″,”text”:”‘+str(num)+'”}>ET’)#     if danjia == 1:#         uart1.write(‘ST<{“cmd_code”:”set_text”,”type”:”edit”,”widget”:”message3″,”text”:”2.00$/H”}>ET’)def last_word_size32 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(31, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b00000000000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(352-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        STB4.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        STB4.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)#         PRINTER_LAT.value(0)#         STB1.value(1)#         STB2.value(1)#         STB3.value(1)#         STB4.value(1)#         STB5.value(1)#         STB6.value(1)#         sleep(0.005)#         STB1.value(0)#         STB2.value(0)#         STB3.value(0)#         STB4.value(0)#         STB5.value(0)#         STB6.value(0)#         PRINTER_LAT.value(1)   def word_size24 (word_line, linss, lins, supper, slower):    for mov_bit in range((supper*32)+(slower*24)):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(23, -1, -1):        word_bit = (word_line[linss] >> mov_bit)&0b000000000000000000000001        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(word_bit)        PRINTER_CLK.value(1)        sleep(delaytime)    for mov_bit in range(360-((supper*32)+(slower*24))):        PRINTER_CLK.value(0)        sleep(delaytime)        PRINTER_DIN.value(0)        PRINTER_CLK.value(1)        sleep(delaytime)    if (supper*32)+(slower*24) < 192:        PRINTER_LAT.value(0)        STB1.value(1)        STB2.value(1)        STB3.value(1)        sleep(0.005)        STB1.value(0)        STB2.value(0)        STB3.value(0)        PRINTER_LAT.value(1)    else:        PRINTER_LAT.value(0)        STB4.value(1)        STB5.value(1)        STB6.value(1)        sleep(0.005)        STB4.value(0)        STB5.value(0)        STB6.value(0)        PRINTER_LAT.value(1)#         PRINTER_LAT.value(0)#         STB1.value(1)#         STB2.value(1)#         STB3.value(1)#         STB4.value(1)#         STB5.value(1)#         STB6.value(1)#         sleep(0.005)#         STB1.value(0)#         STB2.value(0)#         STB3.value(0)#         STB4.value(0)#         STB5.value(0)#         STB6.value(0)#         PRINTER_LAT.value(1)while True:    if uart1.any()>1:        rx2 = []        data_name2 = ”        bin_data = uart1.read(40)        uart1.sendbreak()        rx1 = list(bin_data)        for item in rx1:            rx2.append(chr(item))        print(rx2)        if rx2[7:13:1] == floor1:            floor1def()        elif rx2[7:13:1] == floor2:            floor2def()        elif rx2[7:13:1] == floor3:            floor3def()for linss in range(32):    supper=slower=0    if linss < 32:        for lins in range(len(line_word)):#             if lins//12:#                 break            if (line_word[lins].isupper() or line_word[lins].isdigit() or line_word[lins].isspace()):                last_word_size32 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                supper += 1            elif (line_word[lins].islower()):                word_size24 (ascii_code.code.get(line_word[lins]), linss%32, lins%12, supper, slower)                slower += 1    else:        if linss == 32:            sleep(5.8)        for lins in range(motor_speed):            if (line_word[lins].isupper()):                last_word_size32 (ascii_code.code.get(line_word[12]), linss%32, lins%12, len(line_word))#     elif:#         _thread.start_new_thread(motor.run_stop, (motor_speed, line))#     for linss in range(32):#         for lins in range(len(line_word)):#             if (line_word[lins].isupper()):#                 last_word_size32 (ascii_code.code.get(line_word[lins]), linss, lins, len(line_word)line_word.clear()
  • Πηγή: Plato Data Intelliigence