Sadržaj:

Riješivač kvadratnih jednadžbi s 2 tipke: 5 koraka
Riješivač kvadratnih jednadžbi s 2 tipke: 5 koraka

Video: Riješivač kvadratnih jednadžbi s 2 tipke: 5 koraka

Video: Riješivač kvadratnih jednadžbi s 2 tipke: 5 koraka
Video: Консультант от бога Tg: cadrolikk 2024, Novembar
Anonim
Image
Image

Uvod

dobrodošli u moju prvu instrukciju!

Započeo sam ovaj projekt kako bih proširio svoje znanje programiranja. Često jednostavno spojite različiti izvorni kod da biste stvorili program koji vam je potreban. Moj cilj je bio da napišem svoj programski kod za interakciju sa alatom. Volio sam stvoriti jednostavan alat za izračunavanje. Prije nekoliko mjeseci podržao sam prijatelja da riješi kvadratnu jednadžbu.

Bazinga! ovo je slučaj upotrebe!

Ponovno sam koristio staru metalnu kutiju. Preferirao sam minimalistički izgled i sučelje alata. to je razlog zašto samo želim koristiti 2 gumba za davanje unosa. Nadmetanje će biti prikazano jednostavnim LCD ekranom.

Supplies

lista materijala:

box

2 dugmeta Arkadni stil

Arduino Nano ili slično

LCD ekran 1602 sa I2C adapterom

prekidač za uključivanje/isključivanje

žice

2x 10k Ohm otpornik

baterija 9v blok

konektor za 9v bateriju

matična ploča

ostalo (komad drveta, metalni ugao, kabelske vezice, vijci, podloške)

alati:

vidio

lemilica

bušilica

računar za programiranje

Korak 1: Matematička pozadina

Softver
Softver

Matematička pozadina

Kvadratna jednadžba s 2 tipke prikazuje vrijednosti gdje kvadratna funkcija prelazi os X. Kvadratna funkcija ne može nikada, jednom ili dva puta prijeći os X.

Postoje različiti načini izračunavanja ovih vrijednosti. Za svoj alat koristim PQ-formulu (nisam siguran da li će se ovaj izraz koristiti u cijelom svijetu).

Kvadratna jednačina ima oblik:

ax²+bx+c = 0

Da biste izračunali točke ukrštanja, podijelite obrazac sa a x²+px+q = 0 sa p = b/a; q = c/a

PQ formula:

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

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

Rezultat x može dobiti 0, 1 ili 2 vrijednosti. To ovisi o vrijednosti ispod kvadratnog korijena.

Ako je vrijednost> 0, tada PQ-formula ima dva rješenja.

Ako je vrijednost = 0, tada PQ-formula ima jedno rješenje

je vrijednost <0, tada PQ formula nema rješenje. Ova funkcija ne prelazi os X.

Korak 2: Softver

Softver

Za programiranje sam koristio službeni Arduino IDE. Cilj mi je bio stvoriti vlastiti softverski program. Moj interfejs bi trebao imati dva dugmeta. Jedno dugme za prelazak između različitih nivoa, drugo dugme za promjenu vrijednosti na različitim nivoima.

Da bih riješio PQ-formulu, kreiram gornju strukturu:

Naravno, ne izmišljam ponovo točak. Za kreiranje koda koristio sam modul:

- otkazati

- displej

Sljedeće točke bile su najveći izazovi:

- Kako mogu izabrati znak? Ovaj izazov riješio sam funkcijom modulo (veza). Kôd dijeli ulaz sa 2. Je li ulaz neparan broj, vrijednost postaje negativna, inače je broj pozitivan.

- Nakon što prođem sve nivoe, moram proglasiti sve vrijednosti na 0.

- Prikazani tekst samo briše znakove za slanje. Ako kodovi šalju riječ s 4 znaka, samo će se ta 4 znaka ponovo učitati. Ako je riječ prije imala više znakova, znakovi će ostati. Da biste to ispravili, prikazani tekst bit će ispunjen prazninama. Svih 16 znakova za redom će se ponovo učitati.

Konačni kod je u prilogu.

Korak 3: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Hardver

Dijelovi su gore navedeni. Za ovaj projekt hardver je jednostavan. Trebaju mi samo mikroprocesor Arduino, 2 tipke i zaslon. U redu, ako volite staviti u kutiju, potrebna vam je i kutija i napajanje.

Ponovo koristim staru metalnu kutiju. Izbušio sam rupu u dugmetu za utikač prekidača za napajanje. Poklopac kutije ima 3 rupe. Izbušio sam dve rupe za velike tastere i izrezao prozor za ekran. Zalijepim mali komad drveta iza poklopca kako bih imao više stvari za popraviti zaslon i gumbe. Za nadogradnju izgleda kutija ima naljepnice.

Za napajanje preporučujem punjive 9V blok baterije. Bateriju povezujem putem prekidača za napajanje na Arduino. Baterija je pričvršćena za kutiju malim metalnim uglom. Priključak za bateriju samo je pričvršćen kabelskim vezicama.

Mikroprocesor je klon Arduino nano. U ovom slučaju upotrebe performanse su dovoljne. Attiny 85, na primjer Digispark mikroprocesor, je odbijen. Arduino je "zasićen kruhom" pored ekrana.

Ekran je LCD ekran veličine 1602. možete koristiti 16 znakova u dva reda. Ovaj ekran možete pronaći u mnogim različitim mašinama i alatima. Postoje dva različita načina korištenja ovog zaslona. Ekran možete povezati direktno sa kontrolerom ili možete koristiti dodatak za komunikaciju s ekranom putem I2C. I2C je standardni protokol. Koristio sam ga jer je lakše povezati zaslon s kontrolerom. Trebate samo 4 kabela umjesto 16, VCC na 5V, GND na GND, SDA na A4, SCL na A5. Zaslon je pričvršćen vijcima na poklopac kutije.

Dugmad su ogromna! imaju tipičan stil arkadne igre. Sviđa mi se! Dugmad su spojena na digitalni pin 4 i 7. Ne zaboravite 10K otpornike!

Za otvaranje poklopca, na primjer za zamjenu baterije, koristio sam duže kabele priključene na matičnu ploču.

Korak 4: Ožičenje

Ožičenje
Ožičenje

Korak 5: Buduće poboljšanje

Buduće poboljšanje

Nakon završetka projekta uvijek pronađete greške ili značajke za poboljšanje. U ovom projektu, sretan sam što mogu pronaći samo nekoliko točaka, koje bih poboljšao za budućnost.

Za sledeći put bih poboljšao eksploataciju u kutiji. Popravio sam ekran, prekidač za napajanje i dugmad na početku ovog projekta. Na kraju sam imao malo problema pronaći dovoljno prostora za bateriju i mikroprocesor u kutiji. Kada bih dugme i ekran stavila više napolje, ne bih imala problema sa prostorom za delove unutar kutije.

Trenutno nemam slučaj upotrebe za rješavanje kvadratne jednadžbe. Da bih poboljšao alat, želio bih proširiti alat s daljnjim matematičkim stvarima, na primjer osnovnim računom ili formulama poput binominske formule ili rečenice Pitagore.

Preporučuje se: