- Leégett az első Radeon a hírhedt 12V-2x6 tápkonnektorral
- Milyen egeret válasszak?
- Calibre, az elektronikus könyvtár
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen monitort vegyek?
- OLED TV topic
- TCL LCD és LED TV-k
- Az előírások megszegése miatt éghet le egyes alaplapokon a Socket AM5 foglalat
- Apple MacBook
- Azonnali informatikai kérdések órája
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
gyapo11
őstag
A led villogtató részben nem látok késleltetést, ettől olyan gyorsan kellene villognia, hogy egy folyamatos 50 %-os fényt kellene látni.
De még ennél is nagyobb baj, hogy a loopban a második for ciklusban ez van:
delay(noteDuration * 4 / 3);
Vagyis a toneAC csak játssza a hangot a háttérben, az időzítés meg delay-jel történik.
Ráadásul a for ciklusból ki se lép, amíg a zene tart, és így a ledet se tudja villogtatni.
A led villogtatást is és a zene lejátszását is delay nélkül kell megoldani.Azt kell megérteni, hogy ha egy dolognál több történik, akkor biztosítani kell a loop folyamatos pörgését, hogy mindegyik programrészlet futni tudjon. A delay megállítja a loop futását a megadott időre, és addig a többi programrészlet nem fut, nem tudja végezni a feladatát.
Vagy a while(1) örökre ott fog állni. Ez jó akkor, ha csak 1 feladatot egyszer akarunk lefuttatni, mint a példában a zenét, és utána resetig nem történik más, csak a while fut le újra és újra.A program elején kell a feltétel, hogy kell-e akciózni, meg hogy fut-e az 1 perces időzítés. Ha beérkezett a jel, akkor elindítani egy számlálót az 1 perchez, ha jól emlékszem ennyi ideig akarod villogtatni a ledet és játszani a zenét.
Ezután elindítani a led villogtatást és a zene lejátszását.
Amikor letelik az 1 perc, akkor leállítani a villogtatást és a zenét, és várni a következő eseményre.
Amikor az 1 perc mérő aktív, akkor nem figyel semmit, csak villogtat és zenél.A led villogtatására küldtem linket.
A zenénél is a delayt le kell cserélni a ledvillogtatóban látható módon. Tehát elteszed a pillanatnyi millist egy változóba, és minden loop lefutáskor ezt az értéket hasonlítod a pillanatnyi millishez. Amikor pl. 1000-rel több, akkor eltelt 1 másodperc.Amikor elkezd egy hangot játszani, utána rögtön a delay van a kódban, ezt kell lecserélni a millises megoldásra, és kell egy jelzőváltozó, ami biztosítja, hogy ne fusson rá újra a
toneAC(melody[thisNote], 10, noteDuration, true);
sorra amíg az időzítés véget nem ér, különben minden loop lefutáskor újra és újra elkezdi játszani ugyanazt a hangot a végtelenségig.
For ciklus helyett egyszerűen növelni kell a thisNote változó értékét, tehát a ciklus helyett a programnak kell léptetnie amikor az előző hang lejátszása véget ért.
Új hozzászólás Aktív témák
- Leégett az első Radeon a hírhedt 12V-2x6 tápkonnektorral
- Nők, nőügyek (18+)
- Milyen egeret válasszak?
- Le Mans Ultimate
- Debrecen és környéke adok-veszek-beszélgetek
- Kerékpárosok, bringások ide!
- Kínai és egyéb olcsó órák topikja
- Cyberpunk 2077
- Kertészet, mezőgazdaság topik
- Calibre, az elektronikus könyvtár
- További aktív témák...
- Fujitsu AKCIÓ ,vil.bill,15,6"FullHd IPS,8.gen.i5, 4G LTE,8-32GB/256-512,jó akku,szép
- Lenovo,15,6"FullHD IPS,Ryzen5(8x3,5Ghz)Vega 8 +540 VGA(2x2GB),12-20GB RAM,256-512GB SSD,jó akku,
- Merevlemezek
- Acer Predator Helios 300 // i7-8750H // 8GB RAM // 1TB HDD // GTX 1060
- TP-Link Archer GX90 Tri-Band Gaming Router eladó
- Samsung Galaxy A54 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Bomba ár! Dell Latitude E5450 - i7-5GEN I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W10 I Gari!
- Fujitsu LIFEBOOK E449 i5-8130U 8GB 256GB 14" FHD 1 év garancia
- PS Plus előfizetések kedvező áron
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: FOTC
Város: Budapest