Hallo,
Ich habe versucht mit einer maus und javascript einen drehzahlmesser zu bauen
In javascript habe ich die ausgeloesten onmousewheel events gezaehlt und dann per setInterval alle 500ms zu events pro minute hochgerrechnet.
mir ist klar das js da nicht das ideal ist .. ich kann aber nur websprachen
Die maus ist zerlegt und pro umdrehung fliegt einmal ein Propellerbaltt durch die IR lichtschranke... wo eigentlich das "lochrad" vom mausrad durchgeht.
jetzt hab ich festgestellt das die maximal aufgezeinete drehzal ~7500 U/min ist .. also 125 ausgeloeste events pro secunde. hoehere drehzahlen werden nicht wahrgenommen.
jetzt die fragen.. meint ihr das liegt an JS oder ist da ende der maus oder vom usb? oder hab ich das script vllt. zu langsam gemacht?
weil wenns nicht an der hadware liegt .. wuerde ich das mal in java versuchen .. muesste dafuer allerdings noch etwas java lernen
Ich habe versucht mit einer maus und javascript einen drehzahlmesser zu bauen
In javascript habe ich die ausgeloesten onmousewheel events gezaehlt und dann per setInterval alle 500ms zu events pro minute hochgerrechnet.
mir ist klar das js da nicht das ideal ist .. ich kann aber nur websprachen
Die maus ist zerlegt und pro umdrehung fliegt einmal ein Propellerbaltt durch die IR lichtschranke... wo eigentlich das "lochrad" vom mausrad durchgeht.
jetzt hab ich festgestellt das die maximal aufgezeinete drehzal ~7500 U/min ist .. also 125 ausgeloeste events pro secunde. hoehere drehzahlen werden nicht wahrgenommen.
jetzt die fragen.. meint ihr das liegt an JS oder ist da ende der maus oder vom usb? oder hab ich das script vllt. zu langsam gemacht?
weil wenns nicht an der hadware liegt .. wuerde ich das mal in java versuchen .. muesste dafuer allerdings noch etwas java lernen
Code:
var runden = 0;
//event listener ie
if (document.attachEvent){
document.attachEvent('onmousewheel', function(e){
runden = runden+1;
}, false);
}
//event listener ff
if (document.addEventListener){
document.addEventListener('DOMMouseScroll', function(e){
runden = runden+1;
}, false);
}
setInterval("rpm()", 500);
//runden zaehlen und ausgeben
function rpm(){
var anzeige = document.getElementById('anzeige');
var akt_drehzahl = runden*120;
anzeige.innerHTML = akt_drehzahl;
runden = 0;
}