Biochimie avec Arduino au secondaire

Étude de la fermentation de la levure de boulanger Saccharomyces cerevisiae avec Arduino


SECONDAIRE | DIFFICULTÉ MOYENNE | 2 À 3 HEURES

Résumé de l'activité


Voici une activité passionnante de biochimie expérimentale avec Arduino !
L'objectif est d'appliquer une démarche scientifique et expérimentale rigoureuse afin de mesurer l'accumulation de CO2 durant une réaction de fermentation de levure de boulanger (saccharomyces cerevisiae). La croissance de la population de levure durant la réaction de fermentation devra également être documentée.
Enfin, le traitement des données devrait nous montrer une superbe courbe de croissance et de production de CO2 !
ATTENTION : nous ne prétendons pas ici doser précisément la quantité de CO2 produite, mais plutôt observer l'accumulation de CO2.

  • Étape 1 : Mettre en place le système expérimental : montage électronique et programmation.
  • Étape 2 : Mettre en place le système expérimental : mise en culture des levures - levain.
  • Étape 3 : Effectuer des mesures automatiques et régulières de la production de CO2avec Arduino.
  • Étape 4 : Établir une approximation de la croissance de la population de levure à interval régulier.
  • Étape 5 : Traiter les données afin d'obtenir une courbe de production de CO2 ET une courbe de croissance des levures.

Objectif


L'objectif de cette activité est de mesurer l'accumulation de CO2 produit durant une réaction de fermentation de saccharomyces cerevisiae (levure de boulanger) ainsi que de suivre la croissance de la population de levures.
Il faudra mettre en place un protocole expérimental permettant de mesurer toutes les 30 secondes et durant une heure la quantité de CO2 accumulée et ce de façon automatisée.
Il faudra également effectuer un comptage des levures toutes les 15 minutes pendant une heure.
Finalement il faudra représenter nos résultats de façon graphique : accumulation de CO2 ET croissance de la population en fonction du temps durant les 60 premières minutes d'une réaction de fermentation de saccharomyces cerevisiae.
Bon travail !

Matériel


  • Levure de boulanger déshydratée commerciale
  • Sucre à glacer
  • Eau tiède
  • Arduino
  • Capteur de CO2 (modèle DF-Robot SKU:SEN0159 équipé d'une sonde MG811 dans ce TP)
  • Fils
  • Un morceau de carton de 6cm x 6cm
  • Deux béchers de 150mL
  • Une éprouvette graduée de 100mL
  • Lames et lamelles
  • Microscope optique (grossissemtn 400x suffisant)


Mise en place du protocole expérimental

Montage electronique

schéma
Vous remarquerez que le câblage est très simple. la pin du milieu sur le capteur de CO2 est indiquée "+" : vous la brancherez au 5V de l'Arduino. La pin de gauche sera branchée sur le "ground" et celle de droite sur la pin analogique "A0".
Pour un fonctionnement optimal, le capteur doit chauffer. Pour ce faire il nécessite un courant de 200mA, pensez éventuellement a alimenter l'Arduino avec une source de courant externe. Laisser chauffer le capteur 5 à 10 minutes avant de démarrer l'acquisition des données.
Ne vous souciez pas du réglage du seuil avec le potentiomètre intégré au capteur. Nous voulons récupérer ici un signal analogique et n'aurons pas besoin de définir un seuil. Plus d'information dans la feuille de données du capteur.

Un peu de code...




//Déclaration des variables

int co2 = A0;         //Capteur de CO2 branché sur la pin A0
int valco2 = 0;       //Variable dans laquelle sera stockée la valeur du signal
int c = 0;            //Initialisation d'un compteur
long t = 0;           //Variable dans laquelle sera stocké le temps d'éxécution du programme

//Initialisation du programme

void setup() {
  Serial.begin (9600);      //Initialisation de la communication série à 9600 bauds
  pinMode (co2, INPUT);     //Initialisation de la pin A0 en ENTRÉE
}

//Boucle principale

void loop() {
  
 valco2 = 1024 - analogRead (co2); //Lecture de la valeur du signal analogique du capteur de 
                                   //CO2 et stockage dans 'valco2'
 t = millis();                     //Stockage du temps d'éxécution dans la variable 't'

 if (c<120) {               //Condition : si la variable c<120 alors exécution du code :
    Serial.print(t);        //Affichage du temps écoulé depuis le début de l'execution du 
                            //programme
    Serial.print (',');     //Affichage d'une virgule (afin de séparer les valeurs)
    Serial.println(valco2); //Affichage de la valeur de valco2 dans le moniteur série
                            //puis retour à la ligne
 
    delay(30000);           //Pause de 30 secondes

    c++;                    //La valeur du compteur 'c' est incrémentée de 1 suite a 
                            //l'éxécution de cette partie de programme
 }
}


Dans un premier temps nous déclarons les variables.

  • La valeur A0 est associée à la variable co2 et représente lae capteur de CO2 branché sur la pin A0.
  • La variable valco2 dans laquelle sera stockée la valeur du signal analogique lu aux bornes du capteur de CO2.


Puis vient la partie d'initialiation : le void setup.
Très simple, il ne comporte que 2 lignes :

  • Déclaration de la pin co2 (A0) en entrée.
  • Initialisation de la communication série qui nous permettra de lire la valeur du signal analogique du capteur de CO2.


Et pour finir, la boucle principale : le void loop.
Deux sections :

    • Lecture du signal analogique de la pin co2 (A0) et stockage de la valeur lue dans la variable valco2.
      Note : le signal analogique produit par le capteur de CO2 est inversement proportionnel au taux de CO2. Afin d'obtenir des données proportionnelles, nous inversons la tendance en posant valco2 = 1024 - analogRead(co2) (le signal analogique lu par Arduino est une tension comprise entre 0 et 5 Volts et convertie pour correspondre à un entier compris dans l'interval [0 1023]).
    • Stockage du temps d'éxecution du programme dans la variable t
  1. Éxecution conditionnelledu programme (if)
    • La condition qui doit obligatoirement êre remplie pour permettre l'éxecution du bout de programme compris entre les deux accolades du if est indiquée entre parenthèse : c < 120. Nous y reviendrons un peu plus tard.
    • Le temps (en millisecondes) et la valeur lue par le capteur de CO2 seront affichés dans le moniteur série, espacés par une virgule (fonction Serial.print).
      Les données seront donc formatées de la manière suivante : t(millis),valco2.
      Ce format nous permettra de séparer et trier facilement nos données dans Excel.
    • Le programme est mis en pause durant 30 secondes (delay(30000).
      C'est cette ligne de code qui donne l'instruction d'effectuer un relevé toutes les 30 secondes.
    • Le compteur est incrémenté de +1 (c++).
      Ainsi, à chaque fois que la condition c < 120 est remplie, l'Arduino exécute la partie de programme comprise entre les 2 accolades du if. A chaque fois qu'il exécute cette partie de programme, la valeur de la variable c augmente de 1. Lorsque la variable c sera égale à 120, la condition ne pourra plus être remplie et le programme s'arrêtera.
      Le programme va donc éxécuter 120 fois la condition.
      Étant donné qu'il y a un délai de 30 secondes entre chaque prise de mesure, le programme va fonctionner durant 30 secondes x 120 boucles = 60 minutes.
Nous venons de mettre en place un programme permettant d'afficher une valeur analogique proportionnelle au taux de CO2 toutes les 30 secondes durant 60 minutes.


Vous pouvez maintenant brancher votre arduino et téléverser le programme.

Cliquez sur la loupe en haut à droite de la fenêre Arduino pour faire apparaître le moniteur série. Par défaut il sera réglé sur le débit de 9600 bauds.
Vous verrez alors dans la nouvelle fenêtre un message formatté de la manière suivante :
t(millis),valco2.


Mise en place de l'expérience


  1. Dans un becher de 150 mL, verser 50 mL d'eau du robinet tiède (entre 30 et 40°C).
  2. Ajouter 2 grammes (une cuillère à thé) de sucre à glacer.
  3. Ajouter 1 gramme (une demi cuillère à thé) de levure déshydratée.
  4. NOTE : il est très important de ne pas metre trop de sucre ou trop de levure. Vos résultats pourraient être faussés par la formation de mousse durant la fermentation. Également, n'utilisez pas de levure à levée rapide, celle-ci peut également provoquer la formation de mousse. Vous verrez à la fin de ce document le type de résultat obtenu si vous utilisez trop de sucre, trop de levure ou une levure a levée rapide.
  5. Bien mélanger et laisser reposer 2 minutes afin que la levure puisse bien se réhydrater.
  6. Séparer le levain dans 2 béchers de 150 mL, 25mL par becher :
    • Un becher servira à la mesure de l'accumulation de CO2 : becher 1.
    • Le second becher est un témoin dans lequel nous effectuerons les prélèvements pour le comptage des levures : bécher 2.

Bécher 1 : Découper une ouverture dans le morceau de carton, de sorte à pouvoir y insérer l'extrémité du capteur de CO2. Cela empéchera le gaz de s'éventer et permettra son accumulation dans le bécher.
Déposer le montage sur l'ouverture du bécher.
Démarrer l'acquisition des données (l'icône loupe pour ouvrir le moniteur dans le logiciel Arduino) aussi vite que possible.

Bécher 2 : effectuez votre premier prélevement afin de dénombrer la population de levure à t = 0 minutes.
Vous devrez diluer vos prélevements 100x pour pouvoir compter correctement les levures (la population est trés dense et il peut s'avérer impossible de compter les levures lorsqu'elles sont trop nombreuses).

  1. Dans l'éprouvette graduée de 100mL, ajouter 99mL d'eau.
  2. Prélever 1 mL de levain dans le bécher 2 et l'ajouter aux 99mL d'eau dans l'éprouvette graduée. Attention à bien mélanger le levain à chaque prélevement, les levures ont tendance à sédimenter au fond du bécher.
  3. Bien mélanger la dilution par aspiration refoulement avec la pipette puis en prélever quelques gouttes que vous pourrez étaler sur une lame pour observation au microscope (400x) entre lame et lamelle.
  4. Si la population de levure est trop importante et que cela ne vous semble pas comptable, augmentez la dilution ou essayez de ne compter que la moitié ou le quart du champ de microscope.
  5. A chaque fois, effectuez au moins 2 comptages différents puis calculez la moyenne. Il se peut que les levures soient réparties de façon très hétérogène. Vos observations seront ainsi que plus représentatives.
Vous aurez à reproduire les étapes 1 à 3 toutes les 15 minutes pendant l'heure de fermentation.

Analyse des résultats


Évolution de la population de saccharomyces cerevisiae durant la réaction de fermentation


Les comptages de levure que j'ai obtenu dans mes conditions expérimentales figurent dans le tableau suivant :


Temps (minutes) 0 15 30 45 60
Comptage 1 10 9 24 25 19
Comptage 2 8 14 18 34 21
Moyenne 9 12 21 29 20
Tableau : Comptage des levures toutes les 15 minutes durant la réaction de fermentation

Vous pouvez maintenant ouvrir votre tableur favori et saisir les données. Représentez les données graphiquement sous forme de nuage de point avec courbe lissée. Le temps devra figurer en ordonnées et le nombre de levures en abcisses.


schéma

Mesure de l'accumulation de CO2 durant la réaction de fermentation


Voilà, l'heure est passé et vous êtes maintenant face à 120 lignes de chiffres dans le moniteur série du logiciel Arduino !
Mais que, quoi, comment faire ? Procédons par étapes :

  1. Commencez par sélectionner toutes les valeurs puis copiez-collez les dans votre éditeur de texte favori (bloc-note sous windows, textedit sous OSX).
    Utilisez les raccourcis clavier :
    • Tout sélectionner : control + a (Windows) / cmd + a (OSX)
    • Copier : control + c (Windows) / cmd + c (OSX)
    • Coller dans votre éditeur de texte : control + v (Windows) / cmd + v (OSX)
  2. Enregistrez votre document au format .txt (exemple : data.txt).
  3. Changez l'extension du document pour l'extension .csv (exemple : data.csv).
    Pour ce faire, allez dans les propriétés du document (clique droit --> propriétés) puis modifiez l'extension.
    L'extension .csv signifie comma separated values. C'est un format de fichier qui permet de séparer en colonnes, dans un tableur, toutes les valeurs séparées par une virgule.
  4. Ouvrez votre tableur favori et créez un nouveau document. Je vais prendre le cas d'Excel pour la suite (cliquez sur les images pour les agrandir).
  5. Allez dans fichier --> importer et selectionnez l'option fichier csv.
  6. schéma expérimental
  7. Choisissez délimité puis cliquez sur suivant.
  8. schéma expérimental
  9. Sélectionnez tabulation et point-virgule puis cliquez sur suivant.
  10. schéma expérimental
  11. Choisissez général puis cliquez sur fin.
  12. schéma expérimental

Vos données apparaisent maintenant sous forme de 2 colonnes dans Excel.
Convertissez le temps (qui est en millisecondes) en minutes : dans une nouvelle colonne, divisez chacune des valeurs de temps par 60000.
Insérez un graphique afin de représenter vos données : choisissez nuage de point.
Si vous avez bien travaillé, vous devriez obtenir une superbe courbe d'accumulation de CO2 comme ceci :

schéma

Et voici, compilées dans le même graphique, les données d'accumulation de CO2 et de comptage des levures. Vous verrez que nous obtenons un pic de fermentation à 45 minutes.


schéma

Note : Si vous avez mis trop de sucre ou trop de levure, il se peut que le levain soit très actif et lève. Ce phénomène de levée est recherché lorsque l'on utilise la levure pour faire du pain, mais dans notre cas il se passe un phénomène que nous voulons a tout prix éviter.
Le CO2 produit s'accumule dans des poches de gaz dans la mousse, provoquant rapidement un plateau dans les données mesurées. Chaque fois qu'une poche de gaz éclate, le taux de CO2 monte brusquement pour finalement revenir au taux initial. C'est ce que vous pouvez observer dans le graphique ci-contre : les deux pics dans le plateau correspondent à un évènement de rupture de poche de gaz.
La température de l'eau est également un facteur important : une eau trop froide ne permettra pas aux levures de s'activer. Dans ce cas-ci, vos mesures de CO2 paraîtront anarchiques.

Tout bon scientifique se doit de s'assurer de la reproductibilité de ses résultats !
Ci-contre les graphiques représentant l'accumulation de CO2 dans deux expériences indépendantes.
N'oubliez pas de bien contrôler les facteurs d'échecs :

  • La tempérarure de l'eau.
  • La quantité de sucre.
  • La quantité de levure.



BRAVO, VOUS AVEZ FINI ! ;)
Vous pouvez maintenant interpréter les résultats.
Vous pouvez déjà constater 3 phases bien visibles : latence, phase exponentielle puis saturation.
C'est quand même un projet sympa, facile et qui marche bien ! Arduino est un outil qui nous surprend toujours pour le potentiel qu'il offre, même dans sa plus simple expression comme c'est le cas dans cette activité.

Laissez un commentaire ci-dessous si vous avez aimé / pas aimé / compris / rien compris !


Commentaires ?