Obsah:

2-tlačidlové riešenie kvadratickej rovnice: 5 krokov
2-tlačidlové riešenie kvadratickej rovnice: 5 krokov

Video: 2-tlačidlové riešenie kvadratickej rovnice: 5 krokov

Video: 2-tlačidlové riešenie kvadratickej rovnice: 5 krokov
Video: Алгебра II: Квадратные уравнения (Уровень 2 из 3) | Решение квадратных мономов и биномов 2024, Júl
Anonim
Image
Image

Úvod

vitajte pri mojom prvom pokyne!

Začal som s týmto projektom, aby som si rozšíril znalosti programovania. Často stačí zlúčiť iný zdrojový kód a vytvoriť požadovaný program. Mojím cieľom bolo napísať vlastný programový kód pre interakciu s nástrojom. Rád som vytvoril jednoduchý nástroj na výpočet. Pred nejakým mesiacom som podporil priateľa pri riešení kvadratickej rovnice.

Bazinga! toto je prípad použitia!

Znovu som použil starú kovovú škatuľu. Preferoval som minimalistický vzhľad a rozhranie nástrojov. to je dôvod, prečo chcem použiť iba 2 tlačidlá na zadávanie vstupov. Súťaž zobrazí jednoduchý LCD displej.

Zásoby

zoznam materiálov:

box

2 -tlačidlový arkádový štýl

Arduino Nano alebo podobné

LCD displej 1602 s adaptérom I2C

vypínač on/off

drôty

2x 10k Ohm odpor

batéria 9v blok

konektor pre 9v batériu

breadboard

rôzne (kus dreva, kovový uholník, káblové zväzky, skrutky, podložky)

nástroje:

videl

spájkovačka

vŕtačka

počítač na programovanie

Krok 1: Matematické pozadie

Softvér
Softvér

Matematické pozadie

2-tlačidlová kvadratická rovnica zobrazuje hodnoty, kde kvadratická funkcia pretína os X. Kvadratická funkcia nemôže prekročiť os X nikdy, raz alebo dvakrát.

Existujú rôzne spôsoby výpočtu týchto hodnôt. Pre svoj nástroj používam vzorec PQ (nie som si istý, či sa tento výraz bude používať na celom svete).

Kvadratická rovnica má tvar:

ax²+bx+c = 0

Ak chcete vypočítať body kríženia, rozdeľte formulár na x²+px+q = 0 s p = b/a; q = c/a

vzorec PQ:

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

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

Výsledok x môže získať 0, 1 alebo 2 hodnoty. To závisí od hodnoty pod druhou odmocninou.

Je hodnota> 0, potom má vzorec PQ dve riešenia.

Je hodnota = 0, potom má vzorec PQ jedno riešenie

je hodnota <0, potom vzorec PQ nemá riešenie. Táto funkcia neprekračuje os X.

Krok 2: Softvér

Softvér

Na programovanie som použil oficiálne Arduino IDE. Mojím cieľom bolo vytvoriť si vlastný softvérový program. Moje rozhranie by malo mať dve tlačidlá. Jedno tlačidlo slúži na prechod medzi rôznymi úrovňami, druhé tlačidlo na zmenu hodnôt v rôznych úrovniach.

Aby som vyriešil vzorec PQ, vytvorím štruktúru uvedenú vyššie:

Pre istotu neobjavujem koleso znova. Na vytvorenie kódu som použil modul:

- odskočiť

- displej

Nasledujúce body boli najväčšou výzvou:

- Ako si môžem vybrať znamenie? Túto výzvu som vyriešil funkciou modulo (odkaz). Kód vydelí vstup číslom 2. Je vstup nepárne číslo, hodnota je záporná, v opačnom prípade je číslo kladné.

- Po prechode všetkými úrovňami musím deklarovať všetky hodnoty na 0.

- Zobrazený text iba vymaže odosielané znaky. Ak kódy odošlú slovo so 4 znakmi, načítajú sa znova iba tieto 4 znaky. Ak predchádzajúce slovo malo viac znakov, znaky zostanú. Aby sa to napravilo, zobrazený text bude vyplnený prázdnymi miestami. Načíta sa všetkých 16 znakov v rade.

Konečný kód je priložený.

Krok 3: Hardvér

Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér

Hardvér

Časti sú uvedené vyššie. V prípade tohto projektu je hardvér jednoduchý. Potrebujem iba mikroprocesor Arduino, 2 tlačidlá a displej. Dobre, ak chcete vložiť do škatule, potrebujete aj krabicu a napájanie.

Znovu použijem starú kovovú škatuľu. Do gombíka som navŕtal dieru na zapojenie vypínača napájania. Kryt skrinky dostal 3 otvory. Vyvrtal som dva otvory pre veľké tlačidlá a vyrezal okno pre displej. Prilepím malý kúsok dreva za kryt, aby som mal viac vecí na opravu displeja a tlačidiel. Na vylepšenie vzhľadu dostali škatule nálepky.

Na napájanie odporúčam nabíjateľné 9V blokové batérie. Batériu pripájam pomocou vypínača k Arduinu. Batéria je k krabici pripevnená malým kovovým uhlom. Konektor pre batériu je upevnený iba sťahovacími páskami.

Mikroprocesor je klon nano Arduino. Na tento prípad použitia je výkon dostatočný. Attiny 85, napríklad mikroprocesor Digispark, bol odmietnutý. Arduino je vedľa displeja „obložené chlebom“.

Displej je 1602 LCD displej. v dvoch riadkoch môžete použiť 16 znakov. Tento displej nájdete na mnohých rôznych strojoch a nástrojoch. Existujú dva rôzne spôsoby použitia tohto displeja. Displej môžete pripojiť priamo k ovládaču alebo môžete použiť doplnok na komunikáciu s displejom prostredníctvom I2C. I2C je štandardný protokol. Použil som to, pretože je jednoduchšie pripojiť displej k ovládaču. Potrebujete iba 4 káble namiesto 16, VCC až 5V, GND až GND, SDA až A4, SCL až A5. Displej je pripevnený skrutkami k krytu skrinky.

Tlačidlá sú obrovské! majú typický štýl arkádovej hry. Páči sa mi to! Tlačidlá sú pripojené k digitálnemu pinu 4 a 7. Nezabudnite na 10K odpory!

Na otvorenie krytu, napríklad na výmenu batérie, som použil dlhšie káble zapojené na doske.

Krok 4: Zapojenie

Elektrické vedenie
Elektrické vedenie

Krok 5: Budúce zlepšenie

Budúce zlepšenie

Po dokončení projektu vždy nájdete chyby alebo funkcie na vylepšenie. V tomto projekte som rád, že som našiel niekoľko bodov, ktoré by som do budúcna zlepšil.

Nabudúce by som vylepšil exploatáciu v boxe. Na začiatku tohto projektu som opravil displej, vypínač a tlačidlá. Nakoniec som mal trochu problém nájsť v skrinke dostatok miesta pre batériu a mikroprocesor. Keď dám tlačidlo a displej viac von, nemal by som problém s priestorom na diely vo vnútri škatule.

V súčasnej dobe nemám prípad použitia na riešenie kvadratickej rovnice. Na vylepšenie nástroja by som chcel tento nástroj rozšíriť o ďalšie matematické veci, napríklad o základný počet alebo vzorce ako bininálny vzorec alebo vetu Pytagora.

Odporúča: