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 |