Article View: be.comp.programming
Article #7966Re: Hulp met Turbo Pascal
From: Nicolas Barbier
Date: Wed, 17 Jul 2002 15:43
Date: Wed, 17 Jul 2002 15:43
68 lines
4488 bytes
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-mailReferences:
<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