Auteur Maxwikifab | Dernière modification 9/12/2019 par Clementflipo
Education, transparence et simplicité, arduino 6ème_Sens_IMG_1777.jpg en none Technique 0
/*
*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);
}
}
Draft
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #