Πίνακας περιεχομένων:
- Βήμα 1: Ρύθμιση του μετρητή στο Arduino
- Βήμα 2: Ρύθμιση της οθόνης LCD
- Βήμα 3: Ρύθμιση της παρουσίασης διαφανειών
- Βήμα 4: Παράδειγμα πλήρους κώδικα
Βίντεο: Επιτραπέζιος οργανωτής με οθόνη LCD: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
** Επεξεργασία **
Για το έργο arduino HKU αποφάσισα να φτιάξω έναν οργανωτή επιφάνειας εργασίας με οθόνη LCD που να εμφανίζει εισαγωγικά για να σας παραλάβει όταν περιστρέφετε το δοχείο σας!
Θα καλύψω τα τεχνικά είδη arduino ως επί το πλείστον, αρκεί να έχετε κάτι σαν ξύλινο κουτί για να κρύψετε το Arduino και την οθόνη LCD στον προσωπικό σας oganisor που θα μπορούσε να πάρει οποιαδήποτε επιθυμητή μορφή.
Τα πράγματα που θα χρειαστείτε
- *arduino uno
- μετρητή κατσαρόλας
- *αρσενικά σύρματα δακτυλογράφησης
- *Μονάδα LCD! Με αναγνώστη καρτών SD! (Πήρα arduino tft LCD)
- *κάρτα micro SD
- *ξύλο (ανακύκλωσα παλιά μίνι συρτάρια και χρησιμοποίησα μερικά ανταλλακτικά ξύλινα μέρη, βεβαιωθείτε ότι μπορείτε τουλάχιστον να σχηματίσετε ένα μικρό κουτί για να κρύψετε το arduino σας!
Βήμα 1: Ρύθμιση του μετρητή στο 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
Ρυθμίστε τις καρφίτσες όπως στο παραπάνω παράδειγμα.
Όταν γίνει σωστά, η οθόνη σας θα ανάψει λευκή.
Εάν χρειάζεστε επιπλέον βοήθεια ή θέλετε να χρησιμοποιήσετε κάποιο παράδειγμα κώδικα για να δοκιμάσετε την οθόνη σας, μπορείτε να δείτε το επίσημο σεμινάριο για αυτήν την ενότητα και παραδείγματα κώδικα εδώ
θα χρησιμοποιήσουμε εν μέρει την "σχεδίαση εικόνας από κάρτα 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
Συνιστάται:
Οθόνη θερμοκρασίας με οθόνη LCD DHT11 και I2C 20x4: 6 βήματα
Παρακολούθηση θερμοκρασίας με DHT11 και I2C 20x4 LCD: Σε αυτό το σεμινάριο θα μάθουμε πώς να φτιάχνουμε μια απλή οθόνη θερμοκρασίας χρησιμοποιώντας έναν αισθητήρα DHT11 και I2C LCDΔείτε το βίντεο
Οθόνη LCD I2C / IIC - Χρήση LCD SPI στην οθόνη LCD I2C Χρήση μονάδας SPI σε IIC με Arduino: 5 βήματα
Οθόνη LCD I2C / IIC | Χρησιμοποιήστε μια οθόνη SPI στην οθόνη I2C LCD χρησιμοποιώντας μονάδα SPI σε IIC με Arduino: Γεια σας παιδιά, καθώς ένα κανονικό SPI LCD 1602 έχει πάρα πολλά καλώδια για να συνδεθεί, οπότε είναι πολύ δύσκολο να το διασυνδέσετε με το arduino, αλλά υπάρχει μια μονάδα διαθέσιμη στην αγορά που μπορεί μετατρέψτε την οθόνη SPI σε οθόνη IIC, οπότε πρέπει να συνδέσετε μόνο 4 καλώδια
Οθόνη LCD I2C / IIC - Μετατρέψτε μια οθόνη SPI LCD στην οθόνη LCD I2C: 5 βήματα
Οθόνη LCD I2C / IIC | Μετατρέψτε ένα SPI LCD σε οθόνη I2C LCD: η χρήση της οθόνης spi LCD χρειάζεται πάρα πολλές συνδέσεις για να γίνει κάτι που είναι πραγματικά δύσκολο να το κάνω, έτσι βρήκα μια μονάδα που μπορεί να μετατρέψει το i2c LCD σε spi LCD οπότε ας ξεκινήσουμε
Οθόνη θερμοκρασίας και επιπέδου φωτός με οθόνη στην οθόνη NOKIA 5110: 4 βήματα
Οθόνη θερμοκρασίας και φωτός με οθόνη στην οθόνη NOKIA 5110: Γεια σε όλους! Σε αυτήν την ενότητα κατασκευάζουμε απλή ηλεκτρονική συσκευή για την παρακολούθηση της θερμοκρασίας και του επιπέδου φωτός. Οι μετρήσεις αυτών των παραμέτρων εμφανίζονται στην οθόνη LCD NOKIA 5110. Η συσκευή βασίζεται στον μικροελεγκτή AVR ATMEGA328P. Η παρακολούθηση
Εικονικός οργανωτής Κωδικός: Αποκορύφωμα εργασίας (Vanessa): 10 βήματα
Virtual Organizer Code: Culminating Task (Vanessa): Στον κωδικό μου, δημιούργησα έναν εικονικό οργανωτή που θα υπολογίζει τους βαθμούς και θα επιτρέπει στον χρήστη να γράφει σε εκδηλώσεις για κάθε ημέρα της εβδομάδας. Ο κωδικός είναι μόνο για επίδειξη