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

Επίλυση τετραγωνικής εξίσωσης 2 κουμπιών: 5 βήματα
Επίλυση τετραγωνικής εξίσωσης 2 κουμπιών: 5 βήματα

Βίντεο: Επίλυση τετραγωνικής εξίσωσης 2 κουμπιών: 5 βήματα

Βίντεο: Επίλυση τετραγωνικής εξίσωσης 2 κουμπιών: 5 βήματα
Βίντεο: Algebra II: Quadratic Equations - Factoring (Level 5 of 10) | Trinomials II 2024, Ιούλιος
Anonim
Image
Image

Εισαγωγή

καλώς ήρθατε στο πρώτο μου διδακτικό!

Ξεκίνησα αυτό το έργο για να επεκτείνω τις γνώσεις προγραμματισμού. Συχνά, απλώς συγχωνεύετε διαφορετικό πηγαίο κώδικα για να δημιουργήσετε το πρόγραμμα που χρειάζεστε. Ο στόχος μου ήταν να γράψω τον δικό μου κωδικό προγράμματος για αλληλεπίδραση με ένα εργαλείο. Μου άρεσε να δημιουργώ ένα απλό εργαλείο υπολογισμού. Πριν από κάποιο μήνα, υποστήριξα έναν φίλο μου για να λύσει την τετραγωνική εξίσωση.

Μπαζίνγκα! αυτή είναι η περίπτωση χρήσης!

Ξαναχρησιμοποίησα ένα παλιό μεταλλικό κουτί. Προτίμησα τη μινιμαλιστική εμφάνιση και διεπαφή εργαλείων. Αυτός είναι ο λόγος για τον οποίο θέλω απλώς να χρησιμοποιήσω 2 κουμπιά για την εισαγωγή εισόδου. Η διεκδίκηση θα εμφανίζεται με μια απλή οθόνη LCD.

Προμήθειες

λίστα υλικών:

κουτί

2 κουμπιά Στυλ Arcade

Arduino Nano ή παρόμοιο

Οθόνη LCD 1602 με προσαρμογέα I2C

διακόπτης έναρξης / λήξης

καλώδια

2x αντίσταση 10k Ohm

μπλοκ μπαταρίας 9v

υποδοχή για μπαταρία 9V

σανίδα ψωμιού

διάφορα (κομμάτι ξύλου, μεταλλική γωνία, δεσμοί καλωδίων, βίδα, ροδέλες)

εργαλεία:

είδε

συγκολλητικό σίδερο

μηχάνημα διάτρησης

υπολογιστή για προγραμματισμό

Βήμα 1: Μαθηματικό υπόβαθρο

Λογισμικό
Λογισμικό

Μαθηματικό backround

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

Υπάρχουν διάφοροι τρόποι υπολογισμού αυτών των τιμών. Για το εργαλείο μου, χρησιμοποιώ τον τύπο PQ (δεν είμαι σίγουρος αν αυτή η έκφραση θα χρησιμοποιηθεί σε όλο τον κόσμο).

Μια τετραγωνική εξίσωση έχει τη μορφή:

ax²+bx+c = 0

Για να υπολογίσετε τα σημεία διέλευσης, διαιρέστε τη φόρμα με x²+px+q = 0 με p = b/a. q = c/a

ο τύπος PQ:

x1 = -p/2 + sqrt ((p/2) -q)

x2 = -p/2 -sqrt ((p/2) -q)

Το αποτέλεσμα x μπορεί να πάρει 0, 1 ή 2 τιμές. Αυτό εξαρτάται από την τιμή κάτω από την τετραγωνική ρίζα.

Είναι η τιμή> 0, τότε ο τύπος PQ έχει δύο λύσεις.

Είναι η τιμή = 0, τότε ο τύπος PQ έχει μία λύση

είναι η τιμή <0, τότε ο τύπος PQ δεν έχει λύση. Η λειτουργία δεν διασχίζει τον άξονα Χ.

Βήμα 2: Λογισμικό

Λογισμικό

Για προγραμματισμό χρησιμοποίησα το επίσημο Arduino IDE. Ο στόχος μου ήταν να δημιουργήσω το δικό μου πρόγραμμα λογισμικού. Η διεπαφή μου πρέπει να έχει δύο κουμπιά. Ένα κουμπί για εναλλαγή μεταξύ διαφορετικών επιπέδων, το δεύτερο κουμπί για αλλαγή των τιμών στα διαφορετικά επίπεδα.

Για να λύσω τον τύπο PQ, δημιουργώ την παραπάνω δομή:

Σίγουρα, δεν ξαναβρίσκω τον τροχό. Για τη δημιουργία του κώδικα, χρησιμοποίησα τη μονάδα:

- αποκήρυξη

- απεικόνιση

Τα ακόλουθα σημεία ήταν οι μεγαλύτερες προκλήσεις:

- Πώς μπορώ να επιλέξω την πινακίδα; Έλυσα αυτήν την πρόκληση με τη συνάρτηση modulo (σύνδεσμος). Ο κωδικός διαιρεί την είσοδο με 2. Είναι η είσοδος μονός αριθμός, η τιμή γίνεται αρνητική, αλλιώς ο αριθμός είναι θετικός.

- Αφού περάσω από όλα τα επίπεδα, πρέπει να δηλώσω όλες τις τιμές στο 0.

- Το εμφανιζόμενο κείμενο απλώς διαγράφει τους χαρακτήρες αποστολής. Εάν οι κωδικοί στείλουν μια λέξη με 4 χαρακτήρες, θα φορτωθούν ξανά μόνο αυτοί οι 4 χαρακτήρες. Εάν η λέξη πριν είχε περισσότερους χαρακτήρες, οι χαρακτήρες θα παραμείνουν. Για να το διορθώσετε, το εμφανιζόμενο κείμενο θα γεμίσει με κενά. Και οι 16 χαρακτήρες στη σειρά θα φορτωθούν ξανά.

Επισυνάπτεται ο τελικός κωδικός.

Βήμα 3: Υλικό

Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα

Σκεύη, εξαρτήματα

Τα μέρη παρατίθενται παραπάνω. Για αυτό το έργο, το υλικό είναι απλό. Χρειάζομαι απλώς έναν μικροεπεξεργαστή Arduino, 2 κουμπιά και μια οθόνη. Εντάξει, αν σας αρέσει να τοποθετείτε ένα κουτί, χρειάζεστε επίσης ένα κουτί και τροφοδοτικό.

Ξαναχρησιμοποιώ ένα παλιό μεταλλικό κουτί. Άνοιξα μια τρύπα στο κουμπί για την πρίζα του διακόπτη για παροχή ρεύματος. Το κάλυμμα του κουτιού έχει 3 τρύπες. Άνοιξα δύο τρύπες για τα μεγάλα κουμπιά και έκοψα ένα παράθυρο για την οθόνη. Κολλάω ένα μικρό κομμάτι ξύλου πίσω από το κάλυμμα για να έχω περισσότερα πράγματα για να φτιάξω την οθόνη και τα κουμπιά. Για να αναβαθμίσετε την εμφάνιση, το κουτί πήρε αυτοκόλλητα.

Για τροφοδοσία, συνιστώ επαναφορτιζόμενες μπαταρίες μπλοκ 9V. Συνδέω την μπαταρία μέσω του διακόπτη τροφοδοσίας στο Arduino. Η μπαταρία είναι στερεωμένη στο κουτί με μικρή μεταλλική γωνία. Ο σύνδεσμος για την μπαταρία στερεώνεται μόνο με συνδέσμους καλωδίων.

Ο μικροεπεξεργαστής είναι ένας κλώνος ενός Arduino nano. Για αυτήν την περίπτωση χρήσης, η απόδοση είναι επαρκής. Ένα Attiny 85, για παράδειγμα ένας μικροεπεξεργαστής Digispark, απορρίφθηκε. Το Arduino είναι "επιβιβαζόμενο με ψωμί" δίπλα στην οθόνη.

Η οθόνη είναι 1602 LCD. μπορείτε να χρησιμοποιήσετε 16 χαρακτήρες σε δύο σειρές. Μπορείτε να βρείτε αυτήν την οθόνη σε πολλά διαφορετικά μηχανήματα και εργαλεία. Υπάρχουν δύο διαφορετικοί τρόποι χρήσης αυτής της οθόνης. Μπορείτε να συνδέσετε την οθόνη απευθείας στο χειριστήριο ή μπορείτε να χρησιμοποιήσετε ένα πρόσθετο για επικοινωνία με την οθόνη μέσω I2C. Το I2C είναι ένα τυπικό πρωτόκολλο. Το χρησιμοποίησα, επειδή είναι ευκολότερο να συνδέσετε την οθόνη στο χειριστήριο. Χρειάζεστε μόνο 4 καλώδια αντί για 16, VCC σε 5V, GND σε GND, SDA σε A4, SCL σε A5. Η οθόνη στερεώνεται με βίδες στο κάλυμμα του κουτιού.

Τα κουμπιά είναι τεράστια! έχουν το τυπικό στυλ παιχνιδιού arcade. Μου αρέσει! Τα κουμπιά είναι συνδεδεμένα με τον ψηφιακό ακροδέκτη 4 και 7. Μην ξεχνάτε τις 10K Resistors!

Για να ανοίξω το κάλυμμα, για παράδειγμα για να ανταλλάξω την μπαταρία, χρησιμοποίησα μακρύτερα καλώδια συνδεδεμένα στην σανίδα ψωμιού.

Βήμα 4: Καλωδίωση

Καλωδίωση
Καλωδίωση

Βήμα 5: Μελλοντική βελτίωση

Μελλοντική Βελτίωση

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

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

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

Συνιστάται: