Orodha ya maudhui:

Kitufe cha 2-Button Quadratic Solver: 5 Hatua
Kitufe cha 2-Button Quadratic Solver: 5 Hatua

Video: Kitufe cha 2-Button Quadratic Solver: 5 Hatua

Video: Kitufe cha 2-Button Quadratic Solver: 5 Hatua
Video: The difference between Casio FX-991EX and Casio FX-991CW 2024, Novemba
Anonim
Image
Image

Utangulizi

karibu kwa mwalimu wangu wa kwanza!

Nilianza mradi huu kupanua maarifa yangu ya programu. Mara nyingi, wewe tu unganisha msimbo tofauti wa chanzo ili kuunda programu unayohitaji. Lengo langu lilikuwa kuandika nambari yangu ya mpango wa kuingiliana na zana. Nilipenda kuunda zana rahisi ya kuhesabu. Mwezi mmoja uliopita, niliunga mkono rafiki kutatua equation ya quadratic.

Bazinga! hii ndio kesi ya matumizi!

Nilitumia sanduku la zamani la chuma. Nilipendelea muonekano mdogo na muundo wa zana. hiyo ni sababu kwa nini ninataka tu kutumia vifungo 2 kwa kutoa pembejeo. Mashindano yataonyeshwa na onyesho rahisi la LCD.

Vifaa

orodha ya vifaa:

sanduku

Kitufe cha 2 Mtindo wa Arcade

Arduino Nano, au sawa

Kuonyesha LCD 1602 na adapta ya I2C

swichi ya kuzima / kuzima

waya

2x 10k kupinga kwa Ohm

betri 9v kuzuia

kontakt kwa betri 9v

ubao wa mkate

anuwai (kipande cha kuni, pembe ya chuma, vifungo vya kebo, screw, washers)

zana:

saw

chuma cha kutengeneza

mashine ya kuchimba visima

kompyuta kwa programu

Hatua ya 1: Nyuma ya hesabu

Programu
Programu

Nyuma ya hisabati

Usawa wa kitufe cha kitufe cha 2 unaonyesha maadili ambapo kazi ya quadratic inavuka mhimili wa X. Kazi ya quadratic inaweza kuvuka mhimili wa X kamwe, mara moja au mbili.

Kuna njia tofauti za kuhesabu maadili haya. Kwa zana yangu, ninatumia fomula ya PQ (sina hakika, ikiwa usemi huu utatumika ulimwenguni kote).

Mlinganyo wa quadratic una fomu:

shoka + bx + c = 0

Ili kuhesabu sehemu za kuvuka, gawanya fomu kwa x² + px + q = 0 na p = b / a; q = c / a

Mfumo wa PQ:

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

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

Matokeo x inaweza kupata 0, 1 au 2 maadili. Hiyo inategemea thamani chini ya mzizi wa mraba.

Je! Thamani ni 0, basi PQ-Mfumo ina suluhisho mbili.

Je! Thamani ni 0, basi PQ-Mfumo ina suluhisho moja

ni thamani <0, basi Mfumo wa PQ hauna suluhisho. Kazi haivuki X-Axis.

Hatua ya 2: Programu

Programu

Kwa programu nilitumia rasmi Arduino IDE. Lengo langu lilikuwa kuunda programu yangu mwenyewe ya programu. Muunganisho wangu unapaswa kuwa na vifungo viwili. Kitufe kimoja kwenda kati ya viwango tofauti, kitufe cha pili kubadilisha maadili katika viwango tofauti.

Ili kutatua Mfumo wa PQ, ninaunda muundo hapo juu:

Kwa kweli, sirudishi tena gurudumu. Kwa kuunda nambari, nilitumia moduli:

- aibu

- onyesha

Zifuatazo zilikuwa changamoto kubwa zaidi:

- Ninawezaje kuchagua ishara? Nilitatua changamoto hii na moduli ya kazi (kiunga). Nambari hugawanya pembejeo na 2. Je! Pembejeo ni nambari isiyo ya kawaida, thamani inapata hasi, vinginevyo nambari ni chanya.

- Baada ya kukimbia kupitia viwango vyote, lazima nitangaze maadili yote kwa 0.

- Maandishi yaliyoonyeshwa hufuta tu herufi za kutuma. Ikiwa nambari zitatuma neno na herufi 4, wahusika hawa 4 tu watapakiwa tena. Ikiwa neno hapo awali lilikuwa na wahusika zaidi, wahusika watakaa. Ili kurekebisha hilo, maandishi yaliyoonyeshwa yatajazwa na nafasi zilizoachwa wazi. Wahusika wote 16 mfululizo watapakiwa tena.

Nambari ya mwisho imeambatanishwa.

Hatua ya 3: Vifaa

Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa
Vifaa

Vifaa

Sehemu hizo zimeorodheshwa hapo juu. Kwa mradi huu, vifaa ni rahisi. Ninahitaji tu microprocessor ya Arduino, kifungo 2 na onyesho. Sawa, ikiwa unapenda kuweka kwenye sanduku, unahitaji sanduku na usambazaji wa umeme pia.

Ninatumia tena sanduku la zamani la chuma. Nilichimba shimo kwenye kitufe cha kuziba swichi ya usambazaji wa umeme. Jalada la sanduku lilipata mashimo 3. Nilichimba mashimo mawili kwa vifungo vikubwa na kukata dirisha la maonyesho. Ninaweka kipande kidogo cha kuni nyuma ya kifuniko ili kuwa na vitu zaidi vya kurekebisha onyesho na vifungo. Ili kuboresha sura sanduku lilipata stika.

Kwa usambazaji wa umeme, ninapendekeza betri za kuzuia 9V zinazoweza kuchajiwa. Ninaunganisha betri kupitia swichi ya umeme kwenda Arduino. Betri imewekwa kwenye sanduku na pembe ndogo ya chuma. Kontakt ya betri imewekwa tu na vifungo vya kebo.

Microprocessor ni mfano wa nano ya Arduino. Kwa kesi hii ya matumizi, utendaji ni wa kutosha. Attiny 85, kwa mfano Microprocessor ya Digispark, ilikataliwa. Arduino ni "mkate uliowekwa" karibu na onyesho.

Maonyesho ni maonyesho ya LCD 1602. unaweza kutumia herufi 16 katika safu mbili. Unaweza kupata onyesho hili katika mashine nyingi tofauti zana. Kuna njia mbili tofauti za kutumia onyesho hili. Unaweza kuunganisha onyesho moja kwa moja kwa kidhibiti au unaweza kutumia programu-jalizi kwa kuwasiliana na onyesho kupitia I2C. I2C ni itifaki ya kawaida. Nilitumia, kwa sababu ni rahisi kuunganisha onyesho kwa kidhibiti. Unahitaji tu nyaya 4 badala ya 16, VCC hadi 5V, GND hadi GND, SDA hadi A4, SCL hadi A5. Onyesho limewekwa na visu kwenye kifuniko cha sanduku.

Vifungo ni kubwa! wana mtindo wa mchezo wa kawaida. Ninapenda! Vifungo vimeunganishwa na pini ya dijiti 4 na 7. Tafadhali usisahau Resistors 10K!

Kufungua kifuniko, kwa mfano kubadilisha betri, nilitumia nyaya ndefu zilizowekwa kwenye ubao wa mkate.

Hatua ya 4: Wiring

Wiring
Wiring

Hatua ya 5: Uboreshaji wa Baadaye

Uboreshaji wa Baadaye

Baada ya kumaliza mradi, kila wakati unapata mende au huduma za kuboresha. Katika mradi huu, ninafurahi kupata tu vidokezo kadhaa, nitaboresha kwa siku zijazo.

Kwa wakati mwingine, ningeboresha unyonyaji kwenye sanduku. Nilirekebisha onyesho, swichi ya nguvu, na vifungo mwanzoni mwa mradi huu. Mwishowe, nilipata shida kidogo kupata nafasi ya kutosha kwa betri na microprocessor kwenye sanduku. Nilipoweka kitufe na onyesho zaidi nje, singekuwa na shida yoyote na nafasi ya sehemu zilizo ndani ya sanduku.

Kwa sasa sina kesi ya matumizi ya kusuluhisha equation ya quadratic. Ili kuboresha zana, ningependa kupanua zana na vitu zaidi vya kihesabu, kwa mfano hesabu za kimsingi au fomula kama fomula ya binominal au sentensi ya Pythagoras.

Ilipendekeza: