Talaan ng mga Nilalaman:

2-Button Quadratic Equation Solver: 5 Mga Hakbang
2-Button Quadratic Equation Solver: 5 Mga Hakbang

Video: 2-Button Quadratic Equation Solver: 5 Mga Hakbang

Video: 2-Button Quadratic Equation Solver: 5 Mga Hakbang
Video: Algebra II: Quadratic Equations - Factoring (Level 5 of 10) | Trinomials II 2024, Nobyembre
Anonim
Image
Image

Panimula

maligayang pagdating sa aking unang itinuro!

Sinimulan ko ang proyektong ito upang mapalawak ang aking kaalaman sa programa. Kadalasan, pinagsasama mo lang ang iba't ibang mga source code upang likhain ang program na kailangan mo. Ang aking layunin ay upang isulat ang aking sariling code ng programa para sa pakikipag-ugnay sa isang tool. Gusto kong lumikha ng isang simpleng tool para sa pagkalkula. Ilang buwan na ang nakalilipas, suportado ko ang isang kaibigan upang malutas ang quadratic equation.

Bazinga! ito ang use case!

Gumamit ulit ako ng isang lumang metal box. Mas gusto ko ang minimalistic na hitsura at interface ng mga tool. iyon ang dahilan kung bakit nais kong gumamit ng 2 mga pindutan para sa pagbibigay ng input. Ang pagtatalo ay ipapakita ng isang simpleng LCD display.

Mga gamit

listahan ng materyal:

kahon

2 button na istilo ng Arcade

Arduino Nano, o katulad

LCD display 1602 na may I2C adapter

on / off switch

mga wire

2x 10k Ohm risistor

baterya 9v block

konektor para sa 9v na baterya

breadboard

sari-sari (piraso ng kahoy, anggulo ng metal, mga kurbatang kurbatang, tornilyo, washers)

mga tool:

nakita

panghinang

makina ng pagbabarena

computer para sa programa

Hakbang 1: Backlight ng Mathimatical

Software
Software

Mathimatical backround

Ipinapakita ng 2-button quadratic equation ang mga halaga kung saan tumatawid ang quadratic function sa X-axis. Ang isang quadratic function ay maaaring tumawid sa X-axis hindi kailanman, isang beses o dalawang beses.

Mayroong iba't ibang mga paraan upang makalkula ang mga halagang ito. Para sa aking tool, gumagamit ako ng PQ-formula (hindi ako sigurado, kung ang ekspresyong ito ay gagamitin sa buong mundo).

Ang isang quadratic equation ay may form:

ax² + bx + c = 0

Upang kalkulahin ang mga crossing point, hatiin ang form sa isang x² + px + q = 0 na may p = b / a; q = c / a

ang PQ Formula:

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

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

Ang resulta x ay maaaring makakuha ng 0, 1 o 2 halaga. Nakasalalay iyon sa halaga sa ilalim ng square root.

Ang halaga ba> 0, pagkatapos ang PQ-Formula ay may dalawang solusyon.

Ang halaga ba = 0, pagkatapos ang PQ-Formula ay may isang solusyon

ang halagang <0, kung gayon ang PQ Formula ay walang solusyon. Ang pag-andar ay hindi tumatawid sa X-Axis.

Hakbang 2: Software

Software

Para sa programa ginamit ko ang opisyal na Arduino IDE. Ang aking target ay upang lumikha ng aking sariling programa ng software. Ang aking interface ay dapat na may dalawang mga pindutan. Isang pindutan upang hakbang sa pagitan ng iba't ibang mga antas, ang pangalawang pindutan upang baguhin ang mga halaga sa iba't ibang mga antas.

Upang malutas ang PQ-Formula, nilikha ko ang istraktura sa itaas:

For sure, hindi ko naimbento ang gulong. Para sa paglikha ng code, ginamit ko ang module:

- pagtatalo

- ipakita

Ang mga sumusunod na puntos ay ang pinakamalaking hamon:

- Paano ko pipiliin ang pag-sign? Nalutas ko ang hamong ito sa pagpapaandar na modulo (link). Hinahati ng code ang pag-input sa pamamagitan ng 2. Ang isang input ba ay isang kakaibang numero, ang halaga ay nakakakuha ng negatibo, kung hindi man ang numero ay positibo.

- Matapos ang pagtakbo sa lahat ng mga antas, kailangan kong ideklara ang lahat ng mga halaga sa 0.

- Ang ipinakitang teksto ay binubura lamang ang nagpapadala ng mga character. Kung ang mga code ay nagpapadala ng isang salita na may 4 na mga character, ang 4 na mga character na ito ay muling mai-reload. Kung ang salitang dati ay mayroong higit pang mga character, mananatili ang mga character. Upang ayusin iyon, ang ipinakitang teksto ay mapupuno ng mga blangko. Ang lahat ng 16 na character sa isang hilera ay muling mai-reload.

Nakalakip ang pangwakas na code.

Hakbang 3: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Hardware

Ang mga bahagi ay nakalista sa itaas. Para sa proyektong ito, ang hardware ay simple. Kailangan ko lang ng Arduino microprocessor, 2 button at isang display. Okay, kung nais mong ilagay sa isang kahon, kailangan mo rin ng isang kahon at supply ng kuryente.

Gumagamit ulit ako ng isang lumang metal box. Nag-drill ako ng butas sa pindutan para sa plug sa switch para sa power supply. Ang takip ng kahon ay nakakuha ng 3 butas. Nag-drill ako ng dalawang butas para sa mga malalaking pindutan at pinutol ang isang window para sa display. Nagdidikit ako ng isang maliit na piraso ng kahoy sa likod ng takip upang magkaroon ng maraming bagay upang ayusin ang pagpapakita at mga pindutan. Upang mai-upgrade ang hitsura ang kahon ay may mga sticker.

Para sa supply ng kuryente, inirerekumenda ko ang mga rechargeable na 9V block na baterya. Ikonekta ko ang baterya sa pamamagitan ng paglipat ng kuryente sa Arduino. Ang baterya ay naayos sa kahon na may isang maliit na anggulo ng metal. Ang konektor para sa baterya ay naayos lamang ng mga kurbatang kurbatang.

Ang microprocessor ay isang clone ng isang Arduino nano. Para sa kasong paggamit na ito, sapat ang pagganap. Ang isang Attiny 85, halimbawa isang Digispark microprocessor, ay tinanggihan. Ang Arduino ay "sumakay sa tinapay" sa tabi ng display.

Ang display ay isang 1602 LCD display. maaari mong gamitin ang 16 na mga character sa dalawang mga hilera. Maaari mong makita ang display na ito sa maraming iba't ibang mga machine ng mga tool. Mayroong dalawang magkakaibang paraan upang magamit ang display na ito. Maaari mong ikonekta ang display nang direkta sa controller o maaari kang gumamit ng isang add-on para makipag-usap sa display sa pamamagitan ng I2C. Ang I2C ay isang karaniwang protocol. Ginamit ko ito, sapagkat mas madaling ikonekta ang display sa controller. Kailangan mo lamang ng 4 na mga kable sa halip na 16, VCC hanggang 5V, GND sa GND, SDA hanggang A4, SCL hanggang A5. Ang display ay naayos ng mga turnilyo sa takip ng kahon.

Napakalaki ng mga pindutan! mayroon silang karaniwang istilong arcade game. Gusto ko ito! Ang mga pindutan ay konektado sa digital pin 4 at 7. Mangyaring huwag kalimutan ang 10K Resistors!

Upang buksan ang takip, halimbawa upang palitan ang baterya, gumamit ako ng mas mahahabang mga kable na naka-plug sa breadboard.

Hakbang 4: Mga kable

Kable
Kable

Hakbang 5: Pagpapabuti sa Hinaharap

Pagpapabuti sa Hinaharap

Matapos matapos ang isang proyekto, palagi kang nakakahanap ng mga bug o tampok para sa pagpapabuti. Sa proyektong ito, masaya ako na makahanap lamang ng ilang mga puntos, pagbutihin ko para sa hinaharap.

Para sa susunod, pagbutihin ko ang pagsasamantala sa kahon. Inayos ko ang display, ang switch ng kuryente, at ang mga pindutan sa simula ng proyektong ito. Sa huli, nakakuha ako ng kaunting problema upang makahanap ng sapat na puwang para sa baterya at microprocessor sa kahon. Kapag inilagay ko ang pindutan at ang display nang higit sa labas, hindi ako magkakaroon ng anumang problema sa puwang para sa mga bahagi sa loob ng kahon.

Sa ngayon wala akong isang kaso ng paggamit para sa paglutas ng quadratic equation. Upang mapabuti ang tool, nais kong palawakin ang tool sa karagdagang mga bagay sa matematika, halimbawa ng pangunahing calculus o pormula tulad ng binominal formula o pangungusap ng Pythagoras.

Inirerekumendang: