![Rezolvator de ecuații cuadratice cu 2 butoane: 5 pași Rezolvator de ecuații cuadratice cu 2 butoane: 5 pași](https://i.howwhatproduce.com/images/011/image-31591-j.webp)
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04
![Image Image](https://i.howwhatproduce.com/images/011/image-31591-2-j.webp)
![](https://i.ytimg.com/vi/VnkT-tziP_Y/hqdefault.jpg)
Introducere
bun venit la primul meu instructabil!
Am început acest proiect pentru a-mi extinde cunoștințele de programare. Adesea, pur și simplu combinați codul sursă diferit pentru a crea programul de care aveți nevoie. Scopul meu a fost să-mi scriu propriul cod de program pentru interacțiunea cu un instrument. Mi-a plăcut să creez un instrument simplu pentru calcul. Acum câteva luni, am sprijinit un prieten să rezolve ecuația pătratică.
Bazinga! acesta este cazul de utilizare!
Am refolosit o cutie veche de metal. Am preferat aspectul minimalist și interfața instrumentelor. acesta este motivul pentru care vreau doar să folosesc 2 butoane pentru a da intrare. Contestația va fi afișată printr-un simplu ecran LCD.
Provizii
lista de materiale:
cutie
Stil arcade cu 2 butoane
Arduino Nano sau similar
Afișaj LCD 1602 cu adaptor I2C
comutator pornire / oprire
fire
Rezistor 2x 10k Ohm
bloc baterie 9v
conector pentru baterie de 9v
panou de masă
diverse (bucată de lemn, unghi metalic, legături pentru cabluri, șurub, șaibe)
instrumente:
a văzut
ciocan de lipit
masina de gaurit
computer pentru programare
Pasul 1: Backround matematic
![Software Software](https://i.howwhatproduce.com/images/011/image-31591-3-j.webp)
Backmound matematic
Ecuația pătratică cu 2 butoane arată valorile în care funcția pătratică traversează axa X. O funcție pătratică poate traversa axa X niciodată, o dată sau de două ori.
Există diferite moduri de a calcula aceste valori. Pentru instrumentul meu, folosesc formula PQ (nu sunt sigur dacă această expresie va fi utilizată în întreaga lume).
O ecuație pătratică are forma:
ax² + bx + c = 0
Pentru a calcula punctele de trecere, împărțiți formularul cu un x² + px + q = 0 cu p = b / a; q = c / a
Formula PQ:
x1 = -p / 2 + sqrt ((p / 2) ²-q)
x2 = -p / 2 - sqrt ((p / 2) ²-q)
Rezultatul x poate obține 0, 1 sau 2 valori. Acest lucru depinde de valoarea de sub rădăcina pătrată.
Este valoarea> 0, atunci formula PQ are două soluții.
Este valoarea = 0, atunci formula PQ are o soluție
este valoarea <0, atunci Formula PQ nu are nicio soluție. Funcția nu traversează axa X.
Pasul 2: Software
Software
Pentru programare am folosit IDE-ul oficial Arduino. Ținta mea era să îmi creez propriul program software. Interfața mea ar trebui să aibă două butoane. Un buton pentru a trece între diferite niveluri, al doilea buton pentru a schimba valorile din diferite niveluri.
Pentru a rezolva formula PQ, creez structura de mai sus:
Cu siguranță, nu reinventez roata. Pentru crearea codului, am folosit modulul:
- debounce
- afișaj
Următoarele puncte au fost cele mai mari provocări:
- Cum pot alege semnul? Am rezolvat această provocare cu funcția modulo (link). Codul împarte intrarea la 2. Este intrarea un număr impar, valoarea devine negativă, altfel numărul este pozitiv.
- După ce am parcurs toate nivelurile, trebuie să declar toate valorile la 0.
- Textul afișat șterge doar caracterele trimise. Dacă codurile trimit un cuvânt cu 4 caractere, doar aceste 4 caractere vor fi reîncărcate. Dacă cuvântul anterior avea mai multe caractere, personajele vor rămâne. Pentru a remedia problema, textul afișat va fi completat cu spații goale. Toate cele 16 caractere la rând vor fi reîncărcate.
Codul final este atașat.
Pasul 3: Hardware
![Hardware Hardware](https://i.howwhatproduce.com/images/011/image-31591-4-j.webp)
![Hardware Hardware](https://i.howwhatproduce.com/images/011/image-31591-5-j.webp)
![Hardware Hardware](https://i.howwhatproduce.com/images/011/image-31591-6-j.webp)
![Hardware Hardware](https://i.howwhatproduce.com/images/011/image-31591-7-j.webp)
Hardware
Piesele sunt enumerate mai sus. Pentru acest proiect, hardware-ul este simplu. Am nevoie doar de un microprocesor Arduino, 2 butoane și un afișaj. Bine, dacă vă place să introduceți o cutie, aveți nevoie și de o cutie și de o sursă de alimentare.
Reutilizez o cutie metalică veche. Am forat o gaură în buton pentru conectarea întrerupătorului pentru alimentare. Capacul cutiei are 3 găuri. Am forat două găuri pentru butoanele mari și am tăiat o fereastră pentru afișaj. Lipesc o mică bucată de lemn în spatele capacului pentru a avea mai multe lucruri de reparat afișajul și butoanele. Pentru a actualiza aspectul, cutia a primit autocolante.
Pentru alimentarea cu energie electrică, recomand baterii reîncărcabile cu bloc de 9V. Conectez bateria prin întrerupător la Arduino. Bateria este fixată pe cutie cu un unghi mic de metal. Conectorul pentru baterie este fixat doar prin legături de cablu.
Microprocesorul este o clonă a unui nano Arduino. Pentru acest caz de utilizare, performanța este suficientă. Un Attiny 85, de exemplu un microprocesor Digispark, a fost respins. Arduino este „pâine îmbinată” lângă afișaj.
Afișajul este un afișaj LCD 1602. puteți utiliza 16 caractere în două rânduri. Puteți găsi acest afișaj în multe mașini și instrumente diferite. Există două moduri diferite de a utiliza acest afișaj. Puteți conecta afișajul direct la controler sau puteți utiliza un supliment pentru a comunica pe afișaj prin I2C. I2C este un protocol standard. L-am folosit, deoarece este mai ușor să conectați afișajul la controler. Ai nevoie doar de 4 cabluri în loc de 16, VCC la 5V, GND la GND, SDA la A4, SCL la A5. Afișajul este fixat cu șuruburi pe capacul cutiei.
Butoanele sunt imense! au stilul tipic de joc arcade. Imi place! Butoanele sunt conectate la pinii 4 și 7. Vă rugăm să nu uitați Rezistențele 10K!
Pentru a deschide capacul, de exemplu pentru a schimba bateria, am folosit cabluri mai lungi conectate la panoul de control.
Pasul 4: Cablare
![Cablare Cablare](https://i.howwhatproduce.com/images/011/image-31591-8-j.webp)
Pasul 5: Îmbunătățiri viitoare
Îmbunătățiri viitoare
După terminarea unui proiect, veți găsi întotdeauna erori sau caracteristici de îmbunătățit. În acest proiect, sunt fericit să găsesc doar câteva puncte, aș îmbunătăți pentru viitor.
Pentru data viitoare, aș îmbunătăți exploatarea din cutie. Am reparat afișajul, comutatorul de alimentare și butoanele de la începutul acestui proiect. La sfârșit, am avut ceva probleme să găsesc suficient spațiu pentru baterie și microprocesor în cutie. Când pun butonul și afișajul mai mult în exterior, nu aș avea probleme cu spațiul pentru piesele din interiorul cutiei.
În acest moment nu am un caz de utilizare pentru rezolvarea ecuației pătratice. Pentru a îmbunătăți instrumentul, aș dori să extind instrumentul cu alte lucruri matematice, de exemplu, calcul de bază sau formule precum formula binominală sau propoziția lui Pitagora.
Recomandat:
Comutator releu cu două butoane: 3 pași
![Comutator releu cu două butoane: 3 pași Comutator releu cu două butoane: 3 pași](https://i.howwhatproduce.com/images/001/image-1189-j.webp)
Comutator cu releu cu două butoane: Acest articol vă arată cum să activați și să opriți comutatorul cu buton. Acest circuit poate fi realizat cu două comutatoare. Apăsați un singur comutator și becul se aprinde. Apăsați un alt comutator și becul se stinge. Cu toate acestea, acest Ins
Arduino Control Viteza și direcția motorului DC folosind un potențiometru, afișaj OLED și butoane: 6 pași
![Arduino Control Viteza și direcția motorului DC folosind un potențiometru, afișaj OLED și butoane: 6 pași Arduino Control Viteza și direcția motorului DC folosind un potențiometru, afișaj OLED și butoane: 6 pași](https://i.howwhatproduce.com/images/001/image-179-17-j.webp)
Arduino Control Viteza și direcția motorului DC utilizând un potențiometru, afișaj OLED și butoane: În acest tutorial vom învăța cum să folosiți un driver L298N DC MOTOR CONTROL și un potențiometru pentru a controla viteza și direcția unui motor DC cu două butoane și afișarea valorii potențiometrului pe ecranul OLED. Urmăriți un videoclip demonstrativ
Suport pentru tablete acrilice pentru Flight Sim cu butoane reale: 4 pași
![Suport pentru tablete acrilice pentru Flight Sim cu butoane reale: 4 pași Suport pentru tablete acrilice pentru Flight Sim cu butoane reale: 4 pași](https://i.howwhatproduce.com/images/001/image-613-19-j.webp)
Suport pentru tablete acrilice pentru Flight Sim cu butoane reale: Acesta este un suport pentru o tabletă (de ex. IPad) pentru utilizare cu software-ul simulatorului de zbor. Folosind module de codificare rotativă și un Arduino Mega, am creat o soluție în care butoanele fizice pot fi mapate pentru a controla funcțiile specifice ale instrumentului în sim. Ca și tu
Jocuri cu 4 butoane folosind o intrare analogică: 6 pași (cu imagini)
![Jocuri cu 4 butoane folosind o intrare analogică: 6 pași (cu imagini) Jocuri cu 4 butoane folosind o intrare analogică: 6 pași (cu imagini)](https://i.howwhatproduce.com/images/001/image-942-36-j.webp)
Jocuri cu 4 butoane folosind o singură intrare analogică: această instrucțiune se concentrează pe utilizarea unei linii de intrare analogice pentru mai multe butoane care pot fi detectate independent una de cealaltă. Și pentru a evidenția utilizarea acestor butoane incluse este un software pentru a juca patru jocuri diferite cu 4 butoane. Toate jocurile (8 în t
Generarea tonurilor de diferite tipuri folosind ecuații matematice (MathsMusic) Arduino: 5 pași
![Generarea tonurilor de diferite tipuri folosind ecuații matematice (MathsMusic) Arduino: 5 pași Generarea tonurilor de diferite tipuri folosind ecuații matematice (MathsMusic) Arduino: 5 pași](https://i.howwhatproduce.com/images/002/image-5485-40-j.webp)
Generarea tonurilor de diferite tipuri folosind ecuații matematice (MathsMusic) Arduino: Descrierea proiectului: A început o nouă călătorie în care ideile pot fi implementate cu ușurință folosind comunitatea open source (Mulțumită Arduino). Așadar, iată o modalitate · Uită-te în jurul tău și observă-ți împrejurimile · Descoperă problemele care trebuie să fie