BBiot Spectrofotometer  (Onderaan pagina Spectrofoto voor BBA)

Doel:

U bouwt zelf een spectrofotometer mbv een RGB en een IR led en enkele lichtsensoren. De sensorwaarden worden uitgelezen door een Arduino processor (hier Brainbox IOT) en gevisualiseerd op een computerscherm. U test deze spectrofotometer uit op verschillende vloeistoffen.

Nadien zou u o.a. kunnen onderzoeken of u hiermee ook de PH waarde van een vloeistof zou kunnen bepalen.

Of u test of dit toestel kan gebruikt worden om vervuiling in water te detecteren. 

Spectrograaf

(Bron Wikipedia) In de optica is een spectrograaf,  spectrometer of spektrofotometer een instrument dat licht in de verschillende kleuren opsplitst, net zoals Newton deed met zijn prisma. De resulterende meting van de verdeling van licht over de verschillende golflengtes wordt een spectrum genoemd.


Via een prisma kunnen alle frequenties uit het spectrum afzonderlijk door een vloeistof gestuurd worden wat ons een volledig beeld (fig 2) geeft van hoe goed de vloeistof al deze verschillende frequenties doorlaat.

De chemische samenstelling van een vloeistof heeft een invloed op de lichtdoorlaatbaarheid van al deze frequenties. Zo zullen verschillende vloeistoffen een ander spectrum doorlaten. Spectrofotometrie kan zo gebruikt worden om verschillende vloeistoffen van elkaar te onderscheiden, of om variaties in de samenstelling of eventuele pollutie te detecteren.

Onze vereenvoudigde spectrofotometer maakt slechts gebruik van 4 verschillende frequenties: De 3 frequenties van de RGB led van Rood, Groen en Blauw en de frequentie van de Infrarode led. Toch geeft dit ons al een mooi resultaat waarmee zelfs het verschil tussen kraanwater en gedestilleerd water kan gemeten worden.

Uitleg bij Schema:

Als processor gebruiken we de “made in Flanders” Brainbox IOT.

De digitale signalen van de pins (D2-D3-D4-D5) van deze BBiot versterken we eerst met de MX1508 Hbrug om zo voldoende stroom te leveren om de 3 kleuren van de RGB led en de IR led afzonderlijk en in steeds dezelfde volgorde aan te sturen.

We gebruiken twee afzonderlijke lichtsensoren om te meten hoeveel licht er door de vloeistof wordt doorgelaten. De L-53P3C gebruiken we voor het zichtbare licht van de RGB led en de SFH300FA meet de component IR licht die doorkomt.

Beide sensoren worden ingelezen op een analoge ingang van de processor. We meten telkens slecht 1 kleur, elke seconde, en publiceren het resultaat om de 4 seconden. De code kan u hieronder terugvinden.

Aankopen pakket spectrofotometer:

Pakket BB-SPECTRO bestaande uit:

  • MX1508 Hbrug + connectors
  • IR zender & RGB led
  • IR sensor en zichtbaar licht sensor
  • Alle weerstanden
  • Alle benodigde draadjes

(Dit pakket is nog zelf te solderen – indien nodig kan hier ondersteuning voor zijn)

Pakket BB-SPECTRO-PRINT:

  • De proefbuishouder wordt geprint door ons

(De stl file om zelf deze proefbuishouder te printen is van deze pagina gratis te downloaden.)

Code spectrofotometer

// STEM Spectrofotometer project - Bart Huyskens - september 2022
// www.e2cre8.be ; www.stemzone.be
// Hardware: Brainbox iot -> https://e2cre8.be/?page_id=3103
// Spectrofotometer met RGB led en IR led (TSAL6200)
// sensor: L-53P3C lichtsensor en SFH300FA IR sensor

// Initialisatie van de 4 variabelen als integers
int _ABVAR_1_Rood = 0 ;
int _ABVAR_2_Groen = 0 ;
int _ABVAR_3_Blauw = 0 ;
int _ABVAR_4_Infrarood = 0 ;

#define RED 2
#define GREEN 3
#define BLUE 4
#define IR 5

#define RGB_SENS A1
#define IR_SENS A2


void setup()
{
  pinMode( RED , OUTPUT);   // zet de 4 led outputs op output
  pinMode( GREEN , OUTPUT);
  pinMode( BLUE , OUTPUT);
  pinMode( IR , OUTPUT);
  Serial.begin(9600);     // opzetten communicatie via USB met PC om data 
                          // te kunnen publiceren via Serial Monitor
}

void loop()
{
  digitalWrite(RED , HIGH);   // Rode led
  delay( 1000 );
  _ABVAR_1_Rood = analogRead(RGB_SENS) ;
  digitalWrite(RED , LOW);
  digitalWrite(GREEN , HIGH);   // Groene led
  delay( 1000 );
  _ABVAR_2_Groen = analogRead(RGB_SENS) ;
  digitalWrite(GREEN , LOW);
  digitalWrite(BLUE , HIGH);    // Blauwe led
  delay( 1000 );
  _ABVAR_3_Blauw = analogRead(RGB_SENS) ;
  digitalWrite(BLUE , LOW);
  digitalWrite(IR , HIGH);    // IR led
  delay( 1000 );
  _ABVAR_4_Infrarood = analogRead(IR_SENS) ;
  digitalWrite(IR , LOW);

  // publiceer de 4 meetresultaten via USB op Serial Monitor 
  Serial.print("Rood:");
  Serial.print(" ");
  Serial.print(String(_ABVAR_1_Rood));
  Serial.print("\t");
  Serial.print("Groen:");
  Serial.print(" ");
  Serial.print(String(_ABVAR_2_Groen));
  Serial.print("\t");
  Serial.print("Blauw:");
  Serial.print(" ");
  Serial.print(String(_ABVAR_3_Blauw));
  Serial.print("\t");
  Serial.print("Infrarood:");
  Serial.print(" ");
  Serial.print(String(_ABVAR_4_Infrarood));
  Serial.println();  // Nieuwe lijn
}

DOWNLOAD 3D DATA

DOWNLOAD 3D STL file for 3D printing (tekenaar: Stijn Vandenbosch 16 jaar)

  Spectrofotometer voor BBA

Doel:

U bouwt zelf een spectrofotometer mbv een RGB en een IR led en enkele lichtsensoren. De sensorwaarden worden uitgelezen door een Arduino processor (hier Brainbox AVR) en gevisualiseerd op een computerscherm. U test deze spectrofotometer uit op verschillende vloeistoffen.

Nadien zou u o.a. kunnen onderzoeken of u hiermee ook de PH waarde van een vloeistof zou kunnen bepalen.

Of u test of dit toestel kan gebruikt worden om vervuiling in water te detecteren.

Uitleg bij Schema

Als processor gebruiken we de “made in Flanders” Brainbox AVR. Deze BBA heeft 4 regelbare power outputs (tot 500mA/pin) (D5, D6, D9, D10) die we graag gebruiken voor het aansturen van de 4 leds (R, G, B en IR).

We gebruiken twee afzonderlijke lichtsensoren om te meten hoeveel licht er door de vloeistof wordt doorgelaten. De L-53P3C gebruiken we voor het zichtbare licht van de RGB led en de QSD124 meet de component IR licht die doorkomt. Beide sensoren worden ingelezen op een analoge ingang van de processor. We meten telkens slecht 1 kleur, elke seconde, en publiceren het resultaat om de 4 seconden. De code kan u hieronder terugvinden.

Aankopen pakket spectrofotometer:

Pakket BBA-SPECTRO bestaande uit:

  • Pakket met:

    • Brainbox AVR (ARduino) + Adapter + USB kabel
    • RGB led, IR led
    • Sensor RGB en Sensor IR
    • Nodige kabels en weerstanden
    75€

(Dit pakket is nog zelf te solderen – indien nodig kan hier ondersteuning voor zijn)

Pakket BB-SPECTRO-PRINT:

  • De proefbuishouder wordt geprint door ons

(De stl file om zelf deze proefbuishouder te printen is van deze pagina gratis te downloaden.)

Code spectrofotometer

// STEM Spectrofotometer project - Bart Huyskens - mei 2018
// www.e2cre8.be ; www.stemzone.be
// Hardware: Brainbox AVR/Arduino -> https://e2cre8.be/?page_id=21
// Spectrofotometer met RGB led en IR led (TSAL6200)
// sensor: L-53P3C lichtsensor en QSD124 IR sensor
// Initialisatie van de 4 variabelen als integers
int _ABVAR_1_Rood = 0 ;
int _ABVAR_2_Groen = 0 ;
int _ABVAR_3_Blauw = 0 ;
int _ABVAR_4_Infrarood = 0 ;
void setup()
{
  pinMode( 5 , OUTPUT);   // zet de 4 led outputs op output
  pinMode( 6 , OUTPUT);
  pinMode( 9 , OUTPUT);
  pinMode( 10 , OUTPUT);
  Serial.begin(9600);     // opzetten communicatie via USB met PC om data 
                          // te kunnen publiceren via Serial Monitor
}
void loop()
{
  digitalWrite(5 , HIGH);   // Rode led
  delay( 1000 );
  _ABVAR_1_Rood = analogRead(A5) ;
  digitalWrite(5 , LOW);
  digitalWrite(6 , HIGH);   // Groene led
  delay( 1000 );
  _ABVAR_2_Groen = analogRead(A5) ;
  digitalWrite(6 , LOW);
  digitalWrite(9 , HIGH);    // Blauwe led
  delay( 1000 );
  _ABVAR_3_Blauw = analogRead(A5) ;
  digitalWrite(9 , LOW);
  digitalWrite(10 , HIGH);    // IR led
  delay( 1000 );
  _ABVAR_4_Infrarood = analogRead(A4) ;
  digitalWrite(10 , LOW);
  // publiceer de 4 meetresultaten via USB op Serial Monitor 
  Serial.print("__Rood:_");
  Serial.print(" ");
  Serial.print(String(_ABVAR_1_Rood));
  Serial.print("__Groen:_");
  Serial.print(" ");
  Serial.print(String(_ABVAR_2_Groen));
  Serial.print("__Blauw:_");
  Serial.print(" ");
  Serial.print(String(_ABVAR_3_Blauw));
  Serial.print("__Infrarood:_");
  Serial.print(" ");
  Serial.print(String(_ABVAR_4_Infrarood));
  Serial.println();  // Nieuwe lijn
}

Ardublock programma Spectrometer (click to download)