Satura rādītājs:

2 pogu kvadrātvienādojumu vienādotājs: 5 soļi
2 pogu kvadrātvienādojumu vienādotājs: 5 soļi

Video: 2 pogu kvadrātvienādojumu vienādotājs: 5 soļi

Video: 2 pogu kvadrātvienādojumu vienādotājs: 5 soļi
Video: 2 star pass POGU 2024, Novembris
Anonim
Image
Image

Ievads

laipni lūdzam manā pirmajā pamācībā!

Es sāku šo projektu, lai paplašinātu savas zināšanas par programmēšanu. Bieži vien jūs vienkārši apvienojat dažādus avota kodus, lai izveidotu vajadzīgo programmu. Mans mērķis bija uzrakstīt savu programmas kodu mijiedarbībai ar rīku. Man patika izveidot vienkāršu rīku aprēķināšanai. Pirms kāda mēneša es atbalstīju draugu atrisināt kvadrātvienādojumu.

Bazinga! tas ir lietošanas gadījums!

Es atkārtoti izmantoju vecu metāla kasti. Es dodu priekšroku instrumentu minimālisma izskatam un saskarnei. tas ir iemesls, kāpēc es tikai vēlos izmantot 2 pogas ievadīšanai. Cīņu parādīs vienkāršs LCD displejs.

Piegādes

materiālu saraksts:

kaste

2 pogas Arkādes stils

Arduino Nano vai tamlīdzīgi

LCD displejs 1602 ar I2C adapteri

ieslēgšanas/izslēgšanas slēdzis

vadi

2x 10k Ohm rezistors

akumulatora 9V bloks

savienotājs 9V akumulatoram

maizes dēlis

dažādi (koka gabals, metāla leņķis, kabeļu saites, skrūve, paplāksnes)

rīki:

ieraudzīja

lodāmurs

urbjmašīna

dators programmēšanai

1. solis: matemātiskais fons

Programmatūra
Programmatūra

Matemātiskais fons

2 pogu kvadrātvienādojums parāda vērtības, kurās kvadrātiskā funkcija šķērso X asi. Kvadrātiskā funkcija nevar šķērsot X asi nekad, vienu vai divas reizes.

Ir dažādi veidi, kā aprēķināt šīs vērtības. Savam instrumentam es izmantoju PQ formulu (es neesmu pārliecināts, vai šī izteiksme tiks izmantota visā pasaulē).

Kvadrātvienādojumam ir šāda forma:

ax²+bx+c = 0

Lai aprēķinātu šķērsošanas punktus, sadaliet veidlapu ar x²+px+q = 0 ar p = b/a; q = c/a

PQ formula:

x1 = -p/2 + kv. ((p/2) ² -q)

x2 = -p/2 -kvadrātmetri ((p/2) ² -q)

Rezultātā x var iegūt 0, 1 vai 2 vērtības. Tas ir atkarīgs no vērtības zem kvadrātsaknes.

Ja vērtība ir> 0, tad PQ-formulai ir divi risinājumi.

Ja vērtība ir 0, tad PQ formulai ir viens risinājums

ir vērtība <0, tad PQ formulai nav risinājuma. Funkcija nešķērso X asi.

2. darbība: programmatūra

Programmatūra

Programmēšanai es izmantoju oficiālo Arduino IDE. Mans mērķis bija izveidot savu programmatūru. Manam interfeisam vajadzētu būt divām pogām. Viena poga, lai pārietu starp dažādiem līmeņiem, otra poga, lai mainītu dažādu līmeņu vērtības.

Lai atrisinātu PQ formulu, es izveidoju iepriekš minēto struktūru:

Protams, es neizgudroju riteni no jauna. Lai izveidotu kodu, es izmantoju moduli:

- atkāpšanās

- displejs

Lielākie izaicinājumi bija šādi punkti:

- Kā es varu izvēlēties zīmi? Es atrisināju šo izaicinājumu ar funkciju modulo (saite). Kods dala ievadīto ar 2. Vai ievade ir nepāra skaitlis, vērtība kļūst negatīva, pretējā gadījumā skaitlis ir pozitīvs.

- Pēc visu līmeņu skriešanas man visas vērtības ir jādeklarē uz 0.

- Parādītais teksts tikai izdzēš nosūtīšanas rakstzīmes. Ja kodi nosūta vārdu ar 4 rakstzīmēm, tikai šīs 4 rakstzīmes tiks atkārtoti ielādētas. Ja iepriekšējā vārdā bija vairāk rakstzīmju, rakstzīmes paliks. Lai to labotu, parādītais teksts tiks aizpildīts ar tukšām vietām. Visas 16 rakstzīmes pēc kārtas tiks atkārtoti ielādētas.

Gala kods ir pievienots.

3. darbība: aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Aparatūra

Daļas ir uzskaitītas iepriekš. Šim projektam aparatūra ir vienkārša. Man vajag tikai Arduino mikroprocesoru, 2 pogas un displeju. Labi, ja jums patīk ielikt kastē, jums ir nepieciešama kaste un barošanas avots.

Es atkārtoti izmantoju vecu metāla kasti. Es urbju caurumu pogai, lai pievienotu barošanas avota slēdzi. Kastes vāciņā ir 3 caurumi. Es izurbju divus caurumus lielajām pogām un izgriezu displeja logu. Es uzlīmēju nelielu koka gabalu aiz vāka, lai būtu vairāk lietu displeja un pogu labošanai. Lai uzlabotu izskatu, kastē ir uzlīmes.

Barošanai es iesaku uzlādējamas 9V bloka baterijas. Es pievienoju akumulatoru, izmantojot barošanas slēdzi, Arduino. Akumulators ir piestiprināts pie kastes ar nelielu metāla leņķi. Akumulatora savienotājs ir tikai fiksēts ar kabeļu saitēm.

Mikroprocesors ir Arduino nano klons. Šim lietošanas gadījumam veiktspēja ir pietiekama. Attiny 85, piemēram, Digispark mikroprocesors, tika noraidīts. Arduino ir “maizes dēlis” blakus displejam.

Displejs ir 1602 LCD displejs. divās rindās varat izmantot 16 rakstzīmes. Šo displeju var atrast daudzās dažādās mašīnās un instrumentos. Ir divi dažādi veidi, kā izmantot šo displeju. Jūs varat savienot displeju tieši ar kontrolieri vai izmantot papildinājumu, lai sazinātos ar displeju, izmantojot I2C. I2C ir standarta protokols. Es to izmantoju, jo displeju ir vieglāk savienot ar kontrolieri. Jums vienkārši nepieciešami 4 kabeļi, nevis 16, VCC līdz 5V, GND līdz GND, SDA līdz A4, SCL līdz A5. Displejs ir piestiprināts pie skrūvēm pie kastes vāka.

Pogas ir milzīgas! viņiem ir tipisks arkādes spēles stils. Man tas patīk! Pogas ir savienotas ar 4. un 7. ciparu tapu. Lūdzu, neaizmirstiet 10K rezistorus!

Lai atvērtu vāku, piemēram, lai nomainītu akumulatoru, es izmantoju garākus kabeļus, kas pievienoti maizei.

4. solis: elektroinstalācija

Elektroinstalācija
Elektroinstalācija

5. solis: turpmākā uzlabošana

Nākotnes uzlabošana

Pabeidzot projektu, jūs vienmēr atrodat kļūdas vai funkcijas uzlabošanai. Šajā projektā es priecājos atrast tikai dažus punktus, kurus es varētu uzlabot nākotnē.

Nākamajai reizei es uzlabotu ekspluatāciju kastē. Šī projekta sākumā es laboju displeju, barošanas slēdzi un pogas. Beigās man radās grūtības atrast pietiekami daudz vietas akumulatoram un mikroprocesoram kastē. Noliekot pogu un displeju vairāk ārā, man nebūtu nekādu problēmu ar vietu detaļām kastes iekšpusē.

Pašlaik man nav izmantošanas gadījuma kvadrātvienādojuma risināšanai. Lai uzlabotu rīku, es vēlētos to papildināt ar papildu matemātiskām lietām, piemēram, pamata aprēķinu vai formulām, piemēram, binomālo formulu vai Pitagora teikumu.

Ieteicams: