Tartalomjegyzék:
- Kellékek
- 1. lépés: Algoritmusok 101
- 2. lépés: Az algoritmusok
- 3. lépés: LED -sáv: 3D nyomtatás a maszkra
- 4. lépés: A LED -sáv alternatívái
- 5. lépés: LED -sáv
- 6. lépés: Vezérlőpult
- 7. lépés: Gombheveder
- 8. lépés: Rotációs kódoló
- 9. lépés: 7 szegmenses kijelző
- 10. lépés: Fő vezérlőpanel
- 11. lépés: Összeszerelés
- 12. lépés: Kód
- 13. lépés: Hogyan kell használni
Videó: Az algoritmusgép: 13 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
15 éve tanítok informatikát főiskolai szinten, és bár szakértelmem inkább a programozási oldalon áll, még mindig elég sok időt töltök a szabványos keresési és rendezési algoritmusok lefedésével. Oktatási szempontból a központi kérdés a számítás bonyolultsága: mennyi időt igényel az egyes algoritmusok, adott méretű bemenet mellett? De számos árnyalat van. Például az algoritmusok eltérő futási idővel rendelkeznek a konkrét bemeneti értékektől függően (a mérettel szemben)? Milyen esetekben választaná az egyik rendezési algoritmust a másik helyett? Bár ezeket a kérdéseket elvontan tárgyaljuk, mindig zavarba ejtett, hogy nem volt egyszerű módja annak, hogy megnézzük, hogyan működnek a különböző algoritmusok különböző körülmények között.
Célok
A projekt átfogó célja az volt, hogy interaktív kijelzőt készítsek a diákok számára az algoritmusok vizualizálására és felfedezésére. Az algoritmusokra korlátozódtam, amelyek érték tömbökön (egész számokon) dolgoznak, így címzett RGB LED szalagot használhatok a tömb tartalmának megjelenítéséhez. A tömb 100 elemből áll, és minden egész szám szivárványos sorrendben van leképezve, így azonnal nyilvánvaló, amikor a tömb rendezett, részben rendezett vagy véletlenszerű. Az értékek mellett azonban módot szerettem volna megjeleníteni az algoritmus vezérlő vonatkozásait - például, hogy a tömb mely elemeit hasonlítják össze vagy cserélik ki.
A konkrét célok a következők:
- Különféle keresési és rendezési algoritmusok biztosítása
- Vizualizálja a tömb értékeit oly módon, hogy kiemelje az algoritmus előrehaladását
- Az algoritmusvezérlés vizualizálása; különösen a figyelembe vett elemeket.
- Engedélyezze a felhasználóknak a bemeneti adatminták kiválasztását ahelyett, hogy mindig véletlen értékeket generálnának
- Engedélyezze a felhasználóknak a sebesség szabályozását és az algoritmus szüneteltetését
-Engedélyezze a felhasználóknak a legjobb, legrosszabb és átlagos esetek viselkedését (algoritmus-specifikus)
- Mutassa meg a lépések számát az algoritmus előrehaladtával
Megjelenítés
Fizikai tervezés szempontjából a projekt legérdekesebb része a tömb megjelenítése. Küzdöttem az adatok és a vezérlés megjelenítésének, valamint a megjelenítő eszköz felépítésének módján. Célom az volt, hogy az adatértékeket színes körként, a kontrollpontokat pedig színes nyilakként mutassam, amelyek az adatértékekre mutatnak. Némi kísérletezés után úgy döntöttem, hogy két párhuzamos, 100 RGB LED -es (WS2812) csík van, kör alakú maszkkal minden adat LED felett, és háromszög alakú maszkkal minden vezérlő LED felett. Elkészítettem a maszk 3D -s modelljét 10 pár körrel és háromszöggel, majd 3D -ben kinyomtattam ebből a modulból 10 darabot, összesen 100 kört és 100 háromszöget. A maszk méretét és távolságát 100 méterenként LED -es csíkokhoz tervezték. A 3D modellfájlok a leírás későbbi részében találhatók.
Elektronika és ház
A készülék többi része egyszerű, elektronikai szempontból. A két LED-csíkon kívül egy csomó pillanatnyi gomb, egy forgó kódoló (a sebességszabályozáshoz) és egy 7 szegmenses kijelző (a lépések megjelenítéséhez). Annyi gombbal és vezérlővel úgy döntöttem, hogy ESP32 mikrovezérlőt használok, mert sok tű látható és elég erős. Megnézem a bekötési stratégiát, de ez elég alap. Valószínűleg tudna valami okosat csinálni a műszakregiszterek segítségével, ha kevesebb tűt szeretne használni.
Ennek a készüléknek a burkolatát sokféleképpen készítheti el. Kezdetben úgy képzeltem el, mint egy nagy téglalap alakú táblát, amelynek tetején a LED csík, a közepén pedig egy gombrács. A formát, amellyel végül végeztem, egyfajta 1960-as évek űrkorszak-technológiai nézetei ihlették. A LED szalagokkal függőleges helyzetben is felépítheti. Vagy tegye a LED -részt sokkal nagyobbra - töltse ki az egész falat - külön kezelőpanellel.
Szoftver
Ennek az eszköznek a kódja szabadon elérhető a GitHubon, és mindent megtettem, hogy dokumentáljam, hogyan működik, és hogyan kell beállítani. Az egyetlen külső könyvtár, amire szüksége van, a FastLED a WS2812 szalagok meghajtásához.
Kellékek
Elektronika
1 ESP32 fejlesztőlap (pl.
2 WS2812 vagy hasonló LED szalag, sűrűség 100 LED méterenként (pl.
1 Háromszög „start” gomb (pl.
12 pillanatnyi gomb (pl. Https://amzn.com/B01N4D4750) - különböző formák, ha szeretné
1 csomag (20) előre huzalozott gombcsatlakozó (pl.
1 csomag JST csatlakozó (pl.
1 forgó kódoló (pl.
1 Forgatógomb forgatható kódolóhoz (pl.
1 Pack Dupont csatlakozók (pl. Https://amzn.com/B014YTPFT8) - érdemes beszerezni a préselő szerszámot is.
1 hordó jack (áramellátáshoz) (pl.
1 TM1637 7 szegmenses numerikus kijelző (pl.
Forrasztó és huzalozó felszerelés
3D modell fájlok
A Thingiverse-n megtalálhatja a 10 modellből álló páros 3D modelljét:
www.thingiverse.com/thing:4178181
Ezt a modellt ötször kell kinyomtatnia, összesen 10 modulhoz.
Szoftver
github.com/samguyer/AlgorithmMachine
Burkolat
Fa, plexi, rozsdamentes acél csavarok és csavarok
Diffúziós anyag. A kedvencem a Lee Filters #216 teljes fehér diffúzió, de vannak más lehetőségek is. Még a sima fehér papír is jó munkát végez.
1. lépés: Algoritmusok 101
Sokan azt gondolják, hogy az informatika lényegében a programozás tanulmányozása. De ennek a területnek a valódi szíve és lelke az algoritmusok: a problémák megoldására szolgáló módszeres eljárások és azok költségeinek tanulmányozása (jellemzően mennyi ideig tart). A területen olyan fontos személyiségek, mint Alan Turing, Alonzo Church és Edsger Dijkstra gondolkodtak ezeken az ötleteken, mielőtt a számítógépek léteztek volna.
Az adott probléma megoldására szolgáló algoritmus legfontosabb jellemzője, hogy részletes és pontos, így valaki arra használhatja a megoldást, hogy egyáltalán ne értse, hogyan működik; csak kövesse a lépéseket mechanikusan, és megkapja a helyes választ. Láthatja, hogyan segít ez a számítógépek programozásában, mivel szükségük van ilyen részletességre. A számítógép nem tudja kitölteni a hiányzó részleteket, vagy megítélni, ahogyan azt egy személy megteheti.
Mennyi időbe telik?
Miután részletes eljárást kaptunk, természetes kérdés, hogy mennyi idő alatt kapjuk meg a választ? Nem használhatjuk a szokásos időegységeket, mivel ez attól függ, hogy ki végzi a munkát (hasonlítsa össze, hogy az ember milyen gyorsan tud valamit kiszámítani, szemben a szuperszámítógéppel). Ezen kívül attól is függ, hogy mennyi adatunk van. Nyilvánvaló, hogy több időbe telik egy millió telefonszámot tartalmazó listán keresni, mint egy százas listán.
Az algoritmus költségeinek leírásához először válasszunk ki egy műveletet az eljárás során, amely egy "lépést" jelent - általában valami egyszerű dolgot, például két szám összehasonlítását vagy összeadását, amely meghatározott ideig tart. Ezután előállunk egy képlettel, amely leírja, hogy az algoritmus hány lépést tesz meg bizonyos adatelemek esetén. Történelmi okokból szinte mindig nagy számmal jelöltük az adatelemek számát.
Például az N telefonszámok listájának végigtekintése N lépést tesz. A lista kétszeri átnézése 2N lépést tartalmaz. Mindkettőt lineáris időalgoritmusnak nevezik - a lépések teljes száma a bemeneti méret néhányszorosa. Más algoritmusok másodfokú (N négyzetes idő) vagy köbös (N kockás) vagy logaritmikus (log N), vagy ezek kombinációja. A legnehezebb számítási problémák némelyike exponenciális időalgoritmusokat igényel (2^N).
Oké, akkor mi van?
Ha az N adatelemek száma kicsi, akkor nem számít. Például N = 10 esetén 10N az a név, mint N négyzet. De mi van N = 1000 -el? vagy N = 1000000? Egy millió négyzet elég nagy szám. Még egy nagyon gyors számítógépen is sokáig tarthat egy másodfokú algoritmus, ha a bemenet elég nagy. Az exponenciális algoritmusok sokkal bonyolultabbak: N = 50 esetén az exponenciális algoritmus két hétig tart, még akkor is, ha olyan számítógépen fejeződik be, ahol minden lépés csak egy nanoszekundum (1 milliárd másodperc). Jaj!
A skála másik végén logaritmikus időalgoritmusok vannak, amelyek nagyon gyorsak. A naplózási idő az exponenciális idő ellentéte: adott N bemeneti méret esetén a lépések száma a T kitevő a 2 képletben^T = N. Például, ha a bemeneti méretünk egymilliárd, akkor a naplózási algoritmus csak 30 -at igényel lépés, hiszen 2^30 = 1, 000, 000, 000. Milyen édes ez?! ??!
Lehet, hogy vajon kit érdekelnek a milliós vagy milliárdos bemeneti méretek? Gondolj csak bele: hány felhasználó van a Facebookon? Hány weboldalt indexel a Google? Hány bázispár található az emberi genomban? Hány mérés megy egy időjárási szimulációba?
2. lépés: Az algoritmusok
Az Algoritmusgép jelenleg a következő algoritmusokat valósítja meg. Közülük kettő keresési algoritmus (talál egy adott értéket a listában), a többi rendezési algoritmus (rendezze az értékeket).
Lineáris keresés
Keresse meg az értékek listáját egyenként az elejétől kezdve. Lineáris időt igényel.
Bináris keresés
Keresse meg a listát úgy, hogy többször felére osztja. Naplózási időt igényel, de a listát rendezni kell, hogy működjön.
Buborék rendezés
Rendezzen egy listát többször egymás után cserélő szomszédos elemekkel, amelyek nem sorrendben vannak. Másodfokú időt igényel.
Beszúrás rendezése
Rendezzen egy listát úgy, hogy az egyes elemeket a megfelelő helyre helyezi a már rendezett értékek listájában. Másodfokú időt igényel.
Quicksort
Rendezze a listát úgy, hogy többször felére osztja a listát, és minden értéket áthelyez a mediánnál az első felére, és minden értéket nagyobb, mint a medián a második felére. A gyakorlatban nem tudjuk hatékonyan megtalálni a mediánt, ezért véletlenszerűen választunk ki egy értéket. Ennek eredményeként ez az algoritmus a legrosszabb esetben másodfokú lehet, de általában N * logN időt igényel.
Egyesítés rendezése
Rendezze a listát úgy, hogy felére osztja, a két felét külön rendezi (az egyesítés rendezésével), majd egyesíti őket az értékek összeillesztésével. Mindig N * logN időt igényel.
Halom rendezés
Rendezze a listát egy halom nevű adatstruktúra felépítésével, amely lehetővé teszi a legkisebb érték megtalálását a naplóidőben. Mindig N * logN időt igényel.
Bitonikus fajta
Hasonlóan az egyesítés rendezéséhez és a rövidortáshoz, ossza fel a listát fele, rendezze a feleket, és egyesítse újra őket. Ez az algoritmus N * logN * logN időt igényel, de előnye, hogy könnyen párhuzamosítható.
3. lépés: LED -sáv: 3D nyomtatás a maszkra
A LED -sáv felépítésének első lépése a lámpák alakját adó maszk 3D -s nyomtatása. Minden modul lefedi a tömb tíz elemét, 10 értéket (kör) és 10 mutatót (háromszöget), tehát összesen 10 modulra lesz szüksége. Az itt megadott STL fájl két példányt tartalmaz a modulból, így öt nyomtatási ciklust kell végrehajtania. Nincs a legjobb 3D nyomtatóm, ezért kézi tisztítást kellett végeznem rajtuk fájl és csiszolópapír segítségével. A legfontosabb, hogy a kör alakú és háromszög alakú lyukak tiszták legyenek.
A fényképeken a tesztbeállításomat láthatja: leragasztottam a két LED -csíkot, és egy mikrokontrollerrel ellátott kenyértáblához kapcsoltam. Ez a lépés nem szükséges, de látni akartam, hogyan fog kinézni, mielőtt elkezdem összeszerelni a házat. Felsorakoztattam a maszk modulokat a két LED szalagon, és futottam egy egyszerű vázlatot véletlenszerű színekkel. A diffúziós anyagból készült csíkkal a formák és a színek valóban feltűnnek.
4. lépés: A LED -sáv alternatívái
Amikor először elkezdtem ezt a projektet, kísérleteztem a LED -maszk elkészítésének más módjaival. Ha nincs 3D nyomtatója, fontolja meg az alábbi lehetőségek egyikét. Őszinte leszek: óriási fájdalom elkészíteni ezeket a részeket.
A körökhöz vettem egy 13/32 sárgaréz csövet, ami majdnem pontosan 1 cm átmérőjű. Száz 1 cm -es szegmensre vágtam, majd fehérre szórtam.
A háromszögekhez egy egyszer használatos tepsiből vágott, nehéz alufóliát használtam. Fából készítettem egy háromszög alakú formát, majd rövid fóliacsíkokat tekertem a forma köré és ragasztottam. Ismét szükség lesz ezekre a dolgokra százra, ezért némi idő és türelem szükséges.
5. lépés: LED -sáv
A burkolatom meglehetősen egyszerű: két facsík az oldalakhoz és két plexi szalag a felső és alsó részhez. Minden alkatrész körülbelül 102 cm hosszú (1 méter a LED -ekhez, plusz egy kis extra a vezetékek elhelyezéséhez). Az oldalaknak kissé magasabbnak kell lenniük 1 cm -nél, hogy helyet biztosítsanak a LED -szalagoknak. A csíkok levágása után a 3D -s nyomtatott maszkdarabokat közéjük helyeztem, hogy megmérjem a plexi szélességét. Vágjon két darab plexit a rúd szélességében és hosszában. Végül vágjon le egy csíkot a diffúziós anyagból, hogy illeszkedjen a maszkhoz.
A diffúzióhoz nagyon szeretem a Lee Filters #216 -ot (teljes fehér diffúzió). Ez egy vékony műanyag lemez, amely egyenletes diffúziót biztosít anélkül, hogy sok fényt veszítene. De ez drága cucc. Néha találhat kisebb lapokat az interneten, de egy teljes tekercs körülbelül 125 dollárt fizet vissza. Néhány más lehetőség a fehér papír vagy bármilyen más szatén vagy matt műanyag. Népszerű választás a vékony műanyag vágószőnyegek.
A LED -sáv összeszerelése előtt győződjön meg arról, hogy a megfelelő csatlakozók a LED -csíkokhoz vannak forrasztva. Sok csíkhoz előre forrasztott vezetékek tartoznak, így csak használhatja őket.
Az összeszerelést azzal kezdtem, hogy a plexi felső darabját a fa oldalakra csavarom (lásd a fotót). Ezután megfordítottam, és behelyeztem a diffúziós csíkot, majd a 10 maszkdarabot. Miután elégedett voltam a távolsággal, néhány pont forró ragasztóval rögzítettem őket a helyükön.
Ezután tegye a két LED -csíkot egymás mellé a maszkok tetejére. Győződjön meg arról, hogy a LED -ek lefelé néznek, és győződjön meg arról, hogy mindegyik LED illeszkedik a maszk megfelelő lyukához. Adjon hozzá néhány forró ragasztót vagy szalagot, hogy a LED -csíkokat a helyén tartsa. Végül csavarja fel a plexi hátsó darabját.
Futtasson tesztmintát. Szép munka! Te csináltad a legnehezebb részt!
6. lépés: Vezérlőpult
A vezérlőpult az a rész, amely a legtöbb kreatív szabadságot biztosítja. Csak meg kell tartania az összes vezérlőt és elektronikát, valamint a LED -sávot. A legegyszerűbb kivitel egy téglalap alakú táblák: fúrjon lyukakat a gombokhoz és a kezelőszervekhez, és rögzítse a LED -sávot. Szeretek fát, plexit és más anyagokat kombinálni, hogy egyfajta steampunk / retro-modern megjelenést kapjunk. Ebben az esetben kivágtam egy darab nagy teherbírású plexit a fő algoritmusválasztó gombok tartásához, és egy fából készült rudat a többi elektronika tárolására. Furatokat fúrtam az arcade gombok méretének megfelelően. A huzalozás látszik a hátulján, de tetszik!
Fúrtam helyet a 7 szegmenses kijelzőnek, a forgó jeladónak és a hátsó huzalozásnak is. A tetején egy dadót vágtam, hogy tartsa a LED -sávot.
7. lépés: Gombheveder
A sok gomb bekötése valódi fájdalmat okozhat. Szerencsére az árkádgépeket gyártó emberek néhány szabványos csatlakozót találtak ki, amelyeket használhat. Minden gombcsatlakozó kábel két vezetékkel rendelkezik, az egyik a VCC és a másik a földeléshez. Az egyik végén ásócsatlakozók találhatók, amelyek illeszkednek a gombok hátoldalán lévő vezetékekhez - rögzítse a földet a "normálisan nyitott" vezetékhez, a VCC pedig a "közös" vezetékhez. Ebben a konfigurációban, amikor a felhasználó megnyomja a gombot, az áramkör befejeződik, és a mikrokontroller HIGH feliratot olvas a megfelelő bemeneti érintkezőn.
A kábel másik végén JST csatlakozó van (a kis fehér dolog). A szép ezekben a csatlakozókban az, hogy csak egy módon mennek be az aljzatba, így nincs mód a VCC és a föld véletlen megfordítására.
Én csináltam egy kis hevedert ezekhez a csatlakozókhoz. Egy sor JST aljzatot forrasztok egy darab protoboardra, majd a vezetékeket visszavezetem a Dupont csatlakozókhoz, amelyeket bedugok a mikrokontrollerbe. A piros vezeték a VCC vonal, és csatlakozik az összes JST aljzathoz. A kék vezetékek azok, amelyek minden gombhoz külön vannak.
8. lépés: Rotációs kódoló
A forgó kódoló segítségével a felhasználó szabályozhatja az algoritmus sebességét. Olyan modult használok, amely töréskártyaként érkezik, és felhúzó ellenállásokat tartalmaz a két adatvonalhoz (sárga vezetékek). Ez is egy gomb, de nem használom ezt a funkciót. A másik két vezeték VCC és földelt. Kaptam egy szép zsírgombot is.
A rotációs kódolóban a potenciométerrel ellentétben az tetszik, hogy csak a forgást (az óramutató járásával megegyező és az óramutató járásával ellentétes irányba) jelzi a mikrokontrollernek, így könnyen megváltoztatható az érték értelmezése. Például megadhatja a gyorsulás érzését (például egérként), amikor a felhasználó gyorsan forgatja.
9. lépés: 7 szegmenses kijelző
Itt nem sok mondanivaló van. Ezek a dolgok mindenhol jelen vannak. A LED -eket egy TM1637 nevű chip vezérli, amely egyszerű soros protokollon keresztül kommunikál a mikrokontrollerrel. Egy létező könyvtárat használok, amely lehetővé teszi, hogy megmondjam, milyen számot szeretnék megjeleníteni, a többi pedig elvégzi.
A hátlapon négy érintkező található: VCC, földelés és két vezeték a soros protokollhoz. Forrasztottam egy 4 tűs fejlécet, amely a megfelelő Dupont csatlakozóhoz csatlakozik a mikrokontrollerhez.
10. lépés: Fő vezérlőpanel
A fő vezérlőpanel magában foglalja a mikrokontrollert és a vezérlők összes csatlakozóját (gombok, kijelző, LED -ek). A mikrokontroller egy ESP32, amely nagy számítási teljesítményt és memóriát biztosít, és rengeteg tűt tár fel. A kábelezés meglehetősen szabványos, de mutatok néhány érdekességet.
MEGJEGYZÉS: Érdemes megnézni a kódot (https://github.com/samguyer/AlgorithmMachine), mielőtt elkezdi bekötni az alaplapot, hogy a pin konfigurációja megfeleljen az enyémnek.
Forrasztottam egy hordócsatlakozót a táblára az áramellátás érdekében, és két marha rézvezetéket csatlakoztattam a tábla táp- és földsíneihez. Ennek az az oka, hogy a LED -sáv nagy energiát tud felvenni, ha a fényerő magasra van állítva, és nem akarom ezt az energiát a mikrokontroller USB -csatlakozóján keresztül húzni.
A gombok bekötésének egyszerűsítése érdekében forrasztottam egy csíkot férfi-nő derékszögű fejlécből a mikrokontroller teljes oldalán (a tábla felső oldala az ábrán látható módon). A gombköteg Dupont csatlakozói közvetlenül ebbe a fejlécbe csatlakoznak.
FONTOS: a gombok áramellátását (a piros vezetéket) a mikrokontroller 3,3 V -os hálózati vezetékéhez kell csatlakoztatni. Az ESP32 egy 3,3 V -os chip, ezért csak 3,3 V -os forrásokat szabad az adatcsapokhoz csatlakoztatni.
A mikrokontroller az 5 V -os USB -n keresztül és a földelésen keresztül áramot (vagy áramot) visz a sínekhez (a tábla alsó oldala az ábrán látható módon). Az összes többi piros/fekete vezeték VCC és földelt.
A két kék vezeték a LED szalagok (WS2812s) adatvonalai. A sárga/zöld pár a forgó jeladó adatvonalai, a sárga pár pedig a 7 szegmenses kijelzőhöz való soros kapcsolat.
11. lépés: Összeszerelés
Ez a fotósorozat a végső összeszerelést és bekötést mutatja. A fő vezérlőkártyát a tetejéhez hátul is rögzítettem.
A bekapcsolás előtt elvégeztem néhány ellenőrzést, hogy elkerüljem a kellemetlen meglepetéseket. Különösen azért, hogy megbizonyosodjak arról, hogy nincsenek táp/földelő csatlakozóim visszafelé, és nincs -e rövidzárlat. Állítsa be a multimétert a folytonosság tesztelésére - sípol, ha elektromos út van a két vezeték között. Csatlakoztasson egy vezetéket a közös VCC vonalhoz a gombokhoz. Ezután egyenként csatlakoztassa a másik vezetéket a heveder minden csapjához. A multiméternek csak akkor kell sípolnia, ha megnyomja a gombot. Ha más hangjelzést kap, az azt jelenti, hogy fordított vagy rövidzárlat van. Az áram bekapcsolása előtt keresse meg és javítsa ki!
12. lépés: Kód
Először nyissa meg az Arduino IDE -t, és győződjön meg arról, hogy telepítve van a FastLED könyvtár.
Töltse le az algoritmusgép kódját a GitHub -ból:
github.com/samguyer/AlgorithmMachine.git
Vagy klónozhatja közvetlenül az Arduino mappába, vagy kézzel másolhatja.
Feltöltés előtt győződjön meg arról, hogy a tű beállításai megfelelnek a hardverkonfigurációnak. Az összes tűbeállítást a fájl tetejére helyeztem.
Töltse fel és élvezze!
13. lépés: Hogyan kell használni
Az algoritmusgép használata egyszerű, és a gombok szinte bármilyen kombinációja rendben van!
Először az adatgombokkal inicializálja a tömb értékeit. Három lehetőség közül választhat: (1) véletlenszerű, (2) egy véletlenszerű érték hozzáadása és (3) fordított tömb. Ne feledje, hogy az értékek állandóak, így először például rendezheti őket, majd hozzáadhat némi zajt, majd futtathat egy másik rendezési vagy keresési algoritmust.
Válasszon egy keresési vagy rendezési algoritmust a többi gomb közül. Jelenleg nincs visszajelzés, amikor ezt a választást választja (valami a jövőbeli munkához). Ezután nyomja meg a "lejátszás" gombot.
A gomb szabályozza a sebességet. Az algoritmus szüneteltetéséhez és szüneteltetéséhez nyomja meg a "play" gombot.
Ha elkészült, automatikusan leáll. Bármikor megnyomhat egy másik algoritmus gombot. A gép leállítja az aktuális algoritmust, és inicializálja az újat, de az adatokat pontosan úgy tartja meg, ahogy az előző algoritmus hagyta.
Fődíj a STEM versenyen
Ajánlott:
DIY 37 LED Arduino rulett játék: 3 lépés (képekkel)
DIY 37 Leds Arduino Roulette Játék: A rulett egy kaszinójáték, amelyet a francia szóról neveztek el, jelentése kis kerék
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: 20 lépés (képekkel)
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: Helló, barátom! Ebben a kétrészes sorozatban megtanuljuk használni a Tinkercad áramköreit - ez egy szórakoztató, hatékony és oktató eszköz az áramkörök működésének megismerésére! A tanulás egyik legjobb módja, ha megteszed. Tehát először megtervezzük saját projektünket:
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: 7 lépés (képekkel)
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: Ezt a Rapsberry PI-t tervezem használni egy csomó szórakoztató projektben a blogomban. Nyugodtan nézd meg. Vissza akartam kezdeni a Raspberry PI használatát, de nem volt billentyűzetem vagy egér az új helyen. Rég volt, hogy beállítottam egy málnát
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
A számítógép szétszerelése egyszerű lépésekkel és képekkel: 13 lépés (képekkel)
A számítógép szétszerelése egyszerű lépésekkel és képekkel: Ez az utasítás a számítógép szétszereléséről szól. A legtöbb alapvető alkatrész moduláris és könnyen eltávolítható. Fontos azonban, hogy szervezett legyen ezzel kapcsolatban. Ez segít elkerülni az alkatrészek elvesztését, és az újra összerakást is