Bij het robot startpakket van Dwengo had ik nog extra sensoren bijbesteld, deze waren echter nog niet aangesloten. Zodus heb ik ze op een printje gesoldeerd, en na enig schrijen in C ze werkend gekregen: dit was niet zo makkelijk, want de werking van de sensormodule mocht niet gestoord worden.
De Vout - pin van de fototransistor is aangeslotenop A3, de sturing voor de IR LED op E0. Merk op dat de waarde van de sensor door vier gedeeld wordt: de sensors op de module gaan maar tot en met 255, de extra sensor op A3 tot en met 1023. Ook wordt er ter vergelijking nog de sensor OS6 van het sensorbord op regel twee van het LCD weergegeven.
De sensor |
Het (eenvoudige) programmaatje:
#include <dwengoBoard.h>
#include <dwengoConfig.h>
#include <dwengoADC.h>
#include <dwengoLCD.h>
#include <dwengoDelay.h>
#include <dwengoSensorModule.h>
#define IRLED PORTE //Doorverwijzingen.
#define AF 0b00
#define AAN 0b11
void main(void) {
int AMBIENT;
int ACTIVE;
TRISE = 0; //Definieer poorten E0 en E1 als uitgang.
initBoard();
initLCD();
initADC();
initSensorModule();
backlightOn();
while(TRUE) {
AMBIENT = readADC(3);
IRLED = AAN;
ACTIVE = readADC(3);
IRLED = AF;
clearLCD();
printIntToLCD(((AMBIENT - ACTIVE)/4), 0, 0);
printIntToLCD(readSensor(OS6, DIFF_MODE), 1, 0);
//Geef ook waarde extra sensor ter vergelijking.
delay_ms(250);
}
}