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: Голубая стрела (1958) фильм 2024, Studeni
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 kôd kako biste stvorili program koji vam je potreban. Cilj mi je bio napisati vlastiti programski kod za interakciju s alatom. Volio sam stvoriti jednostavan alat za izračunavanje. Prije mjesec dana podržao sam prijatelja u rješavanju kvadratne jednadžbe.

Bazinga! ovo je slučaj upotrebe!

Ponovno sam upotrijebio 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 zaslonom.

Pribor

popis materijala:

kutija

2 tipke Arkadni stil

Arduino Nano ili slično

LCD zaslon 1602 s 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 kut, vezice za kabele, vijak, podloške)

alati:

pila

lemilica

bušilica

računalo za programiranje

Korak 1: Matematička pozadina

Softver
Softver

Matematička pozadina

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

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

Kvadratna jednadžba ima oblik:

ax²+bx+c = 0

Da biste izračunali točke prijelaza, podijelite obrazac sa a x²+px+q = 0 s 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.

Je li vrijednost> 0, tada PQ-formula ima dva rješenja.

Je li vrijednost = 0, tada PQ-formula ima jedno rješenje

je vrijednost <0, tada PQ formula nema rješenje. 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. Moje sučelje treba imati dva gumba. Jedan gumb za prelazak između različitih razina, drugi gumb za promjenu vrijednosti na različitim razinama.

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

Sigurno, ne izmišljam novi kotač. Za kreiranje koda koristio sam modul:

- debounce

- prikaz

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 prolaska kroz sve razine, sve vrijednosti moram proglasiti na 0.

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

Konačni kod je u privitku.

Korak 3: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Hardver

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

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

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

Mikroprocesor je klon Arduino nano. U ovom slučaju uporabe performanse su dovoljne. Odbijen je Attiny 85, na primjer Digispark mikroprocesor. Arduino je "izložen kruhu" pored zaslona.

Zaslon je 1602 LCD zaslon. možete koristiti 16 znakova u dva retka. Ovaj zaslon možete pronaći u mnogim različitim strojevima i alatima. Postoje dva različita načina korištenja ovog zaslona. Zaslon možete povezati izravno s kontrolerom ili možete koristiti dodatak za komunikaciju s zaslonom 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.

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

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

Korak 4: Ožičenje

Ožičenje
Ožičenje

Korak 5: Poboljšanje u budućnosti

Buduće poboljšanje

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

Sljedeći put bih poboljšao eksploataciju u kutiji. Popravio sam zaslon, prekidač za napajanje i gumbe na početku ovog projekta. Na kraju sam imao malo problema pronaći dovoljno mjesta za bateriju i mikroprocesor u kutiji. Kad bih gumb i zaslon više stavio van, ne bih imao problema s prostorom za dijelove unutar kutije.

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

Preporučeni: