INHOUDSOPGAWE:

2-knoppie kwadratiese vergelykingoplosser: 5 stappe
2-knoppie kwadratiese vergelykingoplosser: 5 stappe

Video: 2-knoppie kwadratiese vergelykingoplosser: 5 stappe

Video: 2-knoppie kwadratiese vergelykingoplosser: 5 stappe
Video: Kwadratische vergelijkingen - Oplossen met ontbinden in factoren (havo/vwo 2) - WiskundeAcademie 2024, Julie
Anonim
Image
Image

Inleiding

welkom by my eerste instruksies!

Ek het hierdie projek begin om my kennis van programmering uit te brei. Dikwels kombineer u net verskillende bronkode om die program te skep wat u benodig. My doel was om my eie programkode te skryf vir interaksie met 'n instrument. Ek het daarvan gehou om 'n eenvoudige hulpmiddel vir die berekening te skep. 'N Maand gelede het ek 'n vriend ondersteun om kwadratiese vergelyking op te los.

Bazinga! dit is die gebruiksgeval!

Ek het 'n ou metaalkas hergebruik. Ek het die minimalistiese voorkoms en koppelvlak van gereedskap verkies. dit is die rede waarom ek net 2 knoppies wil gebruik om invoer te gee. Die stryd sal deur 'n eenvoudige LCD -skerm vertoon word.

Voorrade

materiaal lys:

boks

Arcade -styl met 2 knoppies

Arduino Nano, of soortgelyk

LCD -skerm 1602 met I2C -adapter

aan/af skakelaar

drade

2x 10k Ohm weerstand

battery 9v blok

aansluiting vir 9v battery

broodbord

diverse (stuk hout, metaalhoek, kabelbinders, skroef, ringe)

gereedskap:

gesien het

soldeerbout

boormasjien

rekenaar vir programmering

Stap 1: Wiskundige agtergrond

Sagteware
Sagteware

Wiskundige agtergrond

Die kwadratiese vergelyking met 2 knoppies toon die waardes waar die kwadratiese funksie die X-as kruis. 'N Kwadratiese funksie kan die X-as nooit, een of twee keer kruis nie.

Daar is verskillende maniere om hierdie waardes te bereken. Vir my instrument gebruik ek die PQ-formule (ek is nie seker of hierdie uitdrukking oor die hele wêreld gebruik gaan word nie).

'N Kwadratiese vergelyking het die vorm:

ax²+bx+c = 0

Om die kruispunte te bereken, deel die vorm met a x²+px+q = 0 met p = b/a; q = c/a

die PQ -formule:

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

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

Die resultaat x kan 0, 1 of 2 waardes kry. Dit hang af van die waarde onder die vierkantswortel.

Is die waarde> 0, dan het die PQ-formule twee oplossings.

Is die waarde = 0, dan het die PQ-formule een oplossing

is die waarde <0, dan het die PQ -formule geen oplossing nie. Die funksie kruis nie die X-as nie.

Stap 2: sagteware

Sagteware

Vir die programmering gebruik ek die amptelike Arduino IDE. My doelwit was om my eie sagtewareprogram te skep. My koppelvlak moet twee knoppies hê. Een knoppie om tussen verskillende vlakke te stap, die tweede knoppie om die waardes op die verskillende vlakke te verander.

Om die PQ-formule op te los, skep ek die struktuur hierbo:

Ek vind beslis nie die wiel uit nie. Vir die skep van die kode gebruik ek die module:

- verswak

- vertoon

Die volgende uitdagings was die grootste uitdagings:

- Hoe kan ek die teken kies? Ek het hierdie uitdaging opgelos met die funksie modulo (skakel). Die kode deel die invoer met 2. Is die invoer 'n onewe getal, die waarde word negatief, anders is die getal positief.

- Nadat ek deur alle vlakke gegaan het, moet ek alle waardes tot 0 verklaar.

- Die vertoonde teks vee net die stuurkarakters uit. As die kodes 'n woord met 4 karakters stuur, word net hierdie 4 karakters herlaai. As die woord voorheen meer karakters bevat, sal die karakters bly. Om dit reg te stel, word die vertoonde teks gevul met spasies. Al 16 karakters in 'n ry sal herlaai word.

Die finale kode is aangeheg.

Stap 3: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware

Hardeware

Die onderdele word hierbo gelys. Vir hierdie projek is die hardeware eenvoudig. Ek benodig net 'n Arduino -mikroverwerker, 2 knoppies en 'n skerm. Goed, as u daarvan hou om in 'n boks te sit, benodig u ook 'n boks en kragtoevoer.

Ek hergebruik 'n ou metaalkas. Ek het 'n gat in die knoppie geboor om die skakelaar vir kragtoevoer in te skakel. Die boksdeksel het 3 gate. Ek het twee gate vir die groot knoppies geboor en 'n venster vir die skerm gesny. Ek steek 'n stukkie hout agter die omslag om meer goed te hê om die skerm en knoppies reg te maak. Om die voorkoms op te gradeer, het die boks plakkers gekry.

Vir kragvoorsiening beveel ek herlaaibare 9V -blokbatterye aan. Ek koppel die battery via die kragskakelaar aan die Arduino. Die battery is vasgemaak aan die boks met 'n klein metaalhoek. Die aansluiting vir die battery word net met kabelbinders vasgemaak.

Die mikroverwerker is 'n kloon van 'n Arduino -nano. Vir hierdie gebruiksgeval is die prestasie voldoende. 'N Attiny 85, byvoorbeeld 'n Digispark -mikroverwerker, is verwerp. Die Arduino is 'broodbord' langs die skerm.

Die skerm is 'n 1602 LCD -skerm. u kan 16 karakters in twee rye gebruik. U kan hierdie skerm in baie verskillende masjiene en gereedskap vind. Daar is twee verskillende maniere om hierdie skerm te gebruik. U kan die skerm direk met die beheerder koppel, of u kan 'n byvoeging gebruik om via I2C met die skerm te kommunikeer. I2C is 'n standaard protokol. Ek het dit gebruik, want dit is makliker om die skerm aan die kontroleerder te koppel. U benodig net 4 kabels in plaas van 16, VCC tot 5V, GND na GND, SDA na A4, SCL tot A5. Die skerm word met skroewe aan die boks se deksel vasgemaak.

Die knoppies is groot! hulle het die tipiese styl van die arcade game. Ek hou daarvan! Die knoppies is gekoppel aan die digitale pen 4 en 7. Moenie die 10K weerstande vergeet nie!

Om die deksel oop te maak, byvoorbeeld om die battery uit te ruil, gebruik ek langer kabels wat op die broodbord gekoppel is.

Stap 4: Bedrading

Bedrading
Bedrading

Stap 5: Toekomstige verbetering

Toekomstige verbetering

Nadat u 'n projek voltooi het, vind u altyd foute of verbeterings. In hierdie projek is ek bly om net 'n paar punte te vind, wat ek vir die toekoms kan verbeter.

Vir 'n volgende keer sou ek die uitbuiting in die boks verbeter. Ek het die skerm, die aan / uit -skakelaar en die knoppies reggemaak aan die begin van hierdie projek. Aan die einde het ek 'n bietjie moeite gekry om genoeg ruimte vir die battery en die mikroverwerker in die boks te vind. As ek die knoppie en die skerm meer buite plaas, sou ek nie probleme ondervind met die ruimte vir die dele in die boks nie.

Op die oomblik het ek nie 'n gebruiksgeval om kwadratiese vergelyking op te los nie. Om die instrument te verbeter, wil ek die instrument uitbrei met verdere wiskundige dinge, byvoorbeeld basiese berekening of formules soos binominale formule of sin van die Pythagoras.

Aanbeveel: