Tartalomjegyzék:
- 1. lépés: Matematikai háttér
- 2. lépés: Szoftver
- 3. lépés: Hardver
- 4. lépés: huzalozás
- 5. lépés: Jövőbeli fejlesztés
Videó: 2 gombos másodfokú egyenletmegoldó: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Bevezetés
Üdvözöllek az első oktathatóban!
A programozási ismereteim bővítése érdekében kezdtem el ezt a projektet. Gyakran csak egyesíti a különböző forráskódokat a szükséges program létrehozásához. Célom az volt, hogy saját programkódot írjak az eszközzel való interakcióhoz. Szerettem egy egyszerű számítási eszközt létrehozni. Néhány hónapja támogattam egy barátomat a másodfokú egyenlet megoldásához.
Bazinga! ez a használati eset!
Újra használtam egy régi fémdobozt. Én az eszközök minimalista megjelenését és felületét részesítettem előnyben. ezért csak 2 gombot szeretnék használni a bemenet megadásához. A versenyt egy egyszerű LCD kijelző mutatja.
Kellékek
anyaglista:
doboz
2 gombos Arcade stílus
Arduino Nano, vagy hasonló
1602 LCD kijelző I2C adapterrel
be/ki kapcsoló
vezetékek
2x 10 k ohmos ellenállás
akkumulátor 9V blokk
csatlakozó 9V -os akkumulátorhoz
kenyeretábla
egyéb (fadarab, fémszög, kábelkötegek, csavarok, alátétek)
eszközök:
fűrész
forrasztópáka
fúrógép
számítógép a programozáshoz
1. lépés: Matematikai háttér
Matematikai háttér
A 2 gombos másodfokú egyenlet azokat az értékeket mutatja, ahol a másodfokú függvény keresztezi az X tengelyt. Egy másodfokú függvény soha, egyszer vagy kétszer nem lépheti át az X tengelyt.
Ezeknek az értékeknek a kiszámításának különböző módjai vannak. Eszközömnél a PQ-képletet használom (nem vagyok biztos benne, hogy ezt a kifejezést az egész világon használni fogják-e).
A másodfokú egyenlet formája:
ax²+bx+c = 0
Az átkelési pontok kiszámításához ossza meg az űrlapot x²+px+q = 0 -val p = b/a -val; q = c/a
a PQ képlet:
x1 = -p/2 + sqrt ((p/2) ² -q)
x2 = -p/2 -sqrt ((p/2) ² -q)
Az x eredmény 0, 1 vagy 2 értéket kaphat. Ez a négyzetgyök alatti értéktől függ.
Ha az érték> 0, akkor a PQ-képletnek két megoldása van.
Ha az érték = 0, akkor a PQ-képletnek van egy megoldása
értéke <0, akkor a PQ képletnek nincs megoldása. A függvény nem keresztezi az X tengelyt.
2. lépés: Szoftver
Szoftver
A programozáshoz a hivatalos Arduino IDE -t használtam. Célom az volt, hogy saját szoftvert készítsek. Az interfészemnek két gombnak kell lennie. Az egyik gombbal léphet a különböző szintek közé, a második gombbal a különböző szintek értékeit módosíthatja.
A PQ-képlet megoldásához létrehozom a fenti struktúrát:
Egy biztos, nem találom fel újra a kereket. A kód létrehozásához a modult használtam:
- lekapcsolás
- kijelző
A következő szempontok jelentették a legnagyobb kihívást:
- Hogyan választhatom ki a jelet? Ezt a kihívást a modulo (link) függvénnyel oldottam meg. A kód osztja a bemenetet 2 -vel. Ha a bemenet páratlan szám, az érték negatív lesz, ellenkező esetben a szám pozitív.
- Az összes szint végigfutása után minden értéket 0 -ra kell deklarálnom.
- A megjelenített szöveg csak törli a küldött karaktereket. Ha a kódok 4 karakterből álló szót küldenek, akkor csak ez a 4 karakter kerül újratöltésre. Ha az előző szónak több karaktere volt, a karakterek megmaradnak. Ennek kijavítása érdekében a megjelenített szöveg üres helyekkel lesz feltöltve. Sorban mind a 16 karakter újratöltődik.
A végső kód csatolva van.
3. lépés: Hardver
Hardver
Az alkatrészek a fentiekben vannak felsorolva. Ehhez a projekthez a hardver egyszerű. Csak egy Arduino mikroprocesszor kell, 2 gomb és egy kijelző. Oké, ha szeretnél dobozba tenni, akkor kell egy doboz és egy tápegység is.
Újra használok egy régi fémdobozt. Lyukat fúrtam a gombba a tápellátás kapcsolójának bedugásához. A doboz fedele 3 lyukat kapott. Két lyukat fúrtam a nagy gombokhoz, és kivágtam egy ablakot a kijelzőhöz. Ragasztok egy kis fadarabot a fedél mögé, hogy legyen még holmi javítani a kijelzőt és a gombokat. A megjelenés frissítéséhez a doboz matricákat kapott.
Tápellátáshoz az újratölthető 9 V -os blokk elemeket javaslom. Az akkumulátort a tápkapcsolón keresztül csatlakoztatom az Arduino -hoz. Az akkumulátort kis fémszöggel rögzítik a dobozhoz. Az akkumulátor csatlakozóját csak kábelkötegekkel rögzítik.
A mikroprocesszor egy Arduino nano klónja. Ebben az esetben a teljesítmény elegendő. Egy Attiny 85 -öt, például egy Digispark mikroprocesszort elutasítottak. Az Arduino "kenyér deszkán" van a kijelző mellett.
A kijelző egy 1602 -es LCD kijelző. két sorban 16 karaktert használhat. Ezt a kijelzőt számos különböző gépben és eszközben megtalálhatja. A kijelző kétféleképpen használható. A kijelzőt közvetlenül a vezérlőhöz csatlakoztathatja, vagy egy kiegészítő segítségével kommunikálhat a kijelzővel az I2C-n keresztül. Az I2C egy szabványos protokoll. Én használtam, mert könnyebb csatlakoztatni a kijelzőt a vezérlőhöz. Csak 16 kábelre van szüksége, VCC -5V, GND -GND, SDA -A4, SCL -A5. A kijelző csavarokkal van rögzítve a doboz fedelére.
A gombok hatalmasak! tipikus arcade játékstílusuk van. Tetszik! A gombok a 4 -es és 7 -es digitális tüskékhez vannak csatlakoztatva. Kérjük, ne felejtse el a 10K ellenállást!
A fedél kinyitásához, például az akkumulátor cseréjéhez hosszabb kábeleket használtam, amelyek a kenyérlapra voltak csatlakoztatva.
4. lépés: huzalozás
5. lépés: Jövőbeli fejlesztés
Jövőbeli fejlesztés
A projekt befejezése után mindig talál hibákat vagy javítandó funkciókat. Ebben a projektben örülök, hogy csak néhány pontot találtam, a jövőben javítanék.
Legközelebb a dobozban lévő kizsákmányolást javítanám. A projekt elején javítottam a kijelzőt, a főkapcsolót és a gombokat. A végén némi gondot kaptam, hogy elegendő helyet találjak az akkumulátornak és a mikroprocesszornak a dobozban. Amikor a gombot és a kijelzőt jobban kint teszem, nem lesz gondom a dobozon belüli alkatrészek helyével.
Jelenleg nincs használati esetem másodfokú egyenlet megoldására. Az eszköz fejlesztése érdekében szeretném bővíteni az eszközt további matematikai dolgokkal, például alapvető számításokkal vagy olyan képletekkel, mint a binominális képlet vagy a Pythagoras mondata.
Ajánlott:
4 gombos játék egy analóg bemenet használatával: 6 lépés (képekkel)
4 Gombos játék egy analóg bemenet használatával: Ez az utasítás arra összpontosít, hogy egy analóg bemeneti vonalat használjon több, egymástól függetlenül észlelhető gombhoz. Ezen gombok használatának kiemeléséhez pedig négy különböző 4 gombos játék lejátszására szolgáló szoftver szerepel. Minden játék (8 in
Üsd meg a gombos többjátékos játékot: 4 lépés
Whack a Button Multiplayer: Egy játék, mint egy Whack-a-Mole. LED-eket és gombokat használva. 2 mód közül választhat:-Egyjátékos-Multiplayerin egyjátékos mód, 3 szint van: LEVEL_1: 1 dióda 1 másodpercig LEVEL_2: 2 dióda 1 másodperc LEVEL_3: 2 dióda 0,7 másodpercig És a multip
1 gombos MIDI vezérlő oktatóanyag: 6 lépés
1 gombos MIDI vezérlő bemutató: Sok oktatóanyag létezik az Arduino-MIDI vezérlők számára, ez egy csupasz csatorna, amely bemutatja, hogyan lehet gördülni egy egyszerű gombbal és potenciométerrel. Szerettem volna ilyesmivel találkozni, amikor még elkezdtem
Egyszerű gombos zenei felület: 5 lépés (képekkel)
Egyszerű gombos zenei interfész: Ez a projekt egy 5 dolláros Staple Easy gombot és egy olcsó USB -billentyűzetet módosít, hogy az élő zenei előadások beviteli eszközeként (vagy bármi máshoz, amelyhez gomb vagy lábkapcsoló szükséges) használható. Lehetővé teszi olcsó gombok létrehozását
Másodfokú egyenlet makró Excelben: 3 lépés
Másodfokú egyenlet makró az Excel-ben: egyszerűen meg tudja oldani a másodfokú egyenleteket, ha csak az eszközök-makró futtatása makróba megy. Új tag vagyok, és tényleg szükségem van bármilyen visszajelzésre. Élvezze, ha nem használ semmilyen papírt ezeknek az egyenleteknek a megoldására