Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Γεια σας παιδιά σε αυτό το εκπαιδευτικό εγχειρίδιο θα φτιάξουμε μια αριθμομηχανή χρησιμοποιώντας το Arduino που μπορεί να κάνει βασικούς υπολογισμούς. Ουσιαστικά θα λάβουμε είσοδο από το πληκτρολόγιο 4x4 και θα εκτυπώσουμε τα δεδομένα σε οθόνη LCD 16x2 και το arduino θα κάνει τους υπολογισμούς.
Βήμα 1: Πράγματα που χρειάζεστε
Για αυτές τις οδηγίες, θα χρειαστούμε τα ακόλουθα πράγματα: Arduino Uno (Οποιαδήποτε έκδοση θα λειτουργήσει)
Οθόνη LCD 16 × 2
4 × 4 Πληκτρολόγιο 9V BatteryBreadboardΣύνδεση καλωδίων
Βήμα 2: Συνδέσεις
Το πλήρες διάγραμμα κυκλώματος αυτού του έργου αριθμομηχανής Arduino δίνεται παραπάνω. Η σύνδεση +5V και γείωσης που φαίνεται στο διάγραμμα κυκλώματος μπορεί να ληφθεί από την 5V και τον πείρο γείωσης του Arduino. Το ίδιο το Arduino μπορεί να τροφοδοτηθεί από το φορητό υπολογιστή σας ή μέσω της υποδοχής DC χρησιμοποιώντας προσαρμογέα 12V ή μπαταρία 9V. Λειτουργούμε την οθόνη LCD σε λειτουργία 4-bit με το Arduino, ώστε να συνδέονται μόνο τα τέσσερα τελευταία τεμάχια δεδομένων της οθόνης LCD με το Arduino. Το πληκτρολόγιο θα έχει 8 ακίδες εξόδου οι οποίες πρέπει να συνδεθούν από τον ακροδέκτη 0 έως τον ακροδέκτη 7, όπως φαίνεται παραπάνω. Ορισμένοι πίνακες Arduino ενδέχεται να εμφανίσουν σφάλμα κατά τη μεταφόρτωση του προγράμματος, εάν υπάρχει κάτι συνδεδεμένο με τον ακροδέκτη 0 και τον pin1, οπότε αν αντιμετωπίσετε κάποια απλή κατάργηση το πληκτρολόγιο κατά τη μεταφόρτωση του προγράμματος.
Βήμα 3: Κωδικός
Αντιγράψτε τον ακόλουθο κώδικα και ανεβάστε σε αυτό το arduino σας:/ * * Πρόγραμμα υπολογισμού πληκτρολογίου Arduino */#περιλαμβάνει "LiquidCrystal.h" // Αρχείο κεφαλίδας για LCD από τη διεύθυνση https://www.arduino.cc/en/Reference/LiquidCrystal# περιλαμβάνουν "Keypad.h" // Αρχείο κεφαλίδας για πληκτρολόγιο από https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Τέσσερις γραμμέςconst byte COLS = 4; // Τρεις στήλες // Ορίστε τα πλήκτρα πληκτρολογίου [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Συνδέστε το πληκτρολόγιο ROW0, ROW1, ROW2 και ROW3 σε αυτές τις ακίδες Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Συνδέστε το πληκτρολόγιο COL0, COL1 και COL2 σε αυτές τις καρφίτσες Arduino. Keypad kpd = Πληκτρολόγιο (makeKeymap (κλειδιά), rowPins, colPins, ROWS, COLS). // Δημιουργήστε το Πληκτρολόγιο int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Καρφίτσες στις οποίες είναι συνδεδεμένη LCDLiquidCrystal LCD (rs, en, d4, d5, d6, d7) μακρύ Num1, Num2, Number? κλειδί char, δράση. boolean result = false; void setup () {lcd.begin (16, 2); // Χρησιμοποιούμε LCD οθόνη LCD 16*2 lcd.print ("DIY Calculator"). // Εμφάνιση μηνύματος εισαγωγής lcd.setCursor (0, 1); // ορίστε τον κέρσορα στη στήλη 0, γραμμή 1 καθυστέρηση (2000). // Περιμένετε μέχρι η οθόνη να εμφανίσει πληροφορίες lcd.clear (); // Στη συνέχεια, καθαρίστε το} void loop () {key = kpd.getKey (); // αποθήκευση τιμής πατημένου κλειδιού σε ένα charif (κλειδί! = NO_KEY) DetectButtons (); εάν (αποτέλεσμα == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Στη συνέχεια, καθαρίστε το εάν (πλήκτρο == '*') // Εάν το κουμπί ακύρωσης πατηθεί {Serial.println ("Button Cancel"); Αριθμός = Num1 = Num2 = 0; result = false;} if (key == '1') // If the Button 1 is pressed {Serial.println ("Button 1"); αν (Αριθμός == 0) Αριθμός = 1? else Αριθμός = (Αριθμός*10) + 1; // Πιέστηκε δύο φορές} εάν (πλήκτρο == '4') // Εάν πατηθεί το κουμπί 4 {Serial.println ("Κουμπί 4"); αν (Αριθμός == 0) Αριθμός = 4? else Αριθμός = (Αριθμός*10) + 4; // Πιέστηκε δύο φορές} εάν (πλήκτρο == '7') // Εάν πατηθεί το κουμπί 7 {Serial.println ("Κουμπί 7"); αν (Αριθμός == 0) Αριθμός = 7? else Αριθμός = (Αριθμός*10) + 7; // Πιέστηκε δύο φορές} if (key == '0') {Serial.println ("Button 0"); // Το κουμπί 0 πιέζεται εάν (Αριθμός == 0) Αριθμός = 0; else Αριθμός = (Αριθμός*10) + 0; // Πιέστηκε δύο φορές} εάν (πλήκτρο == '2') // Πιέζεται το κουμπί 2 {Serial.println ("Κουμπί 2"); εάν (Αριθμός == 0) Αριθμός = 2; else Αριθμός = (Αριθμός*10) + 2; // Πιέστηκε δύο φορές} if (key == '5') {Serial.println ("Button 5"); αν (Αριθμός == 0) Αριθμός = 5? else Αριθμός = (Αριθμός*10) + 5; // Πιέστηκε δύο φορές} if (key == '8') {Serial.println ("Button 8"); αν (Αριθμός == 0) Αριθμός = 8? else Αριθμός = (Αριθμός*10) + 8; // Πιέστηκε δύο φορές} if (key == '#') {Serial.println ("Button Equal"); Num2 = αριθμός. αποτέλεσμα = αλήθεια? } if (key == '3') {Serial.println ("Button 3"); αν (Αριθμός == 0) Αριθμός = 3? else Αριθμός = (Αριθμός*10) + 3; // Πιέστηκε δύο φορές} if (key == '6') {Serial.println ("Button 6"); αν (Αριθμός == 0) Αριθμός = 6? else Αριθμός = (Αριθμός*10) + 6; // Πιέστηκε δύο φορές} if (key == '9') {Serial.println ("Button 9"); αν (Αριθμός == 0) Αριθμός = 9? else Αριθμός = (Αριθμός*10) + 9; // Πιέστηκε δύο φορές} if (πλήκτρο == 'A' || πλήκτρο == 'B' || πλήκτρο == 'C' || πλήκτρο == 'D') // Ανίχνευση κουμπιών στη στήλη 4 {Num1 = Number; Αριθμός = 0; if (key == 'A') {Serial.println ("Addition"); action = '+';} if (key == 'B') {Serial.println ("Αφαίρεση"); δράση = '-'; } if (key == 'C') {Serial.println ("Πολλαπλασιασμός"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); δράση = '/';} καθυστέρηση (100); }}
void CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // ορίστε τον κέρσορα στη στήλη 0, γραμμή 1 lcd.print (Num1); lcd.print (δράση); lcd.print (Num2); if (αποτέλεσμα == true) {lcd.print ("="); lcd.print (Number);} // Εμφάνιση του αποτελέσματος lcd.setCursor (0, 1); // ορίστε τον κέρσορα στη στήλη 0, γραμμή 1 lcd.print (Number); // Εμφάνιση του αποτελέσματος}
Βήμα 4: Έξοδος αριθμομηχανής
Έτσι ολοκληρώσαμε τις συνδέσεις και ανεβάσαμε τον κώδικα στο arduino και ήρθε η ώρα να συνδέσουμε την τροφοδοσία και να κάνουμε κάποιους υπολογισμούς και όπως βλέπετε κάνω υπολογισμούς με το πληκτρολόγιο και μπορείτε να δείτε τα αποτελέσματα στο LCD. Διασκεδάστε λοιπόν φτιάχνοντας τη δική σας diy αριθμομηχανή χρησιμοποιώντας arduino.