Fórum témák

» Több friss téma
Fórum » Sziréna
 
Témaindító: vanzerr, idő: Jan 5, 2006
Lapozás: OK   26 / 51
(#) Depner válasza még1MbR hozzászólására (») Márc 17, 2008 /
 
Szia!
Jelentem a MÁV szignál, Eriston Yelp, Hiperyelp megvan. Wailt nem találtam egyáltalán, meg code3 hangokat. Csak annyit, hogy írtad volt, hogy a 12 hangú verzióba miket szeretnél. Azok pont passzolnának. Sikerült az az összeállítás? Nem-e elkérhetném-e nagy tisztelettel....
(#) még1MbR válasza Depner hozzászólására (») Márc 18, 2008 /
 
Asszem azok még tényleg hiányoznak, kicsit félre lett téve a dolog mostanában.
Egyet még találtam:
  1. ; .... ...  ERISTON 150 "WAIL" kürthang ..........    
  2.         ORG 0X500
  3. EFFEKT_3
  4.         ; LEFUTÁS
  5.         MOVLW   HIGH(KEZDŐ_FREKI((.900*y)))
  6.         MOVWF   FREKI_KEZDŐ_H
  7.         MOVLW   LOW(KEZDŐ_FREKI((.900*y)))
  8.         MOVWF   FREKI_KEZDŐ_L 
  9.         MOVLW   HIGH(BEFEJEZŐ_FREKI((.600*y)))
  10.         MOVWF   FREKI_BEFEJEZŐ_H
  11.         MOVLW   LOW(BEFEJEZŐ_FREKI((.600*y)))
  12.         MOVWF   FREKI_BEFEJEZŐ_L      
  13.         MOVLW   SEBESSÉG(.60)
  14.         MOVWF   VÁLTOZÁS_SEBESSÉGE
  15.         CALL    LASSÚ_LEFUTÁS_KEZDET_VÉG_SEBESSÉG_SUB
  16.         RETURN


De ez szerintem még csiszolható, nem végleges dolog.
Fontos, hogy a program az utolsó verzió legyen, amiben már szerepel a lassú lefutás bla-bla---- rutin, mert az első progi ezt nem tartalmazza, utólag fejlesztette ki Watt, addig rágtuk a fülét szegénynek
Ez is itt van a fórumon csatolva valahol.

Amúgy nem ölyan ördöngősség kifejleszteni egy adott szirénahangot, nagyon jó a Watt féle leírás hozzá!
Ajánlom, hogy nyugodtan állítgasd át az értékeket, nagyon jól el lehet vele játszadozni

Ha sikerül befejeznem a többi hangot is, beteszem majd ide természetesen, csak most a pár héten belüli gyermekáldás komoly erőket von el ettől a munkától
(#) még1MbR válasza Depner hozzászólására (») Márc 18, 2008 /
 
Most jutott eszembe, a sziréna fanatikusokat biztosan érdekelné, mit rejt ennek a szirénaerősítőnek a belseje, pár fotó erejéig.
Az a csúnya kíváncsiság!

Cserébe Eriston 150-et tudok mutatni, akár 6,6Mpixelben
(#) Depner válasza még1MbR hozzászólására (») Márc 19, 2008 /
 
Köszönöm szépen! Valóban fantasztikusan jól el lehet vele szórakozni. :yes: Tegnap sikerült is fél éjfélig hangokat szerkesztenem. A Federal Signal Smart Siren hangjait vettem alapul, ezekhez próbáltam belőni minél jobban. (Sajnos zenei hallásom igencsak konvergál a nullához.) Nem tölcséren próbáltam egyenlőre, sima erősítőre ment ki a jel, de a freki az freki.
Még egy pár átalakítást eszközlök: egy kicsit át kell szerveznem a lábakat, ugyanis az RB0, RB1 megszakításait szeretném használni az Airhorn funcióra - bármely effekt lejátszását szakítsa meg az airhorn, majd térjen vissza a gomb elengedése után oda, ahol abbahagyta. Szóval én még tréningezek egy kicsit a dolgon. Hatalmas nagy köszönet Watt mesternek a remek kódért!!!!

A kód:
  1. MOVLW   HIGH(KEZDŐ_FREKI((.600*y)))
  2. MOVWF   FREKI_KEZDŐ_H
  3. MOVLW   LOW(KEZDŐ_FREKI((.600*y)))
  4. MOVWF   FREKI_KEZDŐ_L 
  5. MOVLW   HIGH(BEFEJEZŐ_FREKI((.1000*y)))
  6. MOVWF   FREKI_BEFEJEZŐ_H
  7. MOVLW   LOW(BEFEJEZŐ_FREKI((.1000*y)))
  8. MOVWF   FREKI_BEFEJEZŐ_L      
  9. MOVLW   SEBESSÉG(.45)
  10. MOVWF   VÁLTOZÁS_SEBESSÉGE
  11. CALL    FELFUTÁS_KEZDET_VÉG_SEBESSÉG_SUB
  12. MOVLW   HIGH(KEZDŐ_FREKI((.1000*y))) ;750
  13. MOVWF   FREKI_KEZDŐ_H
  14. MOVLW   LOW(KEZDŐ_FREKI((.1000*y))) ;650
  15. MOVWF   FREKI_KEZDŐ_L    
  16. MOVLW   HIGH(BEFEJEZŐ_FREKI((.1800*y)))
  17. MOVWF   FREKI_BEFEJEZŐ_H
  18. MOVLW   LOW(BEFEJEZŐ_FREKI((.1800*y)))
  19. MOVWF   FREKI_BEFEJEZŐ_L  
  20. MOVLW   SEBESSÉG(.51)
  21. MOVWF   VÁLTOZÁS_SEBESSÉGE
  22. CALL    LASSÚ_FELFUTÁS_KEZDET_VÉG_SEBESSÉG_SUB
  23. MOVLW   HIGH(KEZDŐ_FREKI((.1800*y)))
  24. MOVWF   FREKI_KEZDŐ_H
  25. MOVLW   LOW(KEZDŐ_FREKI((.1800*y)))
  26. MOVWF   FREKI_KEZDŐ_L    
  27. MOVLW   HIGH(BEFEJEZŐ_FREKI((.600*y)))
  28. MOVWF   FREKI_BEFEJEZŐ_H
  29. MOVLW   LOW(BEFEJEZŐ_FREKI((.600*y)))
  30. MOVWF   FREKI_BEFEJEZŐ_L  
  31. MOVLW   SEBESSÉG(.47)
  32. MOVWF   VÁLTOZÁS_SEBESSÉGE
  33. CALL    LASSÚ_LEFUTÁS_KEZDET_VÉG_SEBESSÉG_SUB
  34. #DEFINE E6_IDŐ_3       .45
  35. MOVLW   HIGH(E6_IDŐ_3)        
  36. MOVWF   FREKI_KITARTÁS_H
  37. MOVLW   LOW(E6_IDŐ_3)
  38. MOVWF   FREKI_KITARTÁS_L
  39. MOVLW   HIGH(KEZDŐ_FREKI((.600*y)))
  40. MOVWF   FREKI_KEZDŐ_H
  41. MOVLW   LOW(KEZDŐ_FREKI((.600*y)))
  42. MOVWF   FREKI_KEZDŐ_L 
  43. CALL    FREKI_KITART_SUB
(#) Depner válasza még1MbR hozzászólására (») Márc 19, 2008 /
 
OK, természetesen. Ma meló után szándékozom rápakolni a Watt-féle PIC-et. Lefotózom, és bepakolom a képet. Egy kicsit módosítottam már az előlapját, belsejét is, de a lényeg változatlan.
(#) Moderátor hozzászólása Depner hozzászólására (») Márc 19, 2008
 
Bocs, egy picit belepiszkáltam a hozzászólásodba. A kódot betettem rendesen, kódként, a melléklet txt-jét töröltem, és a vonatkozó magyarázatot is kivettem a hozzászólásból.
A kódot egyébként úgy tudod beszúrni, hogy [_code=asm_] ... ide jön a kód ... [_/code_]

(Természetesen az aláhúzás (azaz: _ ) jelek nélkül!)
(#) Depner válasza (») Márc 19, 2008 /
 
Köszi szépen! Ezentúl így fogom csatolni a kódokat.
(#) Depner hozzászólása Márc 19, 2008 /
 
Elméletileg, ha:
-Átteszem az RB1 és RB2-ről a kapcsolókat, effekteket máshová (INT1, INT2)
-Engedélyezem erre a két lábra a LOW Priority megszakítást
-0x0018 (low prio int) címen megvizsgálom, hogy melyik lábról jött a megszakítás
-Az INT1-hez tartozó megszakításhoz beteszem a horn rutint
-Vizsgálom, hogy mikor van elengedve a nyomógomb

,akkor az effektek lejátszása közben az ide helyezett nyomógomb megnyomására megszakítja az aktuális rutin lejátszását, adja a horn hangot, amíg nyomva van a gomb. Elengedése után visszatér az eredeti rutinba. Mivel Low prio megszakítás, nem kell, hogy bezavarjon a Timerek megszakítási kérelmeibe. Jól gonodlom?
(#) watt válasza Depner hozzászólására (») Márc 19, 2008 /
 
Attól tartok kicsit összetetteb a dolog, bár nem teljesen látom át, hogy hogyan fogod megoldani. Próbáld ki és meglátjuk...

(#) watt hozzászólása Márc 19, 2008 /
 
Gondoltam adok egy praktikus ötletet, hogy az effektek még jobban áttekinhetőek legyenek, és ne kelljen annyit írni, íme:

  1. LEFUT_SET_m MACRO KEZD_L,BEF_L,SEB_L    ;kezdő érték mindig magasabb!
  2.         MOVLW   HIGH(KEZDŐ_FREKI((KEZD_L*y)))
  3.         MOVWF   FREKI_KEZDŐ_H
  4.         MOVLW   LOW(KEZDŐ_FREKI((KEZD_L*y)))
  5.         MOVWF   FREKI_KEZDŐ_L 
  6.         MOVLW   HIGH(BEFEJEZŐ_FREKI((BEF_L*y)))
  7.         MOVWF   FREKI_BEFEJEZŐ_H
  8.         MOVLW   LOW(BEFEJEZŐ_FREKI((BEF_L*y)))
  9.         MOVWF   FREKI_BEFEJEZŐ_L      
  10.         MOVLW   SEBESSÉG(SEB_L)
  11.         MOVWF   VÁLTOZÁS_SEBESSÉGE
  12.         CALL    LEFUTÁS_KEZDET_VÉG_SEBESSÉG_SUB
  13.      ENDM
  14.  
  15. FELFUT_SET_m MACRO KEZD_F,BEF_F,SEB_F   ;kezdő érték mindig alacsonyabb!
  16.         MOVLW   HIGH(KEZDŐ_FREKI((KEZD_F*y)))
  17.         MOVWF   FREKI_KEZDŐ_H
  18.         MOVLW   LOW(KEZDŐ_FREKI((KEZD_F*y)))
  19.         MOVWF   FREKI_KEZDŐ_L 
  20.         MOVLW   HIGH(BEFEJEZŐ_FREKI((BEF_F*y)))
  21.         MOVWF   FREKI_BEFEJEZŐ_H
  22.         MOVLW   LOW(BEFEJEZŐ_FREKI((BEF_F*y)))
  23.         MOVWF   FREKI_BEFEJEZŐ_L      
  24.         MOVLW   SEBESSÉG(SEB_F)
  25.         MOVWF   VÁLTOZÁS_SEBESSÉGE
  26.         CALL    FELFUTÁS_KEZDET_VÉG_SEBESSÉG_SUB
  27.      ENDM
  28.  
  29. SZÜNET_SET_m MACRO SZUN       
  30.         MOVLW   LOW(SZUN)
  31.         MOVWF   SZÜNET_L
  32.         MOVLW   HIGH(SZUN)
  33.         MOVWF   SZÜNET_H
  34.         CALL    SZÜNET
  35.      ENDM
  36.  
  37.  
  38. ;Példa a használatukra:
  39. ;A decimális értékek elé egy pontot kell tenni!
  40.  
  41. ; .............. FÜTTY ...    
  42.         ORG     0X300
  43. EFFEKT_2
  44.         LEFUT_SET_m .2500,.700,.100  
  45.         FELFUT_SET_m .700,.900,.60  
  46.         FELFUT_SET_m .900,.1500,.50
  47.         FELFUT_SET_m .1500,.4500,.40
  48.         SZÜNET_SET_m .2000
  49.         RETURN

(#) Frankye válasza Depner hozzászólására (») Márc 19, 2008 /
 
Ha ezt sikerül megvalósítanod, szerintem Miki (Még1MbR) hálát ad majd Neked!
(#) Depner válasza watt hozzászólására (») Márc 19, 2008 /
 
Óóóó, köszi! Ez nagyon jó!!!
(#) Depner válasza watt hozzászólására (») Márc 19, 2008 /
 
Így hirtelen már kigondoltam a kód-változásokat. Nem használtam még low prio/high prio megszakításokat, de elvileg ezért vannak. Ma este először is felviszem a kocsiból a szirénakezelőt, kipróbálom, hogy hogy szól tölcséren, aztán átvariálom a nyákot (egyelőre univnyákon van pont az ilyen elgondolások miatt.)

Amiket bele szeretnék pakolászni:
1.) Wail (RB0)
2.) Yelp (RB3)
3.) Hyperjelp (aka Priority) (RB4)
4.) Hi-Lo (RB5)
RA0-RA5 : 6 hely további perverzitások kiélésére

RB1 (INT1 low prio): Megszakítás az Airhornnak
RB2 (INT2 low prio): Megszakítás a fogalmam sincs minek, lehet, hogy nem is kell.

Na, majd jelentkezek az eredménnyel...
(#) watt válasza Depner hozzászólására (») Márc 19, 2008 /
 
Arra figyelj, hogy áramkorlátos tápról próbáld ki a programmódosításokat, mert ha leáll a hang generálása, akkor a két FET egyike fixen rányitja trafóra a tápot, ami nem egészséges.
Ha nincs ilyen tápod, akkor a két FET-et kösd le a trafóról(vagy a trafó közös ágát kösd le a 12V-ról), és az egyik FET-et meghajtó PIC lábról egy 1kohm -os soros, majd egy 100ohm -os párhuzamos ellenállással készíthetsz egy osztót a test felé(kb 500mV marad rajta a négyszögjel). A két ellenállás közös pontjáról egy 1µF-os kondival kicsatlakoztathatod a hangot egy erősítő bemenetére(a testhez képest). Esetleg egy fejhallgató hangszórót is rálógathatsz egy 470ohm-al a kimenetre közvetlenül.

Ekkor az se baj, ha leáll a rezgés, nem fog óriási áramokat felvenni és tönkremenni semmi.
(#) még1MbR hozzászólása Márc 19, 2008 /
 
Hú, de felpezsdült az élet!
Az Air Horn prioritása valóban nagyon jó dolog, köszönet érte, ha sikerül összehozni!

Én (hozzá nem értő lévén) egy váltó nyomógombbal oldottam meg egyenlőre, ami megszakítja a testet az összes hang előtt és ráteszi a horn-éra.
Kicsit fapados, de működik

Este nem fogom kibírni, hogy meg ne nézzem ezt az új hangot, még ha éjjel egykor fekszek is le!
(#) Depner válasza watt hozzászólására (») Márc 19, 2008 /
 
A FET-es résztől nem építettem meg, mert egy meglévő kezelőre megy majd rá. Így sima hangfrekis erősítő van rákötve a PIC-re. Próbákra kiválló. Csatolom a módosított asm-et. Itt a céges gépen nincs MPLAB, úgyhogy Wordpaddel szerkesztettem. Nem tudom mi lesz belőle, bizonyosan csiszolni kell majd, de ahhoz majd kell az MPLAB az ICD2-vel. Az alapötlet, hogy a low prio megszakítást megszakíhatja a high prio, tehát elvileg nem kell, hogy gondot okozzon az alapműködésben... Majd elválik...
(#) Tonsil válasza Depner hozzászólására (») Márc 19, 2008 /
 
Nem tudom hogy ez neked megfelel-e ,de én a program módosítása nélkül oldottam meg hogy a horn megszakítsa az éppen futó hangot,majd a gomb elengedése után ugyanarra a hangra térjen vissza.
Mivel a jaxley csak testet kapcsol a pic lábira,így a jaxley-re menő test vezetéket megszakítottam egy (váltó) nyomógombbal, ami benyomva a pic "horn" bementére
ad testet (megszakítva a jaxley testjét), elengedve pedig visszadja a testet a jaxleyre.Ki is próbáltam működik gyakorlatban is.
Nem saját ötlet volt,nekem Még1MbR Miki javasolta.

(#) Tonsil válasza még1MbR hozzászólására (») Márc 19, 2008 /
 
Látom a horn nyomógomb ügyében egyre gondoltunk

(Egyébként ma vagy holnap megjön az MKJ-m.)
(#) még1MbR hozzászólása Márc 19, 2008 /
 
Amúgy nagyon jó ez a PIC-es sziréna kapcsolás meglévő szirénaerősítő tuningolására is valóban!
Ha minden igaz, nemsokára egy Eriston150-be is belereszelődik egy itteni topiktárs által
(Pontosabban egy Sziroton 100-ba, de ez csak annyiban tér el a fentitől, hogy a kibeszélő rész előerősítőjét lehagyták belőle)
Ha sikerül belőni a horn hang prioritását a programban, akkor teljesen kompatibilisen beletehető.


Na, egyszerre írtunk Tonsil
(#) Depner válasza Tonsil hozzászólására (») Márc 19, 2008 /
 
Persze, ez tuti működik. Csak ha már PIC, akkor ügyeskedek. Így elegáncsosabbnak tűnik.
(#) Tonsil válasza Depner hozzászólására (») Márc 19, 2008 /
 
Ja ok
Szerintem az enyém még mindig állna ha a programban akartam volna megoldani
(#) watt válasza Depner hozzászólására (») Márc 19, 2008 /
 
Engem néhány Flag kezelése(ill. nem kezelése) még elgondolkodtat, de majd meglátjuk a próbáknál! Jelenleg nem vagyok annyira benne a programban, hogy átlássam a rejtett problémákat. Kíváncsi vagyok, meglátjuk...
(#) még1MbR válasza Depner hozzászólására (») Márc 19, 2008 /
 
Manual gombot is ügyeskedjél akkor már
Bár pontosan nem tudom, miként működik... ameddig nyomod, addig tartja felpörögve a szirénavisítást, jól gondolom?
(#) Depner válasza még1MbR hozzászólására (») Márc 19, 2008 /
 
Legalább is a Federalokban így működik. Pld. az mehet a 2. megszakító gombra.
(#) watt válasza még1MbR hozzászólására (») Márc 19, 2008 /
 
Ezt pl. úgy lehetne megoldani, hogy az effekten belül, amikor már "felpörgött" a sziréna, ami azt jelenti, hogy az utolsó magasságba került a freki, na akkor csinálni egy ciklust, ami addig ismétli az utolsó magasság kitartás rutinrészt, amíg a gomb el nincs engedve.

Még a makrókhoz annyit, hogy vigyázni kell vele a BTFSS utasításoknál, mert nem egy sornak fordul! Visszatérni a makró elejére csak BRA, vagy GOTO-val lehet!
(#) Tonsil válasza még1MbR hozzászólására (») Márc 19, 2008 /
 
Az engem is érdekel.
Egyébként az a WAIL hang módosítása.
Amíg nyomod a gombot addig a hang "felfele fut"
ha elengeded akkor lefele...éppen ezért csak elnyújtott hangoknál jó,ezért a wail..
(#) watt válasza Tonsil hozzászólására (») Márc 19, 2008 /
 
Ja hogy ez lefele is fut? Akkor a manual módra átkapcsolót kell tenni, mert másképp nem lesz jó!
Ráadásul azt is le kell kezelni, hogy a gomb elengedése utáni lefutás közbeni újbóli lenyomás hangmagassága rátaláljon az éppen aktuális frekire, mielőtt újból emelkedik! Nem egyszerű, de megoldható..
(#) Depner válasza watt hozzászólására (») Márc 19, 2008 /
 
Igen, low prioval
(#) Tonsil válasza watt hozzászólására (») Márc 19, 2008 /
 
Igen,lefele is fut,de én is csak most gondoltam bele hogy a manualnak valóban nem előről kell indítania a ciklust hanem onnan,ahonnan a gomb elengedése után lefutott a hang.

a manual

Íme a manual mode
(bár ennek a gépnek elég beteg a hangja)
Érdekssége hogy a manual csak egy ciklus,tehát ha nem nyomsz gombot amielőtt lefut, akkor nem indul újra magától.
(#) watt válasza Depner hozzászólására (») Márc 19, 2008 /
 
Szerintem nem ez a titok, inkább a folyamat ismerete. Két lehetőség van.
1. Nem használva a megírt rutinokat külön lekezelni a freki emelkedését.
2. Sok kis lépcsőben felépíteni az emelkedést a meglévő rutinokkal, és figyelni, hogy melyiknál jár éppen az effekten belül. Így ezzel az indexel rá lehet találni a megfelelő fel, vagy lefutó frekire.

Mindkét esetben más üzemmódba kell kapcsolni a PIC-et, mert a manual azért manual, mert közben más effekt nem műkszik és logikailag is összeegyeztethetetlen, analog kivitelben is.
Következő: »»   26 / 51
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem