Διαδραστική επιφάνεια εργασίας. Διαδραστική επιφάνεια εργασίας για WinXP. Γραφείο πολλαπλής αφής υπολογιστή - Ideum Pro Lab

Η οθόνη LCD Arduino σάς επιτρέπει να εμφανίζετε οπτικά δεδομένα αισθητήρα. Θα σας πούμε πώς να συνδέσετε σωστά μια οθόνη LCD στο Arduino μέσω I2C και θα δείτε βασικές εντολέςαρχικοποίηση και έλεγχος της LCD 1602. Εξετάστε επίσης διάφορες λειτουργίεςστη γλώσσα προγραμματισμού C++, για έξοδο πληροφορίες κειμένουστην οθόνη, η οποία συχνά απαιτείται να χρησιμοποιηθεί σε έργα Arduino.

Βίντεο. Οθόνη Arduino LCD I2C 1602

Σύνδεση LCD 1602 I2C με Arduino

I2C - σειριακό δίαυλο δύο καλωδίων για επικοινωνία ολοκληρωμένα κυκλώματαμέσα ηλεκτρονικές συσκευές, είναι γνωστό ως I²C ή IIC (English Inter-Integrated Circuit). Το I²C αναπτύχθηκε από τη Philips στις αρχές της δεκαετίας του 1980 ως ένας απλός δίαυλος 8-bit για ενδοεπικοινωνίαμεταξύ κυκλωμάτων στα ηλεκτρονικά ελέγχου (για παράδειγμα, σε υπολογιστές που βασίζονται σε μητρικές πλακέτες, V κινητά τηλέφωνακαι τα λοιπά.).

Σε ένα απλό σύστημα I²C μπορεί να υπάρχουν πολλές υποτελείς συσκευές και μία κύρια συσκευή που εκκινεί τη μεταφορά δεδομένων και συγχρονίζει το σήμα. Πολλαπλές βοηθητικές συσκευές μπορούν να συνδεθούν στις γραμμές SDA (γραμμή δεδομένων) και SCL (γραμμή ρολογιού). Συχνά η κύρια συσκευή είναι ένας ελεγκτής Arduino και οι βοηθητικές συσκευές είναι ένα ρολόι σε πραγματικό χρόνο ή μια οθόνη LCD.

Πώς να συνδέσετε την LCD 1602 στο Arduino μέσω I2C

Η οθόνη LCD 1602 με μονάδα I2C συνδέεται στην πλακέτα Arduino με μόνο 4 καλώδια - 2 καλώδια δεδομένων και 2 καλώδια τροφοδοσίας. Η σύνδεση της οθόνης 1602 πραγματοποιείται ως στάνταρ για τον δίαυλο I2C: pin Σ.Δ.Α.συνδέεται στη θύρα A4, έξοδος SCL– στη θύρα A5. Θρέψη Οθόνη LCDπραγματοποιείται από τη θύρα +5V στο Arduino. Δείτε το διάγραμμα σύνδεσης οθόνης LCD 1602 στην παρακάτω φωτογραφία για περισσότερες λεπτομέρειες.

Για αυτό το μάθημα θα χρειαστούμε τις ακόλουθες λεπτομέρειες:

  • Πλακέτα Arduino Uno / Arduino Nano / Arduino Mega;
  • οθόνη LCD 1602;
  • 4 σύρματα αρσενικό-θηλυκό.

Μετά τη σύνδεση Οθόνη LCDστο Arduino μέσω I2C θα χρειαστεί να εγκαταστήσετε τη βιβλιοθήκη LiquidCrystal_I2C.hγια εργασία με οθόνη LCD μέσω διεπαφής και βιβλιοθήκης I2C Σύρμα.χ(διαθέσιμο σε τυπικό πρόγραμμα Arduino IDE). Μπορείτε να κάνετε λήψη της βιβλιοθήκης εργασίας LiquidCrystal_I2C.h για LCD 1602 με μια μονάδα I2C στη σελίδα Βιβλιοθήκες Arduino στον ιστότοπό μας μέσω απευθείας συνδέσμου από το Google Drive.

Σκίτσο για οθόνη 1602 με I2C

#συμπεριλαμβάνω // βιβλιοθήκη για τον έλεγχο συσκευών μέσω I2C#συμπεριλαμβάνω // συνδέστε τη βιβλιοθήκη για LCD 1602 LiquidCrystal_I2C LCD (0x27,20,2); // αντιστοιχίστε ένα όνομα στην οθόνη LCD για την οθόνη 20x2 void setup () // ρύθμιση διαδικασίας ( lcd.init (); // αρχικοποίηση της οθόνης LCD lcd.backlight(); // ενεργοποίηση οπίσθιου φωτισμού οθόνης lcd.setCursor(0,0); // τοποθετήστε τον κέρσορα σε 1 χαρακτήρα της πρώτης γραμμής lcd.print("ΑΓΑΠΩ"); // εκτυπώστε το μήνυμα στην πρώτη γραμμή lcd.setCursor(0,1); // τοποθετήστε τον κέρσορα στο 1 χαρακτήρα της δεύτερης γραμμής lcd.print("ARDUINO"); // εκτυπώστε το μήνυμα στη δεύτερη γραμμή) void loop () // βρόχος διαδικασίας ( /* Αυτό πολυγραμμικό σχόλιο// αρχικά η διαδικασία void loop() δεν χρησιμοποιείται στο σκίτσο lcd.noDisplay(); // Απενεργοποίηση της καθυστέρησης οπίσθιου φωτισμού της οθόνης LCD (500); // παύση lcd.display(); // ενεργοποιήστε την καθυστέρηση οπίσθιου φωτισμού της οθόνης LCD (500); // παύση */ }

Επεξηγήσεις για τον κώδικα:

  1. η βιβλιοθήκη LiquidCrystal_I2C.h περιέχει πολλές εντολές για τον έλεγχο μιας οθόνης LCD μέσω του διαύλου I²C και σας επιτρέπει να απλοποιήσετε σημαντικά το σκίτσο.
  2. Το σκίτσο περιέχει ένα σχόλιο πολλαπλών γραμμών /* ... */, το οποίο σας επιτρέπει να σχολιάσετε πολλές γραμμές στο πρόγραμμα ταυτόχρονα.
  3. Πριν εμφανίσετε πληροφορίες στην οθόνη, πρέπει να ρυθμίσετε τη θέση του δρομέα με την εντολή setCursor(0,1) , όπου 0 είναι ο αριθμός χαρακτήρων στη γραμμή, 1 είναι ο αριθμός γραμμής.

Η μονάδα LCD I2C σάς επιτρέπει να συνδέσετε μια οθόνη χαρακτήρων Πλακέτα Arduinoμόνο δύο καλώδια σήματος.

Συστατικά που χρησιμοποιούνται (αγοράστε στην Κίνα):

. Πίνακας ελέγχου

. Καλώδια σύνδεσης

Κύρια τεχνικά χαρακτηριστικά:

Οθόνη: Χαρακτήρας 16x02 ή 20x04
. Οπίσθιος φωτισμός: Μπλε με λευκούς χαρακτήρες
. Αντίθεση: Ρυθμίζεται με ποτενσιόμετρο
. Τάση τροφοδοσίας: 5V
. Διεπαφή: I2C
. Διεύθυνση I2C: 0x27
. Διαστάσεις: 82mm x 35mm x 18mm

Σύνδεση στο Arduino

Η μονάδα είναι εξοπλισμένη με βύσμα τεσσάρων ακίδων 2,54 mm

SCL: γραμμή σειριακού ρολογιού (Σειρικό ρολόι)

Σ.Δ.Α.: γραμμή σειριακών δεδομένων (Serial DAta)

VCC: Ισχύς "+".

GND: "-" δύναμη

Οι ακίδες που είναι υπεύθυνες για τη διεπαφή I2C σε πλακέτες Arduino που βασίζονται σε διαφορετικούς ελεγκτές ποικίλλουν

Για να εργαστείτε με αυτήν την ενότητα, πρέπει να εγκαταστήσετε τη βιβλιοθήκη LiquidCrystal_I2C1602V1

Κατεβάστε, αποσυσκευάστε το και τοποθετήστε το στο φάκελο libraries στο φάκελο Arduino. Εάν το Arduino IDE ήταν ανοιχτό τη στιγμή της προσθήκης της βιβλιοθήκης, επανεκκινήστε το περιβάλλον.

Πάμε κατευθείαν στο σκίτσο. ΣΕ σε αυτό το παράδειγμαεμφανίστε το τυπικό "Hello, world!" και για τη διεύθυνση της κοινότητάς μας.

παράδειγμα κώδικα προγράμματος:

#συμπεριλαμβάνω #συμπεριλαμβάνω LiquidCrystal_I2C LCD (0x27,16,2); /* Ορίστε τη διεύθυνση και το μέγεθος εμφάνισης. Όταν χρησιμοποιείτε μια μονάδα LCD I2C με οθόνη 20x04, δεν χρειάζεται να αλλάξετε τίποτα στον κωδικό, απλά πρέπει να ορίσετε τη σωστή διάσταση */κενός εγκατάσταση() ( lcd.init(); // Αρχικοποίηση lcd lcd.backlight(); // Ενεργοποιήστε τον οπίσθιο φωτισμό // Ο κέρσορας βρίσκεται στην αρχή 1 γραμμής lcd.print("Γεια, κόσμο!"); // Εμφάνιση κειμένου lcd.setCursor (0, 1); // Ρυθμίστε τον κέρσορα στην αρχή της γραμμής 2 lcd.print("site"); // Κείμενο εξόδου ) void βρόχος () { }

Δημιουργήστε τα δικά σας σύμβολα

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

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

Το κελί στις οθόνες που εξετάζουμε έχει ανάλυση 5x8 pixel. Το μόνο στο οποίο καταλήγει η αποστολή της δημιουργίας ενός συμβόλου είναι να γράψετε μια μάσκα και να τοποθετήσετε εκείνες σε μέρη όπου πρέπει να είναι αναμμένες οι τελείες και μηδενικά όπου δεν πρέπει.

Στο παρακάτω παράδειγμα θα σχεδιάσουμε ένα χαμογελαστό πρόσωπο.

παράδειγμα κώδικα προγράμματος:

//Δοκιμασμένο σε Arduino IDE 1.0.5 // Προσθέστε τις απαραίτητες βιβλιοθήκες#συμπεριλαμβάνω #συμπεριλαμβάνω // Bitmask του συμβόλου του χαμόγελου byte smile = ( B00010, B00001, B11001, B00001, B11001, B00001, B00010, ); LiquidCrystal_I2C LCD (0x27,20,4); // Ορίστε τη διεύθυνση και το μέγεθος εμφάνισης.κενός εγκατάσταση() ( lcd.init(); // Αρχικοποίηση lcd lcd.backlight(); // Ενεργοποιήστε τον οπίσθιο φωτισμό // Δημιουργία αριθμού συμβόλου 0 lcd.createChar(1, χαμόγελο); lcd.setCursor(0, 0);// Ρυθμίστε τον κέρσορα στην αρχή 1 γραμμής lcd.print("\1");// Εμφάνιση ενός smiley (αριθμός χαρακτήρων 1) - "\1" βρόχος () { }

) κενό

Το πρόγραμμα για εύκολη δημιουργία συμβόλων

Στα σχόλια, ένα μέλος της κοινότητας έστειλε έναν σύνδεσμο προς τη γεννήτρια συμβόλων Το πρωτόκολλο επικοινωνίας I2C αναπτύχθηκε κάποτεαπό τη Philips

. Το όνομα I2C προέρχεται από το αγγλικό Iner-IC control ή αλλιώς έλεγχος μεταξύ chip, Inter-IC, IIC (I2C) είναι το όνομα του ίδιου πρωτοκόλλου.

Υπάρχουν ειδικοί προσαρμογείς που σας επιτρέπουν να συνδέσετε άλλες συσκευές, για παράδειγμα, με έναν προσαρμογέα μπορείτε να συνδέσετε μια οθόνη arduino 1602 (16x2) LCD χρησιμοποιώντας το πρωτόκολλο i2c χρησιμοποιώντας δύο καλώδια. Κατόπιν αιτήματος LCD i2c υπάρχουν πολλές πληροφορίες στο Διαδίκτυο, εδώ είναι ένα παράδειγμα για το πώς πρέπει να μοιάζει ένας προσαρμογέας για μια οθόνη http://www.ebay.com/itm/310565362720

Όταν εργάζεστε σε αυτή τη διεπαφή, η μία συσκευή είναι η κύρια και η άλλη η υποτελής. Η κύρια μονάδα εκκινεί τη μετάδοση και παράγει τα απαραίτητα σήματα για το συγχρονισμό.

Το slave, με τη σειρά του, εξαρτάται από τον κύριο και ξεκινά τη μετάδοση δεδομένων μόνο αφού λάβει μια εντολή από την κύρια συσκευή.

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

Ένα παράδειγμα σύνδεσης αισθητήρων με χρήση του πρωτοκόλλου I2C

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

Η γνωριμία ξεκινά με μια βιβλιοθήκη ειδικά γραμμένη για αυτούς τους σκοπούς, το όνομα της οποίας είναι Wire. Πριν ξεκινήσετε την εργασία, πρέπει να εισαχθεί στο έργο, έχει ειδικές ομάδεςή μεθόδους για «ομιλία» με συσκευές.

Για να ανταλλάξετε δεδομένα με συσκευές πρέπει να γνωρίζετε το αναγνωριστικό τους. Διάφορες συσκευέςμπορεί να έχει διαφορετικά μήκη διευθύνσεων (id) 8 ή 7 bit Η βιβλιοθήκη Wire χρησιμοποιεί διευθυνσιοδότηση 7 bit.

Οι εξαρτημένες συσκευές συνδέονται με τις ακίδες στην πλακέτα Arduino. Κάθε έκδοση του Arduino έχει τις δικές της ακίδες I2C

  • UNO - A4(SDA), A5(SCL);
  • Mega - 20(SDA), 21(SCL);
  • Leonardo- 2(SDA), 3(SCL);
  • Οφειλές - 20(SDA), 21(SCL),SDA1,SCL1;

Παράδειγμα κώδικα προγράμματος για τον έλεγχο ενός ψηφιακού ποτενσιόμετρου χρησιμοποιώντας τη βιβλιοθήκη Wire

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

#συμπεριλαμβάνω void setup() ( Wire.begin(); // join i2c bus (διεύθυνση προαιρετική για master) ) byte val = 0; void loop() ( Wire.beginTransmission(44); // μετάδοση στη συσκευή #44 (0x2c) // η διεύθυνση της συσκευής καθορίζεται στο φύλλο δεδομένων Wire.write(byte(0x00)); // στέλνει byte εντολής Wire.write(val ); χαμηλότερη τιμή ) καθυστέρηση (500 )

Βίντεο με το I2C και το Arduino να λειτουργούν. Μέρος 1


Δημοσιεύτηκε στη συλλογή προγραμμάτων: 17 Ιουλίου 2010

Λειτουργικό σύστημα: Windows ΟΛΑ
Μέγεθος προγράμματος (διανομής): 177 KB
Τύπος άδειας: FreeWare


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

Κατά την προσθήκη του προγράμματος στον κατάλογο του ιστότοπού μας, ο σύνδεσμος στο Interactive Desktop 3.2.2.0 ελέγχθηκε από ένα πρόγραμμα προστασίας από ιούς, αλλά επειδή το αρχείο βρίσκεται στον διακομιστή του προγραμματιστή ή του εκδότη του λογισμικού, ενδέχεται να αλλάξει, προτείνουμε ότι το κατεβάσατε πριν λογισμικόστον υπολογιστή σας, σαρώστε αρχεία online με ένα πρόγραμμα προστασίας από ιούς - θα ανοίξει σε νέο παράθυρο και θα σαρωθεί!

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

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

Συχνά αναδημιουργώ την επιφάνεια εργασίας του υπολογιστή μου «κατά τη δική μου εικόνα και ομοίωση». Στην αρχή αυτά ήταν κυκλικά κινούμενα σχέδια GIF που λήφθηκαν από το Διαδίκτυο (τα μάτια της γάτας που αναβοσβήνουν, φλόγα κεριού κ.λπ.) τοποθετημένα στο κέντρο του τραπεζιού. Στη συνέχεια - τα δικά μου κινούμενα gif που δημιουργήθηκαν από εμένα σε ένα πρόγραμμα επεξεργασίας 3D. Είναι αλήθεια πρακτικό όφελοςδεν έφεραν, αλλά η ευχαρίστηση ήταν απερίγραπτη. Η κύρια προϋπόθεση εδώ είναι η οργανική ύφανση στο φόντο του τραπεζιού. Εδώ, για παράδειγμα, είναι στιγμιότυπα οθόνης των αγαπημένων μου έργων - ένας περιστρεφόμενος ανεμιστήρας:

και Κέλτικος σταυρός:

Μετά από κάποιο χρονικό διάστημα, αυτό έπαψε να με ικανοποιεί και αποφάσισα να προχωρήσω περαιτέρω, δηλαδή στην πορεία της δημιουργίας διαδραστικών επιτραπέζιων υπολογιστών. Στην αρχή, αυτές ήταν απλώς όμορφα σχεδιασμένες σελίδες HTML με χρήσιμοι σύνδεσμοικαι τότε γεννήθηκε η ιστορία μου - διαδραστικά στοιχεία flash.
Πώς να το κάνετε
Δεν θα μπορείτε να συνδέσετε απευθείας μια μονάδα flash, πρέπει πρώτα να την προσαρτήσετε σε μια σελίδα HTML και, στη συνέχεια, να την τοποθετήσετε στην επιφάνεια εργασίας σας κανονική εικόνα. Για να αποφύγετε τη διδασκαλία των βασικών Δημιουργία HTML, θα δημοσιεύσω απλώς ένα παράδειγμα του "burbulyator" μου και αν κάποιος θέλει να το αντικαταστήσει με κάτι άλλο (για παράδειγμα, ένα ρολόι flash ή κάποιον άλλο μηχανισμό ευχάριστο στο μάτι), τότε διορθώστε το αρχείο swf_bubble.htmlδεν θα είναι δύσκολο.
Κατεβάστε λοιπόν το ολοκληρωμένο αρχείο και αποσυσκευάστε το σε έναν κατάλογο C: \ θερμοκρασία. Έτσι θα πρέπει να έχετε δύο αρχεία:
C:\temp\decktop\swf_bubble.html
C:\temp\decktop\bubble.swf

!!! ΠΡΟΣΟΧΗ!!! ΤΑ ΑΡΧΕΙΑ ΠΡΕΠΕΙ ΝΑ ΠΑΝΕ ΕΔΩ, ΑΛΛΙΩΣ ΠΡΕΠΕΙ ΝΑ ΑΛΛΑΞΕΤΕ ΤΗ ΔΙΑΔΡΟΜΗ ΣΤΟ swf_bubble.html .
Επόμενο κλικ δεξί κλικποντίκι στην επιφάνεια εργασίας και επιλέξτε «Ιδιότητες». Στο παράθυρο που εμφανίζεται, ανοίξτε την καρτέλα "Desktop", το κουμπί "Browse". Στη συνέχεια, πρέπει να βρείτε το αρχείο C:\temp\decktop\swf_bubble.htmlκαι αποδεχτείτε τις αλλαγές. Εδώ είναι η πραγματική απεικόνιση:


Συνιστώ επίσης να ορίσετε το χρώμα της επιφάνειας εργασίας σε μαύρο στην καρτέλα "Σχεδίαση" για να αποφύγετε τα φαντάσματα γύρω από τις συντομεύσεις


Αφού τεθούν σε ισχύ οι αλλαγές, θα τοποθετηθεί στην επιφάνεια εργασίας σας μια εικόνα του burbulator σε κατάσταση απενεργοποίησης. Τραβώντας διαδοχικά τους μοχλούς με το ποντίκι, μπορείτε να ρυθμίσετε την παροχή αερίου. Μπορείτε να δοκιμάσετε τη μονάδα flash σε δράση εδώ:

Με εκτίμηση, Alexey.



Ερωτήσεις;

Αναφέρετε ένα τυπογραφικό λάθος

Κείμενο που θα σταλεί στους συντάκτες μας: