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

Υπολογιστής LCD από Jai Mishra: 8 βήματα
Υπολογιστής LCD από Jai Mishra: 8 βήματα

Βίντεο: Υπολογιστής LCD από Jai Mishra: 8 βήματα

Βίντεο: Υπολογιστής LCD από Jai Mishra: 8 βήματα
Βίντεο: How To Slove Laptop Screen Problem | Laptop Screen Colour Problem | How to Fix It👍👍👍 2024, Νοέμβριος
Anonim
Υπολογιστής LCD από τον Jai Mishra
Υπολογιστής LCD από τον Jai Mishra

Έργα Tinkercad »

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

Προμήθειες

  • Arduino Uno R3
  • Αντίσταση 220 Ohms
  • Πληκτρολόγιο 4*4
  • LCD 16*2
  • Δέσμη καλωδίων για σύνδεση του κυκλώματος

Βήμα 1: Συγκεντρώστε τα αναλώσιμά σας στο TinkerCad

Συγκεντρώστε τα αναλώσιμά σας στο TinkerCad
Συγκεντρώστε τα αναλώσιμά σας στο TinkerCad

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

Βήμα 2: Τακτοποιήστε τα αναλώσιμά σας

Τακτοποιήστε τις προμήθειές σας
Τακτοποιήστε τις προμήθειές σας

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

Βήμα 3: Σύνδεση των καλωδίων

Σύνδεση των καλωδίων
Σύνδεση των καλωδίων

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

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

Βήμα 4: Γράφοντας τον Κώδικα

Γράφοντας τον Κώδικα
Γράφοντας τον Κώδικα
Γράφοντας τον Κώδικα
Γράφοντας τον Κώδικα
Γράφοντας τον Κώδικα
Γράφοντας τον Κώδικα

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

#συμπεριλάβω #συμπεριλάβω

LiquidCrystal LCD (13, 12, 11, 10, 9, 8);

μακρύ πρώτο = 0; μακρύ δευτερόλεπτο = 0; διπλό σύνολο = 0;

char customKey; const byte ROWS = 4; const byte COLS = 4;

πλήκτρα char [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; byte rowPins [ROWS] = {7, 6, 5, 4}; // σύνδεση με τα pinout των γραμμών των byte πληκτρολογίου colPins [COLS] = {3, 2, 1, 0}; // σύνδεση με τα pinouts στηλών του πληκτρολογίου

// αρχικοποίηση μιας παρουσίας κλάσης NewKeypad Keypad customKeypad = Πληκτρολόγιο (makeKeymap (κλειδιά), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // έναρξη lcd για (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Υπολογιστής"); lcd.setCursor (0, 1); lcd.print ("By Jai Mishra"); καθυστέρηση (4000)? lcd.clear (); lcd.print ("Τελικό έργο"); καθυστέρηση (2500)? lcd.clear (); lcd.setCursor (0, 0); }

void loop () {

customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // Αυτό συνεχίζει να συλλέγει την πρώτη τιμή μέχρι να πατηθεί ένας τελεστής "+-*/" lcd.setCursor (0, 0); πρώτο = πρώτο * 10 + (customKey - '0'); lcd.print (πρώτο); Διακοπή;

περίπτωση '+': πρώτο = (σύνολο! = 0? σύνολο: πρώτο); lcd.setCursor (0, 1); lcd.print ("+"); δεύτερο = SecondNumber (); // πάρτε τα συλλεγμένα τον δεύτερο αριθμό σύνολο = πρώτο + δεύτερο? lcd.setCursor (0, 3); lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; // επαναφέρετε τις τιμές στο μηδέν για την επόμενη διακοπή χρήσης.

περίπτωση '-': πρώτη = (σύνολο! = 0? σύνολο: πρώτη); lcd.setCursor (0, 1); lcd.print ("-"); δεύτερο = SecondNumber (); σύνολο = πρώτο - δεύτερο? lcd.setCursor (0, 3); lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; Διακοπή;

περίπτωση '*': πρώτη = (σύνολο! = 0? σύνολο: πρώτη); lcd.setCursor (0, 1); lcd.print ("*"); δεύτερο = SecondNumber (); σύνολο = πρώτο * δεύτερο? lcd.setCursor (0, 3); lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; Διακοπή;

περίπτωση '/': πρώτη = (σύνολο! = 0? σύνολο: πρώτη); lcd.setCursor (0, 1); lcd.print ("/"); δεύτερο = SecondNumber (); lcd.setCursor (0, 3);

δεύτερο == 0; lcd.print ("Invalid"): total = (float) first / (float) second;

lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; Διακοπή;

περίπτωση 'C': σύνολο = 0; lcd.clear (); Διακοπή; }}

long SecondNumber () {while (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {second = second * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (δεύτερο); }

if (customKey == '=') break; // επιστροφή δεύτερου? } επιστροφή δεύτερη? }

Βήμα 5: Ανάλυση του κώδικα

Καταρρίπτοντας τον Κώδικα
Καταρρίπτοντας τον Κώδικα

Αρχικοποιήσαμε τις τιμές που πρέπει να κατανοήσει ο υπολογιστής

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

#συμπεριλάβω #συμπεριλάβω

LiquidCrystal LCD (13, 12, 11, 10, 9, 8);

μακρύ πρώτο = 0; μακρύ δευτερόλεπτο = 0; διπλό σύνολο = 0;

char customKey; const byte ROWS = 4; const byte COLS = 4;

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

πλήκτρα char [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};

Οριστικοποιήσαμε τις γραμμές και τις στήλες του πληκτρολογίου και ποιος αριθμός σε ποια στήλη, κ.λπ

byte rowPins [ROWS] = {7, 6, 5, 4}; byte colPins [COLS] = {3, 2, 1, 0};

Δημιουργήσαμε την εισαγωγή, ή το power on screen για τον υπολογιστή (Μπορείτε να γράψετε το δικό σας όνομα σε αυτό)

void setup () {lcd.begin (16, 2); για (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Υπολογιστής"); lcd.setCursor (0, 1); lcd.print ("By Jai Mishra"); καθυστέρηση (4000)? lcd.clear (); lcd.print ("Τελικό έργο"); καθυστέρηση (2500)? lcd.clear (); lcd.setCursor (0, 0); }

Δημιουργούμε το νόημα και τον τύπο για κάθε λειτουργία στην αριθμομηχανή, ώστε ο υπολογιστής να καταλάβει τι τύπο να χρησιμοποιήσει όταν ο χρήστης πατήσει "+" στην αριθμομηχανή κ.λπ

{case '0'… '9': lcd.setCursor (0, 0); πρώτο = πρώτο * 10 + (customKey - '0'); lcd.print (πρώτο); Διακοπή;

περίπτωση '/': πρώτη = (σύνολο! = 0? σύνολο: πρώτη); lcd.setCursor (0, 1); lcd.print ("/"); δεύτερο = SecondNumber (); lcd.setCursor (0, 3);

δεύτερο == 0; lcd.print ("Invalid"): total = (float) first / (float) second;

lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; Διακοπή; περίπτωση '+': πρώτο = (σύνολο! = 0? σύνολο: πρώτο); lcd.setCursor (0, 1); lcd.print ("+"); δεύτερο = SecondNumber (); lcd.setCursor (0, 3); lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; Διακοπή;

περίπτωση '-': πρώτο = (σύνολο! = 0? σύνολο: πρώτο); lcd.setCursor (0, 1); lcd.print ("-"); δεύτερο = SecondNumber (); σύνολο = πρώτο - δεύτερο? lcd.setCursor (0, 3); lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; Διακοπή;

περίπτωση '*': πρώτη = (σύνολο! = 0? σύνολο: πρώτη); lcd.setCursor (0, 1); lcd.print ("*"); δεύτερο = SecondNumber (); σύνολο = πρώτο * δεύτερο? lcd.setCursor (0, 3); lcd.print (σύνολο); πρώτο = 0, δεύτερο = 0; Διακοπή;

περίπτωση 'C': σύνολο = 0; lcd.clear (); Διακοπή; }}

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

Βήμα 6: Πώς λειτουργεί το υλικό αυτού του υπολογιστή;

Πώς λειτουργεί το υλικό αυτού του υπολογιστή
Πώς λειτουργεί το υλικό αυτού του υπολογιστή

Αυτός ο υπολογιστής χρησιμοποιεί LCD οθόνη, πληκτρολόγιο, πλακέτα Arduino και αντίσταση 220 ohm. Όλα αυτά τα εξαρτήματα είναι ξεχωριστά αλλά συνδέονται με τα καλώδια από το Arduino στο πληκτρολόγιο και την οθόνη LCD. Διαφορετικά τμήματα της οθόνης LCD συνδέονται με την πλακέτα Arduino, η οποία τελικά συνδέει και τα δύο με το πληκτρολόγιο. Μετά τη σύνδεση, η κωδικοποίηση κάνει όλη τη δουλειά και δίνει σε κάθε λειτουργία και κουμπί στο πληκτρολόγιο μια εργασία που πρέπει να ακολουθήσει.

Βήμα 7: Πλήρης προεπισκόπηση της Αριθμομηχανής

Έτσι φαίνεται το τελευταίο μας έργο! Εάν ο κωδικός σας δεν λειτουργεί ή υπάρχουν κάποιες τεχνικές δυσκολίες, στείλτε μου email και θα προσπαθήσω να σας βοηθήσω να δημιουργήσετε την καλύτερη αριθμομηχανή!

Βήμα 8: Η έμπνευσή μου για αυτόν τον κώδικα

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

Συνιστάται: