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

Υπολογιστής Διαγωνισμός TinkerCad: 8 Βήματα
Υπολογιστής Διαγωνισμός TinkerCad: 8 Βήματα

Βίντεο: Υπολογιστής Διαγωνισμός TinkerCad: 8 Βήματα

Βίντεο: Υπολογιστής Διαγωνισμός TinkerCad: 8 Βήματα
Βίντεο: TinkerCad Arduino Greek - Μάθημα 12ο. Έλεγχος LCD 16X2 με κώδικα 2024, Νοέμβριος
Anonim
Υπολογιστής Διαγωνισμός TinkerCad
Υπολογιστής Διαγωνισμός TinkerCad

Γεια, τόσο πρόσφατα εξερευνούσα πώς να εφαρμόσω διαφορετικούς τύπους κώδικα σε ένα κύκλωμα. Διαπίστωσα ότι η κατασκευή μιας αριθμομηχανής θα ήταν ένας πολύ καλός τρόπος για την εφαρμογή της "υπόθεσης" και άλλων μορφών κώδικα που είχα βρει ενδιαφέρον. Στο παρελθόν έκανα αριθμομηχανές απευθείας από κώδικα, αλλά το να κάνω ένα κύκλωμα γι 'αυτό μου έδωσε ενδιαφέρον. Ειδικά αυτήν την περίοδο καραντίνας όπου βρίσκομαι στον υπολογιστή μου σχεδόν όλη την ημέρα. Το έργο πρόκειται να υλοποιήσει μαθηματικές πράξεις σε οθόνη LCD.

Βήμα 1: Υλικά

Για κύκλωμα:

  • LCD 16 x 2
  • Arduino Uno R3
  • Πληκτρολόγιο 4x4
  • Μικρό Breadboard
  • Ποτενσιόμετρο (250 kΩ)
  • Αντίσταση (1kΩ)
  • x26 Καλώδια βραχυκυκλωτήρων

Βήμα 2: Σύνδεση του πληκτρολογίου 4x4

Σύνδεση του πληκτρολογίου 4x4
Σύνδεση του πληκτρολογίου 4x4

Συνδέστε τις καρφίτσες 4 σειρών στο πληκτρολόγιο 4x4 με τις καρφίτσες Arduino 4-7 και συνδέστε τις 4 καρφίτσες στήλης με τις καρφίτσες Arduino 0-3.

Βήμα 3: Παροχή ενέργειας στο Breadboard και σύνδεση LCD

Παρέχετε τροφοδοσία στο Breadboard και συνδέστε την οθόνη LCD
Παρέχετε τροφοδοσία στο Breadboard και συνδέστε την οθόνη LCD

Χρησιμοποίησα τάση ισχύος 5 για το breadboard. Συνδέω το ρεύμα και τη γείωση στο breadboard. Η οθόνη LCD τοποθετείται στο breadboard και τοποθετείται έτσι ώστε όλες οι καρφίτσες της να συνδεθούν με το breadboard.

Βήμα 4: Συνδέστε το Power and Ground με την οθόνη LCD

Συνδέστε το Power and Ground στην οθόνη LCD
Συνδέστε το Power and Ground στην οθόνη LCD

Θα χρειαστούν 3 ακίδες γείωσης για να συνδεθούν στην οθόνη LCD. Το ένα θα είναι συνδεδεμένο με τη γείωση από μόνο του, το LCD, ένα άλλο θα είναι συνδεδεμένο με το LED της LCD και το τελευταίο θα είναι συνδεδεμένο με το RW. Το VCC της οθόνης LCD και το led απαιτούν τροφοδοσία για σύνδεση. Ωστόσο, η ισχύς για το LED θα απαιτήσει μια αντίσταση συνδεδεμένη σε αυτήν την περίπτωση χρησιμοποίησα αντίσταση 1kΩ.

Βήμα 5: Σύνδεση του Ποτενσιόμετρου

Σύνδεση του Ποτενσιόμετρου
Σύνδεση του Ποτενσιόμετρου

Συνδέστε το ποτενσιόμετρο στο ψωμί με 3 δωρεάν στήλες. Θα έχει 3 ακίδες, η στήλη που περιέχει το τερματικό 1 ακίδα θα χρειαστεί να του δοθεί γείωση. Η στήλη που περιέχει τον ακροδέκτη 2 ακίδων θα χρειαστεί να του δοθεί ισχύς. Στη συνέχεια, ο υαλοκαθαριστήρας θα έχει ένα καλώδιο βραχυκυκλωτή στη στήλη του που συνδέεται με VO της οθόνης LCD.

Βήμα 6: Σύνδεση του Arduino με την οθόνη LCD

Σύνδεση του Arduino με την οθόνη LCD
Σύνδεση του Arduino με την οθόνη LCD

Οι ακίδες 8-13 στο Arduino θα συνδεθούν στην οθόνη LCD. Οι ακίδες 8-11 στο Arduino θα συνδεθούν στο D8 (7-4) αντίστοιχα. Στη συνέχεια, το pin 12 του Arduino θα συνδεθεί με το Enable of the LCD και το pin 13 στο Arduino θα συνδεθεί με το μητρώο της LCD.

Βήμα 7: Κώδικας εφαρμογής

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

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

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

μακρύ πρώτο = 0;

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

διπλό σύνολο = 0;

int posit = 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};

Πληκτρολόγιο customKeypad = Πληκτρολόγιο (makeKeymap (κλειδιά), rowPins, colPins, ROWS, COLS);

void setup () {

lcd. αρχή (16, 2);

lcd.setCursor (5, 0);

lcd.clear (); }

void loop () {

customKey = customKeypad.getKey ();

switch (customKey) {

θήκη '0' … '9':

lcd.setCursor (0, 0);

πρώτο = πρώτο * 10 + (customKey - '0');

lcd.print (πρώτο);

θέτω ++;

Διακοπή;

περίπτωση '+':

πρώτο = (σύνολο! = 0? σύνολο: πρώτο);

lcd.setCursor (θέση, 0);

lcd.print ("+");

θέτω ++;

δεύτερο = SecondNumber ();

σύνολο = πρώτο + δεύτερο?

lcd.setCursor (1, 1);

lcd.print (σύνολο);

πρώτο = 0, δεύτερο = 0;

posit = 0;

Διακοπή;

υπόθεση '-':

πρώτο = (σύνολο! = 0? σύνολο: πρώτο);

lcd.setCursor (θέση, 0);

lcd.print ("-");

θέτω ++;

δεύτερο = SecondNumber ();

σύνολο = πρώτο - δεύτερο?

lcd.setCursor (1, 1);

lcd.print (σύνολο);

πρώτο = 0, δεύτερο = 0;

posit = 0;

Διακοπή;

υπόθεση '*':

πρώτο = (σύνολο! = 0? σύνολο: πρώτο);

lcd.setCursor (θέση, 0);

lcd.print ("*");

θέτω ++;

δεύτερο = SecondNumber ();

σύνολο = πρώτο * δεύτερο?

lcd.setCursor (1, 1);

lcd.print (σύνολο);

πρώτο = 0, δεύτερο = 0;

posit = 0;

Διακοπή;

υπόθεση '/':

πρώτο = (σύνολο! = 0? σύνολο: πρώτο);

lcd.setCursor (θέση, 0);

lcd.print ("/");

θέτω ++;

δεύτερο = SecondNumber (); lcd.setCursor (1, 1);

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

lcd.print (σύνολο);

πρώτο = 0, δεύτερο = 0;

posit = 0;

Διακοπή;

περίπτωση «Γ»:

σύνολο = 0;

πρώτο = 0;

δεύτερο = 0;

posit = 0;

lcd.clear ();

Διακοπή; }

}

long SecondNumber () {

ενώ (1) {

customKey = customKeypad.getKey ();

if (customKey> = '0' && customKey <= '9') {

δεύτερο = δεύτερο * 10 + (customKey - '0');

lcd.setCursor (θέση, 0);

lcd.print (δεύτερο); }

if (customKey == 'C') {

σύνολο = 0;

πρώτο = 0;

δεύτερο = 0;

posit = 0;

lcd.clear ();

Διακοπή; }

if (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

posit = σύνολο?

lcd.clear ();

lcd.setCursor (0, 1);

lcd.print ("=");

Διακοπή; }

}

επιστροφή δεύτερη;}

Βήμα 8: Αποτέλεσμα

Αποτέλεσμα
Αποτέλεσμα
Αποτέλεσμα
Αποτέλεσμα

Ελπίζω να απολαύσατε όλοι αυτό το διδακτικό. Ευχαριστούμε που το διαβάσατε!

Σαΐμ.

Συνιστάται: