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

Επιτραπέζιος οργανωτής με οθόνη LCD: 4 βήματα
Επιτραπέζιος οργανωτής με οθόνη LCD: 4 βήματα

Βίντεο: Επιτραπέζιος οργανωτής με οθόνη LCD: 4 βήματα

Βίντεο: Επιτραπέζιος οργανωτής με οθόνη LCD: 4 βήματα
Βίντεο: 15 Πρακτικές συσκευές γραφείου που σας κρατούν υγιείς και οργανωμένοι 2024, Ιούλιος
Anonim
Image
Image

** Επεξεργασία **

Για το έργο arduino HKU αποφάσισα να φτιάξω έναν οργανωτή επιφάνειας εργασίας με οθόνη LCD που να εμφανίζει εισαγωγικά για να σας παραλάβει όταν περιστρέφετε το δοχείο σας!

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

Τα πράγματα που θα χρειαστείτε

  • *arduino uno
  • μετρητή κατσαρόλας
  • *αρσενικά σύρματα δακτυλογράφησης
  • *Μονάδα LCD! Με αναγνώστη καρτών SD! (Πήρα arduino tft LCD)
  • *κάρτα micro SD
  • *ξύλο (ανακύκλωσα παλιά μίνι συρτάρια και χρησιμοποίησα μερικά ανταλλακτικά ξύλινα μέρη, βεβαιωθείτε ότι μπορείτε τουλάχιστον να σχηματίσετε ένα μικρό κουτί για να κρύψετε το arduino σας!

Βήμα 1: Ρύθμιση του μετρητή στο Arduino

Ρύθμιση του μετρητή στο Arduino
Ρύθμιση του μετρητή στο Arduino

συνδέστε τον μετρητή κατσαρόλας όπως φαίνεται στην εικόνα

για να ξεκινήσει να λειτουργεί ο μετρητής κατσαρόλας

Θα πρέπει να ξεκινήσετε με μερικές μεταβλητές στο πάνω μέρος του σκίτσου σας πριν από τη ρύθμιση:

κώδικας:

const int analogInPin = A0; // Αναλογική καρφίτσα εισόδου στην οποία είναι προσαρτημένο το ποτενσιόμετρο

int sensorValue = 0; // τιμή που διαβάζεται από το pot int outputValue = 0; // έξοδος τιμής στο PWM (αναλογική έξοδος)

Στην εικόνα 2 δείχνω πώς χαρτογραφείται το δοχείο στο βρόχο κενό

κώδικας:

// διαβάστε το αναλογικό σε τιμή:

sensorValue = analogRead (analogInPin); // αντιστοιχεί στο εύρος του αναλογικού: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // αλλαγή της αναλογικής τιμής εξόδου:

stuffToPrint.toCharArray (εκτύπωση, 9); // στατικό κείμενο myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t έξοδος ="); Serial.println (outputValue);

καθυστέρηση (50)?

αυτό αντιστοιχίζει τα αναλογικά δεδομένα από το μετρητή σε εύρος 0 έως 255, θα χρησιμοποιήσουμε αυτό το εύρος για τον έλεγχο της παρουσίασης LCD

Εάν χρειάζεστε βοήθεια για τη ρύθμιση του μετρητή? Χρησιμοποίησα τον κώδικα από αυτό το χρήσιμο σεμινάριο, οι ακίδες είναι ακριβώς οι ίδιες και θα λειτουργήσουν με τη ρύθμιση LCD στα επόμενα βήματα.

www.toptechboy.com/arduino/lesson-11-arduin…

Βήμα 2: Ρύθμιση της οθόνης LCD

Ρύθμιση της οθόνης LCD
Ρύθμιση της οθόνης LCD

Ρυθμίστε τις καρφίτσες όπως στο παραπάνω παράδειγμα.

Όταν γίνει σωστά, η οθόνη σας θα ανάψει λευκή.

Εάν χρειάζεστε επιπλέον βοήθεια ή θέλετε να χρησιμοποιήσετε κάποιο παράδειγμα κώδικα για να δοκιμάσετε την οθόνη σας, μπορείτε να δείτε το επίσημο σεμινάριο για αυτήν την ενότητα και παραδείγματα κώδικα εδώ

θα χρησιμοποιήσουμε εν μέρει την "σχεδίαση εικόνας από κάρτα SD" στο επόμενο βήμα.

Βήμα 3: Ρύθμιση της παρουσίασης διαφανειών

Ρύθμιση της παρουσίασης διαφανειών
Ρύθμιση της παρουσίασης διαφανειών

Τώρα που έχουμε ρυθμίσει το Potmeter και το LCD, μπορούμε να δημιουργήσουμε μια "παρουσίαση διαφανειών" χρησιμοποιώντας τις χαρτογραφημένες τιμές του potmeter

Χρησιμοποιώντας το εύρος από 0 έως 255 μπορούμε να υποδείξουμε ένα συγκεκριμένο εύρος στο οποίο μπορούμε να ενεργοποιήσουμε το arduino να εμφανίσει κάποιο περιεχόμενο στην οθόνη LCD.

Πρώτο παράδειγμα όπως φαίνεται στην εικόνα:

if (outputValue <51) {// range one if (rangeOne == true) {rangeTwo = true; myScreen.setRotation (90); myScreen.background (0, 0, 0); myScreen.stroke (255, 255, 255); myScreen.text ("Γεια σου υπέροχο", 10, 50); myScreen.text ("περιστροφή της ακίδας> προς", 10, 60); myScreen.text ("λάβετε ενθάρρυνση.", 10, 70); rangeOne = false;

Εάν το μετρητή στρέφεται σε εύρος μικρότερο από 51, η οθόνη με οθόνη (σε κατακόρυφη λειτουργία = περιστροφή 90) λίγο κείμενο.

Για να μπορέσετε να εμφανίσετε μια εικόνα, βεβαιωθείτε ότι η καρφίτσα του SD CS έχει οριστεί σωστά, διαφορετικά το arduino δεν θα αρχίσει να προετοιμάζει το SD (οπότε βεβαιωθείτε ότι έχετε ελέγξει τα καλώδια σας !!)

Εάν θέλετε να ελέγξετε τις καρφίτσες της LCD, μπορείτε να ανατρέξετε στον επίσημο οδηγό uner "σύνδεση της οθόνης"

Ορίζω τον πείρο SD CS ως 4 τώρα, επειδή μπέρδεψα τα καλώδια μου, για παράδειγμα! - Είμαι στην ευχάριστη θέση να μοιραστώ αυτό το μικρό oopsie γιατί θα σας εξοικονομήσει πολύ χρόνο στην αναζήτηση στον ιστό για το σφάλμα "Αποτυχία εκκίνησης". Σε ποια σε κάποια φόρουμ λέγεται ότι η λύση είναι να έχουμε ένα συγκεκριμένο μοντέλο κάρτας SD. Ελέγξτε λοιπόν την καλωδίωση σας πρώτα πριν αγοράσετε νέες κάρτες SD !!

Βήμα 4: Παράδειγμα πλήρους κώδικα

#περιλαμβάνω

#include // Βιβλιοθήκη ειδικού υλικού #include

#define SD_CS 4 #define CS 10 #define DC 9 #define RESET 8

const int analogInPin = A0; // Αναλογική καρφίτσα εισόδου στην οποία είναι προσαρτημένο το ποτενσιόμετρο

int sensorValue = 0; // τιμή που διαβάζεται από το pot int outputValue = 0; // τιμή εξόδου στο εύρος bool PWM (αναλογική έξοδος) OneOne = true; bool rangeTwo = true; bool rangeThree = true; bool rangeFour = true; bool rangeFive = true;

TFT myScreen = TFT (CS, DC, RESET);

Εικόνα εικόνας. const char print [9];

void setup () {Serial.begin (9600); myScreen.begin (); // προσπαθήστε να αποκτήσετε πρόσβαση στην κάρτα SD Serial.print ("Αρχικοποίηση κάρτας SD …"); εάν (! SD.begin (SD_CS)) {Serial.println ("απέτυχε!"); ΕΠΙΣΤΡΟΦΗ; } Serial.println ("ΟΚ!");

// προετοιμάστε και καθαρίστε την οθόνη GLCD myScreen.begin (); myScreen.background (255, 255, 255);

} void loop () {// διαβάστε το ανάλογο σε τιμή: sensorValue = analogRead (analogInPin); // αντιστοιχίστε το στο εύρος του αναλογικού out: outputValue = map (sensorValue, 0, 1023, 0, 255); String stuffToPrint = String (outputValue); // αλλαγή της αναλογικής τιμής εξόδου:

stuffToPrint.toCharArray (εκτύπωση, 9); // στατικό κείμενο myScreen.setTextSize (1);

Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ t έξοδος ="); Serial.println (outputValue);

καθυστέρηση (50)?

if (outputValue to ", 10, 60); myScreen.text (" πάρτε ενθάρρυνση. ", 10, 70); rangeOne = false;}} if (outputValue> 52 && outputValue 102 && outputValue 154 && outputValue <205) { / /range four if (rangeFour == true) {rangeThree = true; rangeFive = true; myScreen.setRotation (90); myScreen.background (255, 255, 255); // διαγραφή της εικόνας οθόνης = myScreen.loadImage ("quote2.bmp "); // γράψτε την εικόνα στην οθόνη; myScreen.text ("από εσάς!", 10, 60); rangeFour = false;}}

if (outputValue> 206 && outputValue

Συνιστάται: