Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
A két pont között 110 fok az elfordulás. Valóban egy viszonylag olcsó, arduinos készletből.
Arra gondoltam, hogy a vezérlő jelet valahogyan, ha lekapcsolnám [servo.attach(6)], az megoldás lenne, de utána hogyan kapcsolnám vissza?
Az A és B pont közel van egymáshoz. Itt ne azt a két pontot értsd, amielyik kettő között használod. Leírom másként:
Menj 80 fokra. Odamegy, megméri mennyi. Hoppá, 81, vissza egy fokot. Megméri mennyi, hoppá, 79, egy fokot előre. Odamegy. Megméri, a fenébe, 81 lett, vissza egy fokot.... Lehet, hoyg ezen két pont között 0.1 fok van csak, de kb. így kell elképzelni a dolgot. Ha a szervó nem kap áramot, elengedi magát. Ha nem kap vezérlést, beáll valamelyik végállásba. Nincs mit tenni.
Köszönöm! Ez teljesen érthető. Akkor, ha valami fontosabb helyre kell akkor itt is lehet keresni a minőségi servot.
Vagy valami mechanikus reteszelést ha van rá mód! Van ahol ez is szóba jöhet. Bekattan a retesz, utána lehet áramtalanítani a szervót. Visszafelé pedig szervó be, retesz ki.
szerk.: Az enyém is cicereg, de mivel csak egy tollat emelget, nem foglalkoztam vele. A hozzászólás módosítva: Jan 7, 2021
...de ez már inkább szervó téma, mint Arduino.
Sziasztok. Kezdő vagyok ezen a téren így segítségre lenne szükségem. Egy színes dobókockát szeretnék építeni. 6 különböző színű dióda közül kellene véletlenszerűen mindig egynek világítania, gombnyomásra pedig ismét random váltani. Köszönöm szépen.
OK. A feladat ismert. Miben kérsz segítséget? Mi nem fogjuk megírni helyetted a programot, legfeljebb, ha valahol elakadsz benne, segítünk.
Egyébként valóban véletlen számot nem is egyszerű generálni.
Van ugyan a random()függvény. De az további intézkedések nélkül mindig ugyanazt az álvéletlen sorozatot fogja adni. Unalmas lesz a játék a dobókockával A randomSeed() függvényt kell először meghívni, valamilyen véletlennek tekinthető értékkel, no de mi legyen az? AnalogRead() -ot szokták használni. Itt egy példa: Arduino dobókocka
Úgy azért eléggé meg lehet kavarni, ha két gombnyomás között folyamatosan hívogatod az RND függvényt. Te magad leszel a "véletlen". Persze a spektruma nem olyan lesz, mint a függvényé, de ez most nem is számít (másutt kötelező találati arány kell, ott ez nem jó).
A szervó terhelés nélkül be tud gerjedni. Rakj rá egy picike rugót, hogy ezt feszítse, és akkor nem fog rezegni.
Egy programban szeretném azt megcsinálni, hogy egy keypadról beolvasott jel pl. C esetén újrainduljon az Arduino. Először arra gondoltam, hogy egy relén keresztül kapná a tápfeszültséget és amikor jön a C akkor az egyik kimenet adna egy jelet a relére, az behúz ezzel megszakítja az áramkört. Nem igazán tetszik ez a megoldás. Keresgéltem, és a szoftveres megoldás egyszerűbbnek tűnik. Beillesztettem egy kis tesztprogramba, de nem értem, hogy mit csinál void software... és a while(1) kezdetű sorok. Van ettől jobb megoldás?
A hozzászólás módosítva: Jan 9, 2021
Bekapcsolja a watchdogot és utána végtelen ciklusra megy, nem csinál semmit. Amint a watchdog számlálója túlcsordul, resetel az mcu. A void software definiálja a függvényt amit később a loop ban meghívsz. Bővebben: Link
A hozzászólás módosítva: Jan 9, 2021
Idézet: „újrainduljon” Miért? Biztosan szükséged van rá? Ez a softwareReset függvény beindítja a watchdogot, majd nem törli sosem a countert, így az timeoutra fut, és reseteli a CPU-t.
Nekem az kell, hogy minden érték a kezdeti állapotba kerüljön és a program induljon az elejéről. A relével ez nagyon egyszerű a COM-NC-n keresztül táplálva az Arduinot, de szerettem volna szoftveresen elérni az újraindítást.
Ha rendesen meg van írva a kezdőértékeket inicializáló rész, akkor bármikor újra lefuttathatod, és alaphelyzetbe kerül.
A fentebbi WDT reset is járható út. Nem kell relé. Elég egy digitális lábat összekötni a reset lábbal, és alacsony szinter húzni. Vagy pointerrel a program memória elejére ugorni.
Az összekötést próbáltam, de mikor a Reset bekövetkezett utána nem indult el újra a program csak akkor, ha kihúzom az összekötő vezetéket.
A pointerre nem találtam megoldást. A hozzászólás módosítva: Jan 9, 2021
Ez a megoldás miért nem jó neked?
Bővebben: AVR software reset
Köszönöm!
Működik! Kicseréltem az alábbi részre és jól megy. Mikor resetel akkor alapra áll, majd újra indul az elejéről.
A for(; és a ciklusnál a kilépésnél a (0)-át nem értem. A hozzászólás módosítva: Jan 9, 2021
A
egy végtelen ciklus, ami utána van nem hajtódik végre, ergo kár leírni.
Szép napot.
Tudna valaki informáciot adni, hogy egy Arduinobol kivett Atmega328P-PU-t, hogyan kellene bekötni? Mármint azt szeretném használni egy NYÁK lapon de csak magát az IC-t. És ugye kell QUARTZ meg néhány kondi és ellenállás is. De nem emlékszem már, hogy hova is kell öket kötni. Üdv.
Ott az adatlapja. Illetve írd be google-be, hogy Atmega328p schematic és nézd meg a képtalálatokat. Ha utána van még kérdés, biztos lesz aki megválaszolja.
Amúgy van belső oszcillátora, tehát a quartz szükségessége relatív. Mondjuk ha szeretnél soros portot akkor nem árt a külső oszcillátor.
Arduino weboldalán ott a leírás:
https://www.arduino.cc/en/main/standalone
Sziasztok! A korábban, itt a fórumon javasolt megoldással nagyon jól működik a program az Arduino Uno panelen. Reseteli a programot és szépen újra indul. Ez:
Szeretném a Nano-n is használni, de azon nem működik. Elindul a programból a kilépés, de nem indul újra. Miben kellene módosítani a programban. A hozzászólás módosítva: Jan 16, 2021
Moderátor által szerkesztve
Valószínűleg a wdt fuse bitje nincs engedélyezve.
Azt kitudom olvasni? Ezt kellene még beírni?
void watchdogSetup(void) { WDTCSR = (WDCE=1); } A hozzászólás módosítva: Jan 16, 2021
Sziasztok.
Arduinoval szeretnék csinálni egy 4 digites 7 segmenses számlálot. De akárhogy probálom valamiért nem megy. Üdv.
Az, hogy nem írja ki a számokat. Kellene delay, de akkor meg rosszul írja ki. SzvlSZÓVAL akárhogy próbálkoztam nem volt jó.
A hozzászólás módosítva: Jan 20, 2021
Moderátor által szerkesztve
|
Bejelentkezés
Hirdetés |