Virtual Dj vezérlő

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

Virtual Dj vezérlő

HozzászólásSzerző: Bence » 2009. március 15. vasárnap, 18:44

Nem akartam tovább OFF-olni a Rotary enkodereket, ezért nyitottam egy új témát. Sikerült csinálni egy potméterből rotary enkodert! Itt a kód:

Kód: Egész kijelölése

$regfile = "m8def.dat"
$crystal = 10000000
$baud = 9600


Config Adc = Single , Prescaler = Auto

Start Adc


Dim W As Word
Dim We As Word


W = Getadc(0)
W = W + 1
We = W / 64


Do
    W = Getadc(0)
    W = W + 1
    W = W / 64
    If W > We Then
      Print "a"
      We = W
    Elseif W < We Then
      Print "d"
      We = W
    End If
Loop

End


A Virtual Dj-ben beállítottam, hogy az A betű +256-ot "tol" a crossfaderen, a D betű -256-ot. A crossfadernek összesen 4096 osztása van (a többi potméternek is). Így ahogy tekerem a potmétert úgy megy a VDJ-ben a crossfader!!! Egyébként kipróbáltam, kb 200 gombnyomást tud kezelni a gépem másodpercenként. Sarial keyboarddal próbáltam, de normális USB-s billentyűzettel is ennyi lenne szerintetek?
Bence

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3349
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2009. március 15. vasárnap, 19:47

Klassz az ötlet! Köszi az infót! Még jöhetnek ilyenek!
Az M8-as hamar betelik, picit spórolnák a memóriával!

Kód: Egész kijelölése

Do
    W = Getadc(0)
    W = W + 1
    W = W / 64
    If W > We Then
      Print "a"
     Elseif W < We Then
      Print "d"
    End If
    We = W
Loop

Csak 3 bytes de 10 potinál már 30!
:wink:
Igaz így meg ha nem tolod a potit fölöslegesen van 1 érték átadás!
:cry:
Ez a sor miért kellett? : W = W + 1 ? Nélküle is ugyan az az eredmény! Kipróbáltam szimulátorban!
:idea:
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2009. március 15. vasárnap, 20:13-kor.

Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00
Kapcsolat:

HozzászólásSzerző: szovhoz » 2009. március 15. vasárnap, 20:13

W = W + 1 helyette incr w jobb szerintem én ezt használom vagy csökkentésnél W= W-1 => decr W.

Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Bence » 2009. március 15. vasárnap, 21:24

Azért kellett, mert az ADC 0-1023 és 1023/64 = 15,9 így az utolsó (a 16.) lépés lemarad.
Incr W gyorsabb?
Bence

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3349
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2009. március 15. vasárnap, 21:49

Incr W gyorsabb?
Igen 2 helyet 1 byte! Fele hely, fele idő!

És elég a 16 lépés?
Mért nem 1024/32 = 32?
Igy finomabb!

Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Bence » 2009. március 15. vasárnap, 22:05

Köszi.

És elég a 16 lépés?

Hát, a hangerőre igen, a tempóra több kéne legalább 64. De ezzel meg az a probléma, ha túl gyorsan tolom, akkor nem megy végig, mert nem veszi a gép az összes gombnyomást. Ezért vagyok kiváncsi, hogy az USB-s bill többet tud-e.
Bence

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3349
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2009. március 15. vasárnap, 22:27

Ez gyorsabb mint az If!
Do
W = Getadc(0)
Incr W
W = W / 64
Select Case W
Case Is > We : Print "a"
Case Is < We : Print "d"
End Select
We = W
Loop

Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Bence » 2009. március 16. hétfő, 9:53

Köszi, de nem az AVR-rel van a baj, az túl gyors a géphez. A billentyűzet nem tud elég gyorsan reagálni. :?
Bence

Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00
Tartózkodási hely: Törökbálint

HozzászólásSzerző: herc1234 » 2009. március 16. hétfő, 10:04

én építek egy usb-s billkezelőt meg megvan a bascomos
usb kiegészítés +ps2 emu de egyenlőre még nem sikerült
odáig eljutni hogy müködjön is.

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3349
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2009. március 16. hétfő, 11:54

Hali!
Elakadtál valahol, vagy csak egyszerűen időhiány miatt nem halad?

Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00
Tartózkodási hely: Törökbálint

HozzászólásSzerző: herc1234 » 2009. március 16. hétfő, 15:37

van egy soros portos verzió az ott megállt hogy kéne valami átvitelvezérlés mert anélkül nem indulnak el a számítógépen az ehez
tartozó szolgáltatások az usbhez meg olyan fejlesztőpanel is kéne
(mert az ATUSB szeriáról van szó)

Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Bence » 2009. április 16. csütörtök, 14:17

Vettem egy USB-s billentyűzetet, kipróbáltam és egy másodperc alatt csak 30 gombnyomást érzékel. :? :cry: A sorosportos ennél jobb volt. Valakinek van valami ötlete, hogy hogyan lehet megoldani a több gombnyomást másodperceként?
Bence

Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00
Tartózkodási hely: Törökbálint

HozzászólásSzerző: herc1234 » 2009. április 16. csütörtök, 17:12

qvázi soros vagy usb is akár...
Saját szoftware ahol egy byte 255 on/off le tud írni..
Azt meg hogy dróton küldöd e át vagy galambpostán szerintem
mindegy az csak a reakcióidő lesz.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10064
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2009. április 16. csütörtök, 20:03

A billkezelest a Win vegzi. A vezpultban adhatod meg, hogy mekkora varakozasok legyenek... en a sorosportra szavazok nagyobb sebesseg eseten....

Avatar
Bence
Tranzisztorgyógyász
Hozzászólások: 166
Csatlakozott: 2007. október 30. kedd, 6:00
Tartózkodási hely: Budapest

HozzászólásSzerző: Bence » 2009. április 17. péntek, 1:02

Sajnos a sorosport is kicsit lassú, de valószínűleg úgy fogom csinálni, hogy írok egy programot hozzá. A program olvassa a sorosportot (AVR küldi a billentyűket) és a program meg virtuálisan lenyom egy gombot, amit a VirtualDJ érzékel.
Visual Basic 2005-ben írom a progit, már a virtuális gombnyomás rész készen van, holnap megcsinálom a sorosport részt is.
Bence


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég