6ème Sens

Auteur avatarMaxwikifab | Dernière modification 9/12/2019 par Clementflipo

6ème Sens IMG 1777.jpg
Le 6ème Sens est un dispositif pour mesurer la qualité de l’air dans une classe. L’idée est de simplifier l’accès à la culture makers à l’école, de manière frugale, participative et impliquante, en privilégiant l’initiative locale. il s’agit aussi d’une démarche visant à répondre à un pb : changer les comportements (ici, aérer).
Difficulté
Facile
Durée
7 jour(s)
Catégories
Électronique, Bien-être & Santé, Science & Biologie
Coût
60 EUR (€)
Licence : Attribution (CC BY)

Introduction

Notre projet 6emesens a pour objectif de simplifier l’accès à la culture makers à l’école, de manière frugale, participative et impliquante, en privilégiant l’initiative locale (car c’est compliqué d’installer à grande echelle un objet). Au delà de la techno (perfectible , qui s’améliora, même si la volonté de simplicité est le fil rouge ), il s’agit aussi d’une démarche visant à répondre à un pb : changer les comportements ( ici, aérer) . Nous avons aussi chercher à identifier un pb , et rechercher une solution autour de l’approche makers dans l’éducation.

Étape 1 -

Notes et références

/*

 *Qualité de l’air avec arduino et capteur Grove v1.3

 *Le capteur doit être branché quelques heures avant la première utilisation

 *La calibration se fait par laisser le capteur a l’extérieur pendant au moins 20 min

 */

//----------------------------------------------------------------------------------------

// Inclusion des librairies pour OLED

//--------------------------------------

#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

//--------------------------------------

//Declaration des variables

//--------------------------------------

#define redLed 13

#define greenLed 8

#define orangeLed 7

#define capteur A0

#define OLED_RESET 4

int valeurCapteur = 0;

String qualite = "";

int volt;

// on déclare notre LCD.

Adafruit_SSD1306 display(OLED_RESET);

void setup() {

  Serial.begin(9600);// initialise la communication avec l'ordinateur

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // // initialisation de l'ecran OLED

  display.display();

  display.clearDisplay();   // Netoie l’ecran

  pinMode(redLed, OUTPUT);// indique que la broche redLed est une sortie :

  pinMode(greenLed, OUTPUT);// indique que la broche greenLed est une sortie :

  pinMode(orangeLed, OUTPUT);// indique que la broche orangeLed est une sortie :

  pinMode(capteur, INPUT);// indique que la broche du capteur de la qualité de l'air redLed est une entrée :

  display.setCursor(0,0);// On place le curseur en 0,0

  display.setTextSize(2);// On définie la taille du texte

  display.setTextColor(WHITE);// On définie la couleur du texte

  display.println("Heating");

  //display.setCursor(0,1);

  // display.println("ATTENDRE");

  display.display();

  delay(20000);

  display.clearDisplay(); 

}

void loop() {

  // put your main code here, to run repeatedly:

valeurCapteur = analogRead(capteur);

//volt = (valeurCapteur*5)/1024;

int grafX = 0;

if (valeurCapteur<=45) {

    //digitalWrite(greenLed, HIGH);

    qualite = "Tout va bien";

    Serial.println(qualite);

    delay(1000);

    display.setCursor(0,0);

    display.setTextSize(1);

    display.setTextColor(WHITE);

    display.println("OK");

    display.println(valeurCapteur);

    grafX = map(valeurCapteur, 0, 135, 0, 127);

    display.fillRect(0, 20,grafX, 5, WHITE);

    display.display();

    display.clearDisplay();

    digitalWrite(13, LOW);

    }

    else if (valeurCapteur>45&& valeurCapteur<=70){

        //digitalWrite(greenLed, HIGH);

        qualite = "Situation tolerable ";

        Serial.println(qualite);

        delay(1000);

        display.setCursor(0,0);

        display.setTextSize(1);

        display.setTextColor(WHITE);

        display.println("AH AH");

        display.println(valeurCapteur);

        grafX = map(valeurCapteur, 0, 135, 0, 127);

        display.fillRect(0, 20,grafX, 5, WHITE);

        display.display();

        display.clearDisplay();

        digitalWrite(13, LOW);

      }

       else if (valeurCapteur>70&& valeurCapteur<=100){

       //digitalWrite(orangeLed, HIGH);

        qualite = "Etat mauvais";

        Serial.println(qualite);

        delay(1000);

        display.setCursor(0,0);

        display.setTextSize(1);

        display.setTextColor(WHITE);

        display.println("Ca chauffe");

        display.println(valeurCapteur);

        grafX = map(valeurCapteur, 0, 135, 0, 127);

        display.fillRect(0, 20,grafX, 5, WHITE);

        display.display();

        display.clearDisplay();

        digitalWrite(13, LOW);

      }

       else if (valeurCapteur>100&& valeurCapteur<=135){

        //digitalWrite(redLed, HIGH);

        qualite = "Ouvrir la fenetre";

        Serial.println(qualite);

        delay(1000);

        display.setCursor(0,0);

        display.setTextSize(1);

        display.setTextColor(WHITE);

        display.println("Ouvrez");

        display.println(valeurCapteur);

        grafX = map(valeurCapteur, 0, 135, 0, 127);

        display.fillRect(0, 20,grafX, 5, WHITE);

        display.display();

        display.clearDisplay();

        digitalWrite(13, LOW);

      }

       else if (valeurCapteur>135){

        //digitalWrite(redLed, HIGH);

        qualite = "Sortez";

        Serial.println(qualite);

        delay(1000);

        display.setCursor(0,0);

        display.setTextSize(1);

        display.setTextColor(WHITE);

        display.println("Sortez");

        display.println(valeurCapteur);

        grafX = map(valeurCapteur, 0, 135, 0, 127);

        display.fillRect(0, 20,grafX, 5, WHITE);

        display.display();

        display.clearDisplay();

        digitalWrite(13, HIGH);

      }

}

Commentaires

Draft