Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Szerintetek az Arduino Due Dac-ja signed, vagy unsigned adatokat vár?
Itt azt írják, ha jól olvastam, hogy a dolog eszközspecifikus: pcm
Sziasztok !
Most lett időm foglalkozni az óraforgatóval. Első "önálló" programom, így néz ki:
A dobozban kapcsoló van, nem nyomógomb. 3 állás: jobbra, balra és váltva forgás a cél. Biztosan nem fogja öt percenként kapcsolgatni. Lehet, hogy van más - szebb, egyszerűbb - megoldás is, nekem elsőre ez sikerült. Kipróbálva még nem volt. És még így a folyamatos váltva forgás nincs megoldva, hogy addig csinálja, amíg a kapcsoló állása nem változik. Várom véleményeket - biztos van benne hiba. Köszi ! Hogy kell kódot beilleszteni, hogy ne legyen ennyi üres sor benne ?
Helyesen Logical AND:
Bővebben: Link Így b1 = LOW és b2 = LOW esetén mind a három feltétel vizsgálatod teljesül. Jobb lenne így:
A hozzászólás módosítva: Júl 20, 2019
Köszi a módosítást ! Az igazság az, hogy így a nyugdíjazás küszöbén már nem úgy működik az agy mint 20-30 évesen...
![]() Igen, ez csak teljesen alap program, annyit akarok még bele tenni, hogy 2-3 órányi működés után álljon le a forgatás. Ezt hogy lenne legegyszerűbb ? Számolni a loop ciklust vagy az időt mérni ?
hour to milliseconds: 3h = 10800000ms
Bővebben: Link
Minden 1 min bekapcsol 1 secre ez a fügvény!
itt nem veszi figyelembe az ora váltózót?
Minden 5 oránban 1sec igaz feltételt szeretnék!
Egyrészt a "Minden 1 min bekapcsol 1 secre ez a fügvény!" mondat konkrétan értelmetlen, és nem is egyértelmű.
Az 1. sorod lefut - minden óra - 1 és 59 perc között (0 perckor nem fut le) - 0 másodperckor. A 2. sorod lefut: - 5 és 23 óra között - 1 és 59 perc között (0 perckor nem fut le) - 0 másodperckor. Ha minden 5. órában akarod lefuttatni, akkor vagy a modulus operátor lesz a barátod, vagy megírsz 4-5 db. órás feltételt vaggyal
De ez csak akkor működik, ha minimális a futó kód, minden egyes másodpercben "jár is erre" a cpu, lefut a kód másodpercenként legalább 1x, ami messze nem triviális. Ha garantáltak akarsz (kb.) 5 óránként 1 másodpercig valamit csinálni, akkor azt máshogy célszerű csinálni.
rtc modult frissítenék ntp röl 5 óránkét 1sec elég lenne igaz feltételnek erre a megoldásra if függvénnyel..
Amit írtál ezzel megoldható 5 óránként 1sec igaz if feltétel?
Én inkább úgy csinálnám, hogy minden frissítéskor letárolnám a következő _órát_, amikor frissíteni akarok, és azt vizsgálnám, hogy tartunk-e már ott. Ha igen, akkor frissítenék
A kód egyébként nincs tesztelve, és az se biztos, hogy fordul.
uint_8t arduino ide fordító nem ismeri fel még #include <stdint.h> sem mivel tudom helyettesíteni ezt a váltózót?
Egyszerű ledel monitorozom a cselekményt de nem cselekszik levetem a változót second ra...
5sec kelene a lednek állapotot váltani ? nextRefreshHour = -1 nem ad értéket soros monitorozáskor!
Meghatározás uint8_t:
Bővebben: Link #define uint8_t unsigned char // The unsigned char datatype encodes numbers from 0 to 255. Vagy: typedef unsigned char uint8_t Ennek nem adhatsz -1 értéket! Legalább az alapfogalmakkal tisztában kellene lenni! A hozzászólás módosítva: Júl 23, 2019
Bocsánat, ezt én csesztem el.
Ha -1 értéket akarok adni, akkor nem jó az unsigned típus, signed kell. És akarok -1 értéket adni, mert az óra 0-23 közötti lehet, és azt akarom, hogy először mindenképp lefusson. Legyen a változó típusa int, és ne a loop-on belül legyen deklarálva, hanem a loop() előtt!
Van olyan idö egy percben amikor elsö 15sec nem irja nextRefreshHour változót ez mitöl van?
soros port:
Mert a (nextRefreshHour <= now.second) akkortól lesz igaz.
14:17:20 now-second 25 nextRefreshHour Itt a nextRefreshHour nem kisebb vagy egyenlő, hanem nagyobb.
Igy jó lett egész perc 00 kezdi +5 igy pontosan 60 ki jön és nem hibázik nextRefreshHour == now.second
Köszi az észrevételt! ![]()
Sziasztok.
Lehet, hogy elég amatőr hiba, de azért leírom, mivel szembesültem, hátha másnak segíthetek. Hestoreból vásároltam max7219 által vezérelt kijelzőt. Arduino nanoval készítettem már saját shieldet, FET-kel, sorkapcsokkal, stb, azt járatom 12V-ról, mert közvetlenül a panel kapcsol 12V-os fogyasztókat.(arduino kimenet után optokapuval, és sot23-as FET-tel.) 12V a shieldnek, és mivel más 5V-os fogyasztókat is táplálok, vásároltam egy ilyen step down-ot is. Nem tetszett a max7219-es kijelző KIT-nek, hogy én a step down által szolgáltatott 5V-ról akarom járatni, míg az arduinót 12V-ról.(amiben ugye ott a beépített 5V-os stabilizátor, de arra nem akartam még ráakasztani a KIT-et, mert megfőtt volna szegény.) Egyébként nem volt füst, csak a kijelző össze-vissza mutatott mindent, majd elsötétült. Megoldás: Ugyanarról az 5V-ról járatni az arduinót, és a kijelzőt, de már erről az erős step down egységről. UI: ..egyébként a nevezett step downnak elég kaki a trimmer potija, legalábbis nyomás/érintésérzékeny. ![]() A hozzászólás módosítva: Júl 25, 2019
Szia!
Közös volt a Föld?
Mondjuk azzal szoktam kezdeni a hasonló step-down szabályzóknál, megkeresem a panelen az osztó ellenállást, és igyekszem úgy módosítani, hogy a beállítható feszültség maximuma, a kívánt szint környékére essen. Így ha tekergetés, vagy bármi miatt megszakad a poti, akkor sem válik füstté semmi.
Meg menet közben amúgy sem tekergetjük az lcd, stb tápját. Előre be kell állítani, aztán egy csepp lakkot a potira! Ekkor lehet rátenni a fogyasztót. Mondjuk mindig van új amit meg lehet tanulni (mindenkinek).
Sziasztok! Megoldottam a szinusztömbös számítást.
Még az ini részben feltöltöttem egy 360 elemű tömböt (sinusfg) a fokhoz tartozó sinus értékek 1000 szeresével. Tehát a maximum értékem 1000, a minimum értékem -1000. Maga a függvény nálam két paramétert kap: Az idő megadja, hogy az éppen aktuális hangminta melyik pozícióban van a periódusidőhöz képest, (tulajdonképpen ez a fokkal arányos), az idomax pedig a hangminta periódusideje, ez a lenyomott billentyűhöz tartozó frekvenciától függ. Az értéke a legmélyebb hangnál: 1087, a legmagasabbnál 2. Egyik sem lehet negatív. A függvényem így néz ki:
A kérdésem csak annyi, lehet-e gyorsabban? Ugye ha előre kiszámolom az osztást, akkor egy törttel kell szoroznom, és a segédváltozónak is double-nek kell lennie. Minden segítséget köszönök! Egyébként már 4hang polifóniát tudok hangonként két generátorral, és egész érdekes hangok kezdenek kialakulni... A hozzászólás módosítva: Júl 26, 2019
Szia.
Ahogy már más is írta a GND pont legyen közös, mert egyébként nem fog működni a dolog. Másfelől én az ilyen és hasonló (pl: LM2596) step-down áramköröknél (készen vett modulok) beállítom / kiszámolom a szükséges ellenállást és az megy a poti helyére. Problémaforrás megoldva. Meg persze a kimenetre minden esetben van kötve védelem (szupresszor / varisztor).
Hátha esetleg valakit érdekel, ez egy 4 hangig polifonikus szinti. A kimenete az Arduino Due DAC-ja. A midi jelet a serial2-ről fogadja külső billentyűzetről, optocsatolón keresztül. Kijelzője nincs, sajnos az nagyon lelassította. Kókányoltam bele valami fm modulációs függvényt. Illetve ha nem fm módban indítjuk, akkor 4 alaposzcillátor (szinusz, háromszög, fűrész, négyszög vagy zaj) vezérelhető, háromfajta TVA, TVF , Zaj görbével, illetve egy pich-görbével. Ezek elég darabosak még. A továbbiakban a paraméterek állítását tervezem megoldani, MIDI-n azaz serial2 porton keresztül, szabványos, kontrollerparaméterekkel. Mással biztos nem fog foglakozni ez a board, ha teszek rá kijelzőt illetve vezérlést, azt egy külső egységről fogom mondjuk egy Arduino nanoval meghajtani stb.
Csatoltam egy mintát, a jelenlegi hangjáról, remélem maradhat. Természetesen tettem rá zengetőt utólag. A program szintén csatolva. Bármilyen észrevételt szívesen fogadok.
Zene bejön, olyan Jean Michel Jarre -os.
![]()
Szia!
Érdekelnek a fejlemények! Majd rakok a DUE-re valami erősítőt, hogy meg tudjam hallgatni. Panaszkodsz, hogy lassú a gép! Ezeket a függvényeket sokat hívod, én definíciókba raktam őket. Így közvetlen befordulnak a hívások helyére, kicsit több helyet foglalnak, de valamivel gyorsabb lesz a futás idő. /* Az eredeti függvényeket természetesen rakjad megjegyzés blokkba. */ // Eredeti méret: 34528 6%, Módosított méret: 34720 - 6%
Véleményed? |
Bejelentkezés
Hirdetés |