Olvass vissza pár hetet és találsz tőlem egy elég hosszú hozzászólást Arduino versus mbed viszonylatban. Az egyik kulcsponti kérdés pontosan ez, amit írsz.
Az Arduino keretrendszer nagyon nem a debuggingra van kihegyezve, az egyetlen működő megoldás a Serial. A helyedben a kódba olyan megszakítási pontokat építenék (debuggingban ez a breakpoint), ahol az összes releváns változó értékét kiírja, majd választ vár ("nyomjon meg egy billentyűt"), és csak ezt követően folytatja a futást. Ezzel a módszerrel a változó(k) értékeit is átírhatod, ha szükségét érzed. És ezt lényegében minden egyes kódsor (sőt, akár loop lépéseiként) is megteheted.
Keresek olyant aki segít egy 40x40x10mm-es 5V-os ventilátor illeszteni az arduinohoz hogy legyen állítani a fordulatát.
Van két fajtám, de nem megy, mert ugye ezeket mind elektronika vezérli. Elektronikai fórumba valahogy nem jutottunk előrébb, de ott leszedték, hogy embert keresek ami nem csak infókat csepegtet, hanem segít megoldani a konkrét problémát.
Ha tudsz segíteni írj PM-be és megbeszéljük mit kérsz. Üdv: Zoli
A karakterem nem használ eszközöket, tehát nem azért világít meg ilyen a karakter.
És ott is gond lesz lehet a gomb.
Képzelj egy hatalmad mancsot amin vastag szőr van, puha mancspárna, és fogni is alig lehet vele.
Ebben kéne gomb, hogy meg is lehessen nyomni. (keresek alternatívát most is a gomb helyett: valami elhajlás érzékelőt, vagy mágnesest, vagy valamit.)
Jó lenne ha könnyen ki lehetne bújni a jelmezből (legalább a fejéből), mert vagy 60 fok van a szőrme bundában úgy, hogy még egy szörfruha is van az emberen.
És ehhez jön hozzá, ha még kint is 40 fok van nyáron.
Tehát még lehet a hang vezérlésnél is lesz gondom.
Ezt így is össze kell köti a fejjel, ezért nézem hogy lehetne valami vezeték nélkülivel ami csak pár méter hatótávolságú, így kicsi elemes egység lenne.
Közben jönnek az emberek és mindenki ölelkezni akar, tehát így is majd a hangnál meg kell oldani, hogy véletlenül ritkán adjon ki hasznos imputot az egységnek..
Ezt a fejben a szőrme alatt rejtett gombot egy videóba láttam amikor valamit tudott kapcsolni azzal a suiter, hogy megnyomta az orra oldalát.
Ebből jött az ötlet, hogy az államnál jól el lehetne rejteni, mert ott nem fog látszani azt amit a mikorkapcsolóra építek a szőr alatt, hogy könnyű legyen nyomni.
> Azért szimulátor, mer abban egyszerűbb a hibakeresés.
Ez csak akkor igaz, ha kizárólag szoftveres a hiba.
Gyakran viszont az áramkör megvalósításával (is) probléma van. Például áthallás az Rx Tx között, rossz értékű fel/le húzó ellenállás, forrasztási hiba, nagyfrekvenciás zavar, táp problémák (zaj, ingadozás), stb. Ilyenkor hiába nézed szimulátorban, nem fogod érteni, hogy ugyanaz miért nem működik az igazi áramkörrel.
> De. Lépésenként hogy működtetsz egy áramkört úgy, hogy közben látod a progid változóinak aktuális értékét is?
ICD (In-circuit debugger) vagy ICE (In-circuit emulator).
Az ICD az a cél MCU-hoz kapcsolódik, és lehetővé teszi a program léptetését, breakpointok elhelyezését, változók figyelését, stb. Nagyjából ugyanazokat a funkciókat nyújtja, mint amiket egy desktop alkalmazás debuggolásakor elérsz. Természetesen ez némi többletet igényel az MCU-n belül, amit ráadásul a végtermékbe épített példányokban (99%) sosem használunk, de a mai gyártási költségek mellett ez elenyésző.
Az ICE nagyjából ugyanazt nyújtja, mint az ICD, csak teljes egészében lecseréli a cél MCU-t ugyanabból a családból egy sokkal nagyobbra, amin még a legtöbb belső kapcsolat is ki van vezetve. Tehát van egy 1 kB RAM-os eszközöd 32 lábbal a céláramkörben. Kapsz helyette egy 100 lábú, 100 kB RAM eszközt, aminek a 32 lábú adapterét berakod az eredeti MCU helyére. A 32 lábon minden kapcsolata pontosan ugyanolyan lesz a hardver többi részével, mint az eredeti MCU-nak. A te programod is 32 lábú, 1 kB RAM-os eszköznek fogja látni, mert azt emulálja. (Innen a neve.) A maradék erőforrásokat pedig a debuggoláshoz (breakpoint, watch, stb) használja.
Tehát ICD esetén a hibakereséshez szükséges többlet be van építve minden egyes legyártott eszközbe, addig ICE esetén a fejlesztés idejére a mikrokontroller egy speciális, hibakeresésre kialakított változatát használod.
Semmi esélye nagy bumpszli szőrős kesztyűben az ilyen mutatványokra. Tehát kár hejen az államnál van két gomb úgy elrejtve, hogy határozottan nyomható legyen.
A menüzést az kitaláltam már mint vezérlés:
-bal oldali a menüpontok közti váltás
-jobb oldali a kiválasztás.
Visszalépni bal oldalival.
Ha fel akarom használni negatív érték állításra, akkor meg úgy nézem stabilabb lesz, a hosszan nyomba egyszerre mind a kettő.
7 segmentet szerintem felejtsd el, rémálom. Kis oled sokkal jobb.
A menüről.
2 szintes menüt egy gombbal megcsinálni nem annyira egyszerű. Három lehetséges nyomási profilból lehet kiindulni: sima katt, dupla katt és hosszú katt. Valahogy meg kell oldani a debouncing-et is, vagyis hogy a kattintáskor keletkező zajokat ne tekintse külön gombnyomásnak stb. A tripla és egyéb mutatványokat meg a morzézást nem tartom jó ötletnek, mert nincs lehetőséged a hibajavításra.
Alternatíva lehet egy gombos rotary encoder. Ezzel viszont piszok egyszerű. Három lábat elvisz ugyan, de van hozzá könyvtár is, a menüt meg gyorsan meg lehet írni.
Én csináltam üzembiztosan működő menüt három gombra, ezt át tudnám dolgozni elvileg két gombra és/vagy talán egy gombra is, de rotaryra mindenképp.
Keress rá 96x16 pixeles oledre, azok megfelelnének méretre. Ugyanaz a SSD1306 chip, mint a korábban említett 128x64 esetében. Vagy van még 128x32-es is.
De ha tud valaki rendes kijelzőt ilyen kicsit az szóljon, mert akkor nem szórakozok, hogy a 7 szegmensesen hogy tudjak kézzel lábban beszélgetni a géppel.
Akartam 16 szegmesest de ilyen kicsit nem találtam szintén.
egy ilyen már úton van, csak sajnos túl magas. 15mm-nél nem nagyon fér el magasabb és a szélessége 40-50mm lehet.
Ez egy farkas jelmez orrában van, de ott már van egy hangmodul, és egy ventilátor, hogy meg lehessen maradni.
Enne a keladata csak az, hogy a fényeket, és a ventilet ha kell át tudjam állítani.
az arduinoban lesznek érzékelők, tehát alapban automatán fog menni, de tuti jó lenne ha a fej leszerelése nélkül bármikor tudok módosítani, vagy mondjuk megnézni az időt, stb.
Az OneButton-nal kezdtem el a gombok kitalálását (igazi menü nélkül). Hogy dupla gombos, vagy doubleclick legyen, vagy mi a vezérlés alapja.
De akkor meglesem azt amit ajánlasz, hogy hogy tudnám összeházasítani. (vagy ott van kitalálva valami nem csak 4 gombos működésre)
Ha szöveges menü, akkor ajánlanám az SSD1306 amoled kijelzőt. Pici és még jóval laposabb is, mint a digites kijelző. I2C-vel két lábon elkommunikál és olcsó is. Mostanában nagyon népszerű így sok forrás van hozzá, én Adafruit libraryval használom, tök egyszerű vezérelni. Szerintem még a fogyasztása is kevesebb.
azért ez van, mert ez is alig fér bele egy jelmezbe aminek az elektronikáját vezérlem. Kívül van két rejtett gomb. Ezzel tudnám vezérelni a ledeket, a ventilátorokat, beállításokat, stb. És mivel nem látok ki, és nem akarom levenni a fejet, ezért kell egy visszajelzés, hogy mi is történik.
Mivel sok menüpont lenne, ezért lehetőleg minél tömörebb lenne jó. Terv: -min. 2 szintes menü.
-bal oldali a menüváltó, a jobb oldali az értékállító
-sajna lenne olyan érték ahol kel +/- állítás, ilyenkor a bal oldalival is lehet állítani értelet lefelé.
Még ki kell találnom, hogy ilyenkor valami dupla click vagy mi legyen a visszalépés.
Kicsi bonyolítja, hogy ugye menüszintenként a gomboknak mást kel csinálni esetleg.
Amiket próbálok most egyenlőre még a gombokra az azOneButton, bár rég nincs frissítve.
(lehet ebből is lenne jobb, de dupla kattintást nem láttam olyan csomagban amit alapban listáz a progi)
A legtöbb menüt nem 7 szegmensre írják, mert azon érdemi szöveget elég körülményes megjeleníteni.
Ugye eleve arról van szó, hogy ezek a kijelzők iszonyú lábzabálók, így praktikus valami meghajtó IC hozzájuk (max7221/max7219, sn74hc595 stb.). Ha nem így csinálod, maga a megjelenítés is elég sok erőforrást (és lábat) le fog kötni: multiplexelni kell.
A két gombos menü nem lehetetlen, de mivel a 7 szegmenses kijelző betűkre annyira nem ideális, jobbára csak számokkal, illetve jelzésekkel tudsz manipulálni.
Erre kész megoldást nem találtam, de nem egy nagy ördöngősség egy lcd-s menüből átírni vagy nulláról megírni.
Van egy 4 digites 7 szegmense kijelzőm és 2 nyomógombom.
Menüt szeretnék írni. Kicsit mint a monitorokon is van.
Látom léteznek már megírt ilyen menü osztályok.
Melyiket ajánljátok aminél két gomb is elegendő, és lehetőleg kevés helyet eszik fordításkor, mert ugye nem kell minden féle olyan cucc amit egy rendes LCD kijelző tudna.