Arexx Minesweeper kit ARX-MNP55 ARX-MNP55 ARX-MNP55 User Manual

Product codes
ARX-MNP55
Page of 14
if ((PIND & (1<<2)) == 0) oscillation = TRUE;
}
// If oscillator is running, no metal object is within 
// range, so LED should be off
if (oscillation) FrontLED(OFF); else FrontLED(ON);
}     
return 0;
}
Dit   programma   zorgt   ervoor,   dat   de   LED   uitgaat,   als   de   oscillator   werkt.  Afhankelijk   van   de 
toegepaste   detectiemethode   (uitdemping   van   de   oscillaties   of   verandering   van   de   oscillatie-
frequentie) moet men verschillende ijkingsprocedures volgen. Allereerst demonstreren wij de ijking 
voor de eenvoudige methode, d.w.z. uitdemping van de oscillaties, die ook voor testprocedures (met 
behulp van het bovenstaande programma) bij voorkeur wordt toegepast. 
Als na het inschakelen de rode LED op de uitbreidingsprint niet oplicht, moet je de spindel-trimmer 
zo ver naar rechts draaien, dat de LED wel oplicht. De trimmer kan tien omwentelingen in een 
richting   volgen   en   wordt   ook   dan   niet   beschadigd,   als   je   nog   verder   draait.   Als   de   tien 
omwentelingen voorbij zijn en er gebeurt niets, dan is er iets mis en moet je de fout door debugging 
opsporen en verhelpen...
Lukt   het   echter   wel   de   LED   te   laten   branden,   dan   plaats   je   de   robot   op   een   verhoging,   die 
gegarandeerd vrij van metaal moet zijn, bijv. een plastic of houten kist, of een tafeltje zonder 
spijkers, respectievelijk schroeven in de buurt van de robot ...) en draai je de spindel-trimmer zover 
naar links, dat de LED helemaal uitdooft. Het kan nodig zijn, deze ijkprocedure later nogmaals te 
herhalen,   omdat   de   temperatuur   en   de   variatie   van   de   batterijspanning   het   oorspronkelijk 
nauwkeurig   ingestelde   werkpunt   hebben   laten   verschuiven.   Hoe   nauwkeuriger   men   de   ijking 
doorvoert, des te gevoeliger reageert de sensor, maar des te vaker moet men de ijking herhalen.
Als je nu met een metalen object (een schroevendraaier, o.i.d.) de ping-pong bal benadert, dan moet 
– op zijn minst bij aanraking – de LED weer oplichten.
De sensor is nu zo gevoelig, dat deze ook kleine stukjes aluminiumfolie door karton heen kan 
opsporen.
Indien je nu de verandering van de frequentie wilt meten, dan moet je de sensor in de kant-en-klaar 
voorbereide applicatie ijken. Daarbij wordt de robot aan het maximaal te verwachten sensorsignaal 
blootgesteld   (d.w.z.   het   metalen   voorwerp   of   de   metalen   oppervlakte   wordt   zo   dicht   mogelijk 
benaderd) en de trimmer zo ver naar links gedraaid, dat ook dan de LED niet uitdooft. Voor deze 
demonstratie kan men het navolgende programma toepassen (MinesweeperTest2):
#include "asuro.h"
#include <stdio.h>
extern volatile unsigned char count72kHz;
int main(void)
{
    unsigned char oldlevel=0, newlevel;
    unsigned int freq;
    int i;
    char s[9];
    Init();
    DDRD &= ~(1<<2); // Change Port D Pin 2 to input
    StatusLED(OFF);
    while(1)
    {
freq=0;