🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #7966

Re: Hulp met Turbo Pascal

#7966
From: Nicolas Barbier
Date: Wed, 17 Jul 2002 15:43
68 lines
4488 bytes
Sumo_Negro wrote:
> In article <pan.2002.07.16.16.06.19.332993.580@in.group>, reply@in.group
> says...
>> het pascal-gedeelte is triviaal (een formule toepassen).
> 
> Blijkbaar toch niet zo triviaal, ik ben aan het zoeken geweest maar niet
> echt gevonden wat ik zoek.
> Zou je misschien een tipje willen geven?

ok dan ;-)

(let op: ik ben geen elektronica-specialist dus qua hardware-details kan
ik fout zijn)

ff algemene uitleg hoe een analoge gamepoort werkt:

je kan de poort "resetten", vanaf dat moment begint er een opgeladen
condensator zich te ontladen over de 2 pinnetjes van die ingang van de
gamepoort. hoe hoger de weerstand tussen die pinnetjes hoe langer dit
duurt. op het moment dat een bepaalde drempelspanning wordt bereikt, wordt
een bepaald register in de gamepoort-controller op 1 gezet. je kan dus als
volgt de weerstand tussen die 2 pinnetjes bepalen: 1. reset controller, 2.
meet de tijd die het duurt om 1 in het register te krijgen.

uitleg "COUNT" functie:

de functie: 1. reset de "counters" (je hebt er 4 per gamepoort denk ik,
wat ook blijkt uit het hoofdprogramma) 2. buzy-loopt tot alle registers,
aangegeven door de bits in "MMV" (het eerste argument) 1 worden. het
aantal iteraties wordt teruggegeven. als de bits nog niet 1 zijn na
COUNTLIMIT iteraties, stopt de functie ook.

uitleg hoofdprogramma:

zet COUNTLIMIT op MAXINT (de grootste waarde die in een turbo pascal
integer past, 2^15 - 1 dus). voer COUNT uit voor ingang 1 (van de 4) en
geef een fout als de functie timeout (blijkbaar zijn de pinnetjes dan niet
verbonden of je computer is te snel :-). als het wel goed was, zet ze
COUNTLIMIT op 2 * de gemeten waarde (je kan daarna weerstanden meten met
dus maximum de weerstand bij het begin van het programma * 2). dan begint
het een lus tot je op een toets drukt en meet telkens de waarde van de 4
ingangen (ingangen 1, 2, 3, 4 moet je aangeven met als argumenten 1, 2, 4,
8). als de weerstand hoger is dan COUNTLIMIT zegt ze "Me�bereich
�berschritten" (whatever that means, "meetbereik overschreden" zeker :-)
en zoniet geeft ze de weerstand die berekend wordt met de formule CNT /
C102K2 * 102.2 - 2.2 (CNT is de waarde die de functie teruggaf en C102K2
de waarde die gemeten was aan het begin van het programma).

ik denk dus dat je op ingang 1 in het begin van het programma een
weerstand van 102K2 Ohm moet plaatsen die als ijk wordt gebruikt.

hetgeen je uit dit programma moet weten is dus dat het nulpunt (als het
register dus meteen op 1 springt) 2K2 Ohm is. minder kan je dus niet
meten, en waarschijnlijk zal de meting niet echt nauwkeurig zijn voor
weerstanden die niet significant groter zijn. het probleem is dat de
Windows functie niet per se hetzelfde nulpunt gebruikt.

ik denk dat je, om de windows functie te gebruiken, best eerst ff de
(hopelijk ;-) lineaire functie zoekt die het verband aangeeft tussen de
waarde die je krijgt en de weerstanden die je ertussenplaatst (2 metingen
is dus in principe genoeg, maar ik raad meer aan).

veel uitleg voor iets simpel dus :-)

-- 
Nicolas Barbier
PROFILE:      http://users.pandora.be/HATE/profiles/itsme/
HOW_TO_QUOTE: http://www.houghi.org/quote/    /* dutch */
Technical Details
Message-ID: <pan.2002.07.17.17.43.17.128688.550@in.group>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!feed.textport.net!diablo.netcom.net.uk!netcom.net.uk!kibo.news.demon.net!demon!easynet-monga!easynet.net!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail
References: <MPG.179cdd8ac5b338a198972e@newsbin.telenet.be> <pan.2002.07.16.12.35.16.558235.581@in.group> <MPG.179e2bf93c0396f4989736@newsbin.telenet.be> <pan.2002.07.16.16.06.19.332993.580@in.group> <MPG.179f9e0c9ba73bf989741@newsbin.telenet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,981c97a6958990f8
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-07-17 08:49:35 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!sn-xit-08!supernews.com!feed.textport.net!diablo.netcom.net.uk!netcom.net.uk!kibo.news.demon.net!demon!easynet-monga!easynet.net!feed1.news.be.easynet.net!sisyphus.news.be.easynet.net!not-for-mail
From: Nicolas Barbier <reply@in.group>
Subject: Re: Hulp met Turbo Pascal
Date: Wed, 17 Jul 2002 17:43:17 +0200
Newsgroups: be.comp.programming
Message-ID: <pan.2002.07.17.17.43.17.128688.550@in.group>
References: <MPG.179cdd8ac5b338a198972e@newsbin.telenet.be> <pan.2002.07.16.12.35.16.558235.581@in.group> <MPG.179e2bf93c0396f4989736@newsbin.telenet.be> <pan.2002.07.16.16.06.19.332993.580@in.group> <MPG.179f9e0c9ba73bf989741@newsbin.telenet.be>
User-Agent: Pan/0.11.2 (Unix)
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Comment-To: "Sumo_Negro" <Sumo_Negro4life@hotmail.com>
Lines: 68
Organization: [ posted via Easynet Belgium ]
NNTP-Posting-Host: 213.193.182.231
X-Trace: 1026920710  30455 213.193.182.231
X-Complaints-To: abuse@be.easynet.net