Hirdetés
- Milyen billentyűzetet vegyek?
- Az AI-piac kivégezte a Micronhoz tartozó Crucialt
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- Projektor topic
- Azonnali informatikai kérdések órája
- Fejhallgató erősítő és DAC topik
- Pánik a memóriapiacon
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen alaplapot vegyek?
- Melyik tápegységet vegyem?
-
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
- Sorozatok
- Jövedelem
- Milyen billentyűzetet vegyek?
- BestBuy topik
- Az AI-piac kivégezte a Micronhoz tartozó Crucialt
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Ha a koreaiakon múlik, még évekig ingünk-gatyánk rámehet a memóriákra
- Projektor topic
- Azonnali informatikai kérdések órája
- gban: Ingyen kellene, de tegnapra
- További aktív témák...
- Samsung 8GB DDR4 3200MHz Laptop RAM (SODIMM), hibátlan állapotban
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 6700XT 12GB / 32GB RGB DDR4 / 1TB SSD
- Crucial 32GB DDR4 3200MHz Laptop RAM (SODIMM), hibátlan állapotban
- Gigabyte G5 MF5 15.6" FHD IPS i7-13620H RTX 4050 16GB 1TB NVMe gar
- Samsung QE55S90DAEXXH 55" S90D 4K UHD Smart AI 144Hz OLED Gaming TV
- iPhone 13 128GB 100% (1év Garancia)
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RTX 3060Ti / 32GB DDR5 / 512GB SSD!
- Xbox One X 1 TB + kontroller 6 hó garancia, számlával!
- Bomba ár! Dell Latitude 5491 - i7-8850H I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W10 I Gari!
- HIBÁTLAN iPhone 12 Mini 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3644, 100% Akksi
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


ekkold

