Montage du capteur et compteur Émile & Clément


ALPHA: Notre montage:

Je dois dire que j'ai eu toutes les peines à essayer de vous mettre un joli schéma de notre montage fait sur fritzing, alors, vous allez le voir je n'ai pas réussi! Alors trois explications potentielle à cela:
-1 je suis l'idiot du village;
-2 j'ai un petit problème à régler sur mon PC;
-3 je suis l'idiot du Village qui a un petit problème à régler sur son PC;
Pour tout vous dire, je pense plutôt pour l'option 3 pour le moment…

En conséquence, je vais essayer de vous décrire notre montage. Alors, nous avons deux “circuits”: -Pilotage du moteur du pousse seringue: Nous utilisons en plus de l'arduino une carte shield motor (achetée 27euros au magasin “S-Electronic” place de la nation, je cherche pas à faire de la pub, j'étais un peu pressé et je n'avais pas trop le temps d'attendre une livraison, et pour le coup, c'est pas trop loin, et rapide…) Cette carte shield motor est imbriquée sur notre arduino UNO. Le Shield nous permet de contrôler un moteur pas à pas. (Photos à venir, pour votre plus grand bonheur!) -Notre circuit “détecteur”: on peut tenter de représenter notre circuit d'acquisition comme cela:

 GND_R1_//+photodiode-//_GND 
     |
    Arduino


R1=10kΩ


BRAVO: le programme Arduino:

Notre programme est relativement simple: quand une bulle passe dans le capillaire, il chasse la solution colorée. L'absorbance diminue donc, et la photodiode reçoit plus de lumière. Notre système générateur fournit donc une tension plus élevée. On s'arrange donc pour que l'arduino détecte cette évolution Mais en plus, on pilote le moteur du pousse seringue
merci à Royce du groupe ARE polarimètre pour ses quelques conseils pour le moteur pas à pas

#include <Stepper.h>
 
 const int stepsPerRevolution = 200; 
 Stepper analyzer(200, 12,13);    
 
 const int pwmA = 3;
 const int pwmB = 11;
 const int brakeA = 9;
 const int brakeB = 8;
 const int dirA = 12;
 const int dirB = 13;
 
 int led=2;
 int mesure=A3;
 int compt;
 
void setup() {
   Serial.begin(9600);
   pinMode(pwmA, OUTPUT);
   pinMode(pwmB, OUTPUT);
   pinMode(brakeA, OUTPUT);
   pinMode(brakeB, OUTPUT);
   digitalWrite(pwmA, HIGH);
   digitalWrite(pwmB, HIGH);
   digitalWrite(brakeA, LOW);
   digitalWrite(brakeB, LOW);
   analyzer.setSpeed(5);
 
  pinMode (mesure, INPUT);
  pinMode (led, OUTPUT);
  compt=0;
   }
 
 
 void loop() {
    if(analogRead(mesure)>20){
      compt++;
      digitalWrite(led, HIGH);
      while(analogRead(mesure)>20){
        analyzer.step(1);
      };
      Serial.print("nombre de bulle:");Serial.println(compt);
      digitalWrite(led, LOW);
    };
    analyzer.step(1);
    Serial.println(analogRead(mesure));
 }

Aperçu du montage capteur + Arduino

Affichage du résultat sur la console