« I used an IF loop, in identifying when or not to open the door and other different commands based on the Temperature/Pressure Sensor.
Example:
When the humidity is between 53 and 55
if (hum >53 & hum » contient un caractère désigné « > » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« I used an IF loop, in identifying when or not to open the door and other different commands based on the Temperature/Pressure Sensor.
Example:
When the humidity is between 53 and 55
if (hum >53 & hum » contient un caractère désigné « > » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« Blue;
FastLED.show();
delay (60);
}
for( int i = 0; i < 12; i++){
leds[i] = CRGB » contient un caractère désigné « » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« Mode_Forced,
BME280 » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« // librairies pour le BME
'"`UNIQ--nowiki-00000280-QINU`"'include // permet de faire appel à la bibliothèque Servo
'"`UNIQ--nowiki-00000281-QINU`"'include // BME280 by Tyler Glenn
'"`UNIQ--nowiki-00000282-QINU`"'include
'"`UNIQ--nowiki-00000283-QINU`"'include "ssd1306.h" // SSD1306 by Alexey Dynda
'"`UNIQ--nowiki-00000284-QINU`"'include "FastLED.h"//FastLED by Daniel Garcia
//ici le nombre total de leds
'"`UNIQ--nowiki-00000285-QINU`"'define NUM_LEDS 12
// ici la pin pour les leds
'"`UNIQ--nowiki-00000286-QINU`"'define DATA_PIN 6
// déclaration d'un tableau pour les leds
CRGB leds[NUM_LEDS];
const int POTAR = A0; // broche du potar
const int LED = 9; // broche de la LED
int valPOTAR = 0; //RAZ valeur
BME280I2C » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« SpiEnable_False,
0x77 // I2C address. I2C specific.
);
BME280I2C bme(settings);
/* Ces tableaux de caractères serviront UNIQUEMENT pour l'affichage à l'écran.
'"`UNIQ--nowiki-00000287-QINU`"' Il faudra afficher ces variables et non les "floats" déclarées pour le capteur,
'"`UNIQ--nowiki-00000288-QINU`"' l'écran ne reconnaissant que des chaînes de caractère
'"`UNIQ--nowiki-00000289-QINU`"'/
char tempC[9];
char humC[10];
char presC[11];
Servo monservo12; // crée une constante appelée « monservo12 » utilisable par la bibliothèque Servo.
Servo monservo11; // crée une constante appelée « monservo11 » utilisable par la bibliothèque Servo.
Servo monservo10; // crée une constante appelée « monservo10 » utilisable par la bibliothèque Servo.
Servo monservo9; // crée une constante appelée « monservo11 » utilisable par la bibliothèque Servo.
Servo monservo8; // crée une constante appelée « monservo10 » utilisable par la bibliothèque Servo.
int bouton1 = 7; // déclare le bouton poussoir 1 sur la PIN 7.
int etatbouton1 = 0; // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.
int bouton2 = 4; // déclare le bouton poussoir 2 sur la PIN 4.
int etatbouton2 = 0; // variable représentant le bouton, soit ouvert ou fermé, ici au départ à 0 donc fermé.
void setup(){
{
Serial.begin(9600);
// déclaration entrée et sortie de Potar et LED. Lecture en enregistrement dans la variable valPOTAR de la valeur analog du Potar
pinMode(POTAR, INPUT);
pinMode (LED, OUTPUT);
valPOTAR = analogRead (POTAR);
// sert à vérifier si un capteur est présent et bien branché
while(!Serial) {} // Wait
Wire.begin();
while(!bme.begin())
{
Serial.println("Could not find BME280 sensor!");
delay(1000);
}
// bme.chipID(); // Deprecated. See chipModel().
switch(bme.chipModel())
{
case BME280 » contient un caractère désigné « { » dans un libellé de propriété, et a été classé conséquemment comme non valide.
« TempUnit_Celsius);
BME280 » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« Black;
FastLED.show();
delay (20);
}
}
else {
//Allumage rotatif des Leds 6 à 11 en rouge suivant valeur de délais
for( int i = 0; i < 12; i++){
leds[i] = CRGB » contient un caractère désigné « » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« Settings settings(
BME280 » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+La propriété « TempUnit tempUnit(BME280 » (comme le type de page) avec la valeur d’entrée « Black;
FastLED.show();
delay (20);
}
}
} » contient des caractères non valides ou est incomplète, et donc peut provoquer des résultats inattendus lors d’une requête ou d’un processus d’annotation.
+« Orange;
FastLED.show();
delay (60);
}
}
// Extinction rotative des 12 Led suivant valeur de délais
for( int i = 0; i < 12; i++){
leds[i] = CRGB » contient un caractère désigné « » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« PresUnit_hPa);
bme.read(pres, temp, hum, tempUnit, presUnit);
// ces lignes servent à convertir les valeurs "float" du capteur en "char" destinées à l'écran
// (utile uniquement pour votre code final)
dtostrf (temp,5,1,tempC);
dtostrf (hum,5,1,humC);
dtostrf (pres,5,2,presC);
// on imprime les valeurs sur le moniteur série
// Première ligne, normal
ssd1306_printFixed (0, 8, "Temp:", STYLE_NORMAL);
ssd1306_printFixed(56, 8, tempC , STYLE_BOLD);
ssd1306_printFixed (96, 8, "C", STYLE_NORMAL);
ssd1306_printFixed(0, 16,"RH: ", STYLE_NORMAL);
ssd1306_printFixed(56, 16, humC , STYLE_BOLD);
ssd1306_printFixed(96, 16,"%", STYLE_NORMAL);
ssd1306_printFixed(0, 24, "Pres: ", STYLE_NORMAL);
ssd1306_printFixed(56, 24, presC , STYLE_BOLD);
ssd1306_printFixed(96, 24, "hPa" , STYLE_NORMAL);
if (hum > 60 && hum » contient un caractère désigné « > » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« Filter_Off,
BME280 » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« StandbyTime_1000ms,
BME280 » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« OSR_X1,
BME280 » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« ChipModel_BME280:
Serial.println("Found BME280 sensor! Success.");
break;
case BME280 » contient un caractère désigné « LF » dans un libellé de propriété, et a été classé conséquemment comme non valide.
+« ChipModel_BMP280:
Serial.println("Found BMP280 sensor! No Humidity available.");
break;
default:
Serial.println("Found UNKNOWN sensor! Error!");
}
// on lance l'écran et on le colore de noir
ssd1306_128x64_i2c_init();
ssd1306_fillScreen(0x00);
// on lance la typo
ssd1306_setFixedFont(ssd1306xled_font6x8);
FastLED.addLeds(leds, NUM_LEDS);
// on peut régler ici la luminosité : 0-255
LEDS.setBrightness(50);
}
{
pinMode (bouton1, INPUT) ; // on indique que le bouton 1 est une entrée.
pinMode (bouton1, INPUT) ; // on indique que le bouton est une entrée.
monservo11.attach(10); // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 10
monservo8.attach(3); // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 3
monservo9.attach(5); // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 5
monservo10.attach(9); // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur 10 à la PIN 9
monservo12.attach(11); // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur 12 à la PIN 11
monservo12.write (0); // alors le servomoteur 12 prend un angle de 180°
monservo11.write (0); // alors le servomoteur 11 prend un angle de 180°.
monservo10.write (0); // alors le servomoteur 10 prend un angle de 180°.
monservo9.write (0); // alors le servomoteur 9 prend un angle de 180°.
monservo8.write (0); // alors le servomoteur 8 prend un angle de 180°.
}
}
void loop()
{
etatbouton1 = digitalRead (bouton1); // On lit l’état du bouton 1 pour savoir s’il est ouvert ou fermé
etatbouton2 = digitalRead (bouton2); // On lit l’état du bouton 1 pour savoir s’il est ouvert ou fermé
if (etatbouton1 == HIGH) { // Si la variable “bouton1” est ouverte, à l’état haut, donc laisse passer le courant.
monservo11.write (180); // alors le servomoteur 11 prend un angle de 180°.
monservo10.write (180); // alors le servomoteur 10 prend un angle de 180°.
monservo8.write (180); // alors le servomoteur 8 prend un angle de 180°.
delay(1000) ; // on attend un délais de 5 secondes
monservo11.write (0); // le servomoteur 11 revient à l’angle 0, sa position de départ
monservo10.write (0); // le servomoteur 10 revient à l’angle 0, sa position de départ.
monservo8.write (0); // le servomoteur 8 revient à l’angle 0, sa position de départ
}
if (etatbouton2 == HIGH) { // Si la variable “bouton2” est ouverte, à l’état haut, donc laisse passer le courant.
monservo12.write (180); // alors le servomoteur12 prend un angle de 180°.
monservo11.write (180); // alors le servomoteur11 prend un angle de 180°.
monservo9.write (180); // alors le servomoteur9 prend un angle de 180°.
monservo8.write (180); // alors le servomoteur9 prend un angle de 180°
delay(1000) ; // on attend un délais de 5 secondes
monservo12.write (0); // le servomoteur 12 revient à l’angle 0, sa position de départ.
monservo11.write (0); // le servomoteur 11 revient à l’angle 0, sa position de départ
monservo9.write (0); // le servomoteur 9 revient à l’angle 0, sa position de départ
monservo8.write (0); // le servomoteur 8 revient à l’angle 0, sa position de départ
}
{
analogRead (A0);
valPOTAR = analogRead (POTAR);
analogWrite (9, valPOTAR/4);
// On déclare 3 variables : température, humidité, pression
float temp(NAN), hum(NAN), pres(NAN);
// Déclenchement du capteur
BME280 » contient un caractère désigné « { » dans un libellé de propriété, et a été classé conséquemment comme non valide.
La propriété « PresUnit presUnit(BME280 » (comme le type de page) avec la valeur d’entrée « Black;
FastLED.show();
delay (20);
}
}
} » contient des caractères non valides ou est incomplète, et donc peut provoquer des résultats inattendus lors d’une requête ou d’un processus d’annotation.
+Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #