Sensors testen

Je hebt net een programmaatje geschreven en weet niet welke Threshold-waardes je moet gebruiken? Hoe reageert die ene sensor op kleuren? Of wil je gewoon wat experimenteren?

Ik heb daarvoor een klein programmaatje ontwikkeld zodat je de nabijheidssensoren of de grondsensoren van de sensormodule eens grondig op de proef kunt stellen.

Programma nabijheidssensoren.

#include <dwengoBoard.h>
#include <dwengoConfig.h>
#include <dwengoSensorModule.h>
#include <dwengoLCD.h>

void main(void) {

  int RS, LS, MID, LR;  // variables for sensors

  initBoard();
  initLCD();
  backlightOn(); 
  initSensorModule();

  powerLongRange(TRUE);               //Lange afstand sensor aan.

  appendStringToLCD("Press button C");
  while (SW_C != PRESSED) {
  delay_ms(10);
  }

   while(TRUE) {

         //Voorprogramma.

         RS = readSensor(OS5, DIFF_MODE);     //Definitie sensor rechts.
         LS = readSensor(OS7, DIFF_MODE);     //Definitie sensor links.
         MID = readSensor(OS6, DIFF_MODE);    //Definitie sensor midden.
         LR = readSensor(OS8, DIFF_MODE);     //Definitie sensor long rang.


         //LCDprogramma.
     clearLCD();
    printStringToLCD("LS:", 0, 0);       //Schrijf LS:" op de eerste lijn.
    appendIntToLCD(LS);                  //Lees sensor links en schrijf erachter.

         printStringToLCD("RS:", 0, 9);       //Schrijf "RS:" op de eerste lijn.
    appendIntToLCD(RS);                  //Lees sensor rechts en schrijf erachter.
   
         printStringToLCD("MID:", 1, 0);      //Schrijf "MID:" op de tweede lijn.
    appendIntToLCD(MID);                 //Lees sensor midden en schrijf erachter.

         printStringToLCD("LR:", 1, 9);       //Schrijf "LR:" op de tweede lijn.
    appendIntToLCD(LR);                  //Lees sensor long range en schrijf erachter.
        
    delay_ms(250);                       //Effe wachten.
  }
}


Programma grondsensoren.

#include <dwengoBoard.h>
#include <dwengoConfig.h>
#include <dwengoLCD.h>
#include <dwengoSensorModule.h>

void main(void) {

  int RSG, LSG, MIDRSG, MIDLSG;  // variables for sensors

  initBoard();
  initLCD();
  backlightOn(); 
  initSensorModule();

  powerLongRange(FALSE);               //Lange afstand sensor af.

  appendStringToLCD("Press button C");
  while (SW_C != PRESSED) {
  delay_ms(10);
  }

   while(TRUE) {

         //Voorprogramma.

         RSG = readSensor(OS1, DIFF_MODE);        //Definitie sensor rechts.
         LSG = readSensor(OS4, DIFF_MODE);        //Definitie sensor links.
         MIDRSG = readSensor(OS2, DIFF_MODE);     //Definitie sensor middenrechts.
         MIDLSG = readSensor(OS3, DIFF_MODE);     //Definitie sensor middenlinks.

         //LCDprogramma.
     clearLCD();
    printStringToLCD("LS:", 0, 0);     //Schrijf "LS:" op de eerste lijn.
    appendIntToLCD(LSG);                //Lees sensor links.

         printStringToLCD("RS:", 0, 9);     //Schrijf "RS:" op de eerste lijn.
    appendIntToLCD(RSG);                //Lees sensor rechts.
   
         printStringToLCD("ML:", 1, 0);     //Schrijf "ML:" op de tweede lijn.
    appendIntToLCD(MIDRSG);            //Lees sensor midden links.
        
         printStringToLCD("MR:", 1, 9);     //Schrijf "MR:" op de tweede lijn.
    appendIntToLCD(MIDLSG);            //Lees sensor midden rechts.

    delay_ms(250);                     //Effe wachten.
  }
}


Zoals je ziet lijken de twee programma’s erg op elkaar. Mocht er een programma niet naar behoren werken, schrijf dan gerust een berichtje!

Geen opmerkingen:

Een reactie posten