Orodha ya maudhui:
- Hatua ya 1: Nyuma ya hesabu
- Hatua ya 2: Programu
- Hatua ya 3: Vifaa
- Hatua ya 4: Wiring
- Hatua ya 5: Uboreshaji wa Baadaye
Video: Kitufe cha 2-Button Quadratic Solver: 5 Hatua
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:51
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
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
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
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:
Kitufe cha Servo Kitufe: Hatua 5
Kitufe cha Servo Lock: Halo kila mtu, tunatumai umekuwa na siku njema. Ikiwa sio tumaini unaweza kurudi nyuma na mawazo wazi kwenye mafunzo haya na muziki wa matibabu. Programu inaweza kuwa shida. Kwa bahati nzuri, mafunzo haya sio shida, kwa hivyo labda unaweza kuambatana
Kitufe kimoja cha Kusimamishwa kwa Kitufe cha Servo: Hatua 3
Kifungo kimoja cha Kusimamishwa kwa Kitufe cha Servo: Baiskeli kamili za kusimamishwa kwa mlima hutoa safari laini, lakini mara nyingi zinahitaji kufunga kusimamishwa wakati wa kupanda kupanda. Vinginevyo, kusimamishwa kunabana unaposimama juu ya miguu, na kupoteza juhudi hizo. Watengenezaji wa baiskeli wanajua hili, na wanatoa
Mdhibiti mdogo wa AVR. Geuza LED Kutumia Kitufe cha Kushinikiza. Kitufe cha kushinikiza Kudondoa: Hatua 4
Mdhibiti mdogo wa AVR. Geuza LED Kutumia Kitufe cha Kushinikiza. Kitufe cha kushinikiza Kudondoa: Katika sehemu hii, tutajifunza Jinsi ya kutengeneza nambari C ya mpango wa ATMega328PU kugeuza hali ya LED tatu kulingana na pembejeo kutoka kwa kitufe cha kifungo. Pia, tumechunguza suluhisho la shida ya ni 'Badilisha Bounce'. Kama kawaida, sisi
Kitufe cha kushinikiza kitufe cha Analog: 4 Hatua
Kitufe cha kushinikiza nyeti cha Analog: Leo kuna ufunguo wa chaguo za vifungo na swichi za kugusa kwa bei yoyote na sababu yoyote ya fomu. Kwa bahati mbaya, ikiwa unatafuta kupata pembejeo ya analog, chaguzi zako ni chache zaidi. Ikiwa kitelezi chenye uwezo haikidhi hitaji lako, uko sawa
Kitufe cha Arduino Kitufe cha LED Kinachoendesha Usindikaji wa michoro: Hatua 36 (na Picha)
Kitufe cha Kitufe cha Arduino kinachoendesha michoro ya kusindika: Kitufe cha kitufe hiki kinafanywa kwa kutumia PCB na vifaa vingine vilivyotengenezwa na Sparkfun. Inaendeshwa na Arduino Mega. Kila kitufe ni kizuri na kibovu na kinaridhisha kubonyeza, na ina RGB ya LED ndani! Nimekuwa nikitumia kudhibiti michoro mimi