Kazalo:
- 1. korak: matematično ozadje
- 2. korak: Programska oprema
- 3. korak: Strojna oprema
- 4. korak: Ožičenje
- 5. korak: Prihodnja izboljšava
Video: Reševalnik kvadratnih enačb z dvema gumboma: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Uvod
dobrodošli na mojem prvem pouku!
Ta projekt sem začel, da bi razširil svoje znanje programiranja. Pogosto preprosto združite drugo izvorno kodo, da ustvarite program, ki ga potrebujete. Moj cilj je bil napisati lastno programsko kodo za interakcijo z orodjem. Všeč mi je bilo ustvariti preprosto orodje za izračun. Pred nekaj meseci sem podprl prijatelja pri reševanju kvadratne enačbe.
Bazinga! to je primer uporabe!
Ponovno sem uporabil staro kovinsko škatlo. Raje sem imel minimalističen videz in vmesnik orodij. zato želim samo uporabiti 2 gumba za vnos. Tekmovanje bo prikazano s preprostim LCD zaslonom.
Zaloge
seznam materialov:
škatla
2 gumb Arkadni slog
Arduino Nano ali podobno
LCD zaslon 1602 z adapterjem I2C
stikalo za vklop/izklop
žice
2x 10k ohmski upor
baterija 9v blok
priključek za 9v baterijo
deska
drugo (kos lesa, kovinski kot, kabelske vezice, vijak, podložke)
orodja:
videl
spajkalnik
vrtalni stroj
računalnik za programiranje
1. korak: matematično ozadje
Matematično ozadje
Kvadratna enačba z 2 gumboma prikazuje vrednosti, kjer kvadratna funkcija prečka os X. Kvadratna funkcija ne more preseči osi X nikoli, enkrat ali dvakrat.
Te vrednosti lahko izračunate na različne načine. Za svoje orodje uporabljam formulo PQ (nisem prepričan, ali se bo ta izraz uporabljal po vsem svetu).
Kvadratna enačba ima obliko:
ax²+bx+c = 0
Za izračun križišč razdelite obrazec z x²+px+q = 0 s p = b/a; q = c/a
formula PQ:
x1 = -p/2 + sqrt ((p/2) ² -q)
x2 = -p/2 -sqrt ((p/2) ² -q)
Rezultat x lahko dobi 0, 1 ali 2 vrednosti. To je odvisno od vrednosti pod kvadratnim korenom.
Če je vrednost> 0, ima formula PQ dve rešitvi.
Je vrednost = 0, potem ima formula PQ eno rešitev
je vrednost <0, potem formula PQ nima rešitve. Funkcija ne prečka osi X.
2. korak: Programska oprema
Programska oprema
Za programiranje sem uporabil uradni Arduino IDE. Moj cilj je bil ustvariti lasten program. Moj vmesnik bi moral imeti dva gumba. En gumb za prehod med različnimi nivoji, drugi gumb za spreminjanje vrednosti na različnih ravneh.
Za rešitev formule PQ ustvarim zgornjo strukturo:
Zagotovo ne odkrivam kolesa znova. Za ustvarjanje kode sem uporabil modul:
- odpovedati
- prikaz
Največji izziv so bile naslednje točke:
- Kako lahko izberem znak? Ta izziv sem rešil s funkcijo modulo (povezava). Koda deli vhod z 2. Ali je vhod liho število, vrednost postane negativna, sicer je število pozitivno.
- Ko tečem po vseh ravneh, moram vse vrednosti razglasiti na 0.
- Prikazano besedilo samo izbriše znake za pošiljanje. Če kode pošiljajo besedo s 4 znaki, se bodo naložili samo ti 4 znaki. Če je imela beseda prej več znakov, bodo znaki ostali. Če želite to odpraviti, bo prikazano besedilo napolnjeno s prazninami. Ponovno se naloži vseh 16 znakov zapored.
Končna koda je priložena.
3. korak: Strojna oprema
Strojna oprema
Deli so navedeni zgoraj. Za ta projekt je strojna oprema preprosta. Potrebujem samo mikroprocesor Arduino, 2 gumba in zaslon. V redu, če želite dati v škatlo, potrebujete tudi škatlo in napajalnik.
Ponovno uporabim staro kovinsko škatlo. V gumb za vtič stikala za napajanje sem izvrtal luknjo. Pokrov škatle ima 3 luknje. Izvrtal sem dve luknji za velike gumbe in izrezal okno za zaslon. Za pokrov prilepim majhen kos lesa, da imam več stvari za popravilo zaslona in gumbov. Za nadgradnjo videza je škatla dobila nalepke.
Za napajanje priporočam polnilne 9 -voltne baterije. Baterijo povežem prek stikala za vklop na Arduino. Baterija je pritrjena na škatlo z majhnim kovinskim kotom. Priključek za baterijo je pritrjen s kabelskimi vezicami.
Mikroprocesor je klon Arduino nano. V tem primeru je zmogljivost zadostna. Attiny 85, na primer mikroprocesor Digispark, je bil zavrnjen. Arduino je poleg zaslona "krušno obložen".
Zaslon je 1602 LCD zaslon. lahko uporabite 16 znakov v dveh vrsticah. Ta zaslon lahko najdete v številnih različnih strojih in orodjih. Ta zaslon lahko uporabljate na dva različna načina. Zaslon lahko priključite neposredno na krmilnik ali pa uporabite dodatek za komunikacijo z zaslonom prek I2C. I2C je standardni protokol. Uporabil sem ga, ker je zaslon lažje priključiti na krmilnik. Potrebujete le 4 kable namesto 16, VCC do 5V, GND do GND, SDA do A4, SCL do A5. Zaslon je pritrjen z vijaki na pokrov škatle.
Gumbi so ogromni! imajo tipičen slog arkadnih iger. Všeč mi je! Gumbi so priključeni na digitalni pin 4 in 7. Ne pozabite na 10K upore!
Za odpiranje pokrova, na primer za menjavo baterije, sem uporabil daljše kable, priključene na ploščo.
4. korak: Ožičenje
5. korak: Prihodnja izboljšava
Prihodnja izboljšava
Po končanem projektu vedno najdete napake ali funkcije za izboljšave. V tem projektu sem vesel, da sem našel le nekaj točk, ki bi jih izboljšal v prihodnje.
Naslednjič bi izboljšal izkoriščanje v škatli. Na začetku tega projekta sem popravil zaslon, stikalo za vklop in gumbe. Na koncu sem imel nekaj težav, da sem v škatli našel dovolj prostora za baterijo in mikroprocesor. Ko bi gumb in zaslon dal bolj zunaj, ne bi imel težav s prostorom za dele v škatli.
Trenutno nimam primera uporabe za reševanje kvadratne enačbe. Za izboljšanje orodja bi želel orodje razširiti z dodatnimi matematičnimi stvarmi, na primer osnovnim računom ali formulami, kot je binominska formula ali stavek Pitagore.
Priporočena:
Relejsko stikalo z dvema gumboma: 3 koraki
Stikalo z dvema gumboma: ta članek vam pokaže, kako vklopite in izklopite stikalo z gumbom. To vezje lahko izvedete z dvema stikaloma. Pritisnite eno stikalo in žarnica se vklopi. Pritisnite drugo stikalo in žarnica se izklopi. Vendar pa ta Ins
Naredi sam vrtljiv stroj z dvema motorjema: 10 korakov (s slikami)
DIY vrtljiv stroj z dvema motorjema: Sprva si vedno želim imeti gramofon za streljanje, pred kratkim pa sem ugotovil, da sta bila dva motorja v prostem teku. Zato sem se vprašal, ali bi z njimi lahko naredil vrtenje. Brez odlašanja bom poskusil! Načelo: Zmanjšanje r
Reševalnik prometa: 7 korakov
Traffic Solver: Traffic Solver avtomatizira nadzor prometa znotraj enega pasu v gradbenem območju. Da bi ta sistem deloval brez vmesnih nesreč, morata biti dve enoti, po ena na vsaki strani. Obe enoti bosta imeli motor in vrtljivo držalo, ki
Ustvarjanje tonov različnih vrst z uporabo matematičnih enačb (MathsMusic) Arduino: 5 korakov
Ustvarjanje tonov različnih vrst z uporabo matematičnih enačb (MathsMusic) Arduino: Opis projekta: Začelo se je novo potovanje, kjer je mogoče ideje preprosto implementirati z odprtokodno skupnostjo (zahvaljujoč Arduinu). Torej, tukaj je način · Poglejte okoli sebe in opazujte svojo okolico · Odkrijte težave, ki jih je treba rešiti
Generator kvadratnih valov Fast Edge: 4 koraki
Fast Edge Square Wave Generator: Če želite izmeriti induktivnost, kapacitivnost katere koli komponente, potem potrebujete hiter robni kvadratni val, v tem članku izvemo o tem