Rechercher dans les propriétés de la page

Rechercher dans les propriétés de la page

Entrer soit une page et une propriété, ou seulement une propriété, pour récupérer toutes les valeurs affectées.

Affichage de 5 résultats à partir du n°1.

Voir (20 précédentes | 20 suivantes) (20 | 50 | 100 | 250 | 500).


    

Liste de résultats

  • *Decoupe au laser des parois de la boite (DOC1) *Assemblage de la boite (DOC2) *Branchement des composants (DOC3) *Programmation du code pour faire interagir les élements (ecran LCD, capteur Temp/Hum, anneau OLED) (DOC4) <br/>   +
  • -Impression 3D de supports de servomoteur. STL récupéré sur Thingiverse. - Impression 3D d'un dessin perso de bouton de potentiometre  +
  • <nowiki>'''Outils'''<br /><'''Outils'''

    - Fer à souder

    - Pince coupante

    - Pince à dénuder

    - Multimètre

    - Colle cyanoacrylate

    - Cintreuse

    - Scie japonaise

    - Ciseaux


    '''Matériaux:'''

    - Etain

    - Un carrelet de méranti blanc

    - Un carrelet d'acajou

    - Une plaque d'isorel


    '''Composants:'''

    - arduino UNO

    - 20 cables M/M

    - 10 cables M/F

    - 2 [https://www.gotronic.fr/art-servomoteur-df9gms-19377.htm servomoteur DF9GMS]

    - 1 plaque de prototypage

    - 1 potentionmetre

    - 1 Led Blanche

    - 1 [https://www.gotronic.fr/art-afficheur-oled-0-96-i2c-tf052-28511.htm Afficheur OLED 0,96'' I2C TF052]

    - 1 [https://www.gotronic.fr/art-anneau-neopixel-12-leds-rgb-ada1643-22875.htm Anneau NeoPixel 12 leds RGB ADA1643]

    - 1 [https://boutique.semageek.com/fr/704-capteur-de-pression-temperature-humidite-bme280-3009052078446.html capteur pression/temp/hum BME280]

    - 1 [https://www.gotronic.fr/art-capteur-de-qualite-d-air-ccs811-sen0339-32247.htm Capteur de qualité d'air CCS811 SEN0339]

    - 4 Wago 5 entrées

    - 2 Wago 3 entrées


    ite-bme280-3009052078446.html capteur pression/temp/hum BME280]<br /><br />- 1 [https://www.gotronic.fr/art-capteur-de-qualite-d-air-ccs811-sen0339-32247.htm Capteur de qualité d'air CCS811 SEN0339]<br /><br />- 4 Wago 5 entrées<br /><br />- 2 Wago 3 entrées <br /><br /><br/></nowiki>  +
  • <nowiki><div class="mw-highlight
      1 // librairies pour le BME
    2 #include
    3 #include "DFRobot_CCS811.h"
    4 #include
    5 #include "ssd1306.h"
    6 #include "FastLED.h"
    7 #include "DFRobot_CCS811.h"
    8 #include
    9 //ici le nombre total de leds
    10 #define NUM_LEDS 12
    11 // ici la pin pour les leds
    12 #define DATA_PIN 6
    13 // déclaration d'un tableau pour les leds
    14 CRGB leds[NUM_LEDS];
    15 DFRobot_CCS811 CCS811;
    16 Servo ServoCO2;
    17 Servo ServoTVOC;
    18
    19 const int POTAR = A0; // broche du potar
    20 const int LED = 9; // broche de la LED
    21 int valPOTAR = 0; //RAZ valeur
    22
    23 int angle=120;
    24 int angle2=0;
    25
    26 BME280I2C::Settings settings(
    27 BME280::OSR_X1,
    28 BME280::OSR_X1,
    29 BME280::OSR_X1,
    30 BME280::Mode_Forced,
    31 BME280::StandbyTime_1000ms,
    32 BME280::Filter_Off,
    33 BME280::SpiEnable_False,
    34 0x77 // I2C address. I2C specific.
    35 );
    36
    37 BME280I2C bme(settings);
    38
    39 /* Ces tableaux de caractères serviront UNIQUEMENT pour l'affichage à l'écran.
    40 * Il faudra afficher ces variables et non les "floats" déclarées pour le capteur,
    41 * l'écran ne reconnaissant que des chaînes de caractère
    42 */
    43
    44 char tempC[9];
    45 char humC[10];
    46 char presC[11];
    47
    48 void setup()
    49 {
    50 Serial.begin(9600);
    51 ServoCO2.attach(5);
    52 ServoTVOC.attach(3);
    53
    54 // on vérifie que le capteur COE2/TVOC est branché
    55 while(CCS811.begin() != 0){
    56 Serial.println("failed to init chip, please check if the chip connection is fine");
    57 delay(1000);
    58 }
    59
    60 // déclaration entrée et sortie de Potar et LED. Lecture en enregistrement dans la variable valPOTAR de la valeur analog du Potar
    61
    62 pinMode(POTAR, INPUT);
    63 pinMode (LED, OUTPUT);
    64 valPOTAR = analogRead (POTAR);
    65
    66 // tout ce blabla sert uniquement à vérifier si un capteur est présent et bien branché
    67
    68 while(!Serial) {} // Wait
    69
    70 Wire.begin();
    71
    72 while(!bme.begin())
    73 {
    74 Serial.println("Could not find BME280 sensor!");
    75 delay(1000);
    76 }
    77
    78 // bme.chipID(); // Deprecated. See chipModel().
    79 switch(bme.chipModel())
    80 {
    81 case BME280::ChipModel_BME280:
    82 Serial.println("Found BME280 sensor! Success.");
    83 break;
    84 case BME280::ChipModel_BMP280:
    85 Serial.println("Found BMP280 sensor! No Humidity available.");
    86 break;
    87 default:
    88 Serial.println("Found UNKNOWN sensor! Error!");
    89 }
    90
    91 // on lance l'écran et on le colore de noir
    92
    93 ssd1306_128x64_i2c_init();
    94 ssd1306_fillScreen(0x00);
    95 // on lance la typo
    96 ssd1306_setFixedFont(ssd1306xled_font6x8);
    97
    98 FastLED.addLeds<WS2811, DATA_PIN, GRB>(leds, NUM_LEDS);
    99 // on peut régler ici la luminosité : 0-255
    100 LEDS.setBrightness(50);
    101
    102 }
    103
    104 void loop()
    105
    106 {
    107
    108 analogRead (A0);
    109 valPOTAR = analogRead (POTAR);
    110 analogWrite (9, valPOTAR/4);
    111 // On déclare 3 variables : température, humidité, pression
    112 float temp(NAN), hum(NAN), pres(NAN);
    113
    114 if(CCS811.checkDataReady() == true){
    115 Serial.print("CO2: ");
    116 Serial.print(CCS811.getCO2PPM());
    117 Serial.print("ppm, TVOC: ");
    118 Serial.print(CCS811.getTVOCPPB());
    119 Serial.println("ppb");
    120 delay(1000);
    121
    122 } else {
    123 Serial.println("Data is not ready!");
    124 }
    125
    126
    127 // Déclenchement du capteur
    128 BME280::TempUnit tempUnit(BME280::TempUnit_Celsius);
    129 BME280::PresUnit presUnit(BME280::PresUnit_hPa);
    130 bme.read(pres, temp, hum, tempUnit, presUnit);
    131
    132 // ces lignes servent à convertir les valeurs "float" du capteur en "char" destinées à l'écran
    133 // (utile uniquement pour votre code final)
    134 dtostrf (temp,5,1,tempC);
    135 dtostrf (hum,5,1,humC);
    136 dtostrf (pres,5,2,presC);
    137
    138 // on imprime les valeurs sur le moniteur série
    139
    140 if(CCS811.checkDataReady() == true){
    141 Serial.print("CO2: ");
    142 Serial.print(CCS811.getCO2PPM());
    143 Serial.print("ppm, TVOC: ");
    144 Serial.print(CCS811.getTVOCPPB());
    145 Serial.println("ppb");
    146
    147 } else {
    148 Serial.println("Data is not ready!");
    149 }
    150 /*!
    151 * @brief Set baseline
    152 * @param get from getBaseline.ino
    153 */
    154 CCS811.writeBaseLine(0x447B);
    155 //delay cannot be less than measurement cycle
    156 delay(1000);
    157
    158 // Première ligne, normal
    159
    160 ssd1306_printFixed (0, 8, "Temp:", STYLE_NORMAL);
    161 ssd1306_printFixed(56, 8, tempC , STYLE_BOLD);
    162 ssd1306_printFixed (96, 8, "C", STYLE_NORMAL);
    163 ssd1306_printFixed(0, 16,"RH: ", STYLE_NORMAL);
    164 ssd1306_printFixed(56, 16, humC , STYLE_BOLD);
    165 ssd1306_printFixed(96, 16,"%", STYLE_NORMAL);
    166 ssd1306_printFixed(0, 24, "Pres: ", STYLE_NORMAL);
    167 ssd1306_printFixed(56, 24, presC , STYLE_BOLD);
    168 ssd1306_printFixed(96, 24, "hPa" , STYLE_NORMAL);
    169
    170
    171
    172 int CO2;
    173 CO2 = map (CCS811.getCO2PPM(),400,6000,0, 120);
    174
    175 for (int position=angle; position < CO2 ; position++) {
    176 ServoCO2.write(position);
    177 Serial.println(position);
    178 angle = position;
    179 delay(20);
    180 }
    181 for (int position=angle ; position > CO2 ; position--) {
    182 ServoCO2.write(position);
    183 Serial.println(position);
    184 angle = position;
    185 delay(20);
    186 }
    187
    188 int TVOC;
    189 TVOC = map (CCS811.getTVOCPPB(),8000,0,0, 120);
    190
    191 for (int position=angle2; position < TVOC ; position++) {
    192 ServoTVOC.write(position);
    193 Serial.println(position);
    194 angle2 = position;
    195 delay(20);
    196 }
    197 for (int position=angle2 ; position > TVOC ; position--) {
    198 ServoTVOC.write(position);
    199 Serial.println(position);
    200 angle2 = position;
    201 delay(20);
    202 }
    203
    204
    205
    206 if (hum > 40 && hum <50)
    207 {
    208 //Allumage rotatif des Leds 0 à 5 en bleu suivant valeur de délais
    209
    210 for( int i = 0; i < 12; i++){
    211 leds[i] = CRGB::Green;
    212 FastLED.show();
    213 delay (60);
    214 }
    215 for( int i = 0; i < 12; i++){
    216 leds[i] = CRGB::Black;
    217 FastLED.show();
    218 delay (20);
    219 }
    220 }
    221 else {
    222 //Allumage rotatif des Leds 6 à 11 en rouge suivant valeur de délais
    223 for( int i = 0; i < 12; i++){
    224 leds[i] = CRGB::Red;
    225 FastLED.show();
    226 delay (20);
    227 }
    228 }
    229 // Extinction rotative des 12 Led suivant valeur de délais
    230 for( int i = 0; i < 12; i++){
    231 leds[i] = CRGB::Black;
    232 FastLED.show();
    233 delay (10);
    234 }
    235 }
    >209 </span> <br /><span class="lineno">210 </span> <span class="k">for</span><span class="p">(</span> <span class="kr">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">12</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span><br /><span class="lineno">211 </span> <span class="n">leds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">CRGB</span><span class="o">::</span><span class="n">Green</span><span class="p">;</span><br /><span class="lineno">212 </span> <span class="n">FastLED</span><span class="p">.</span><span class="n">show</span><span class="p">();</span><br /><span class="lineno">213 </span> <span class="nf">delay</span> <span class="p">(</span><span class="mi">60</span><span class="p">);</span> <br /><span class="lineno">214 </span> <span class="p">}</span><br /><span class="lineno">215 </span> <span class="k">for</span><span class="p">(</span> <span class="kr">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">12</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span><br /><span class="lineno">216 </span> <span class="n">leds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">CRGB</span><span class="o">::</span><span class="n">Black</span><span class="p">;</span><br /><span class="lineno">217 </span> <span class="n">FastLED</span><span class="p">.</span><span class="n">show</span><span class="p">();</span><br /><span class="lineno">218 </span> <span class="nf">delay</span> <span class="p">(</span><span class="mi">20</span><span class="p">);</span><br /><span class="lineno">219 </span> <span class="p">}</span><br /><span class="lineno">220 </span> <span class="p">}</span><br /><span class="lineno">221 </span> <span class="k">else</span> <span class="p">{</span><br /><span class="lineno">222 </span> <span class="c1">//Allumage rotatif des Leds 6 à 11 en rouge suivant valeur de délais</span><br /><span class="lineno">223 </span> <span class="k">for</span><span class="p">(</span> <span class="kr">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">12</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span><br /><span class="lineno">224 </span> <span class="n">leds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">CRGB</span><span class="o">::</span><span class="n">Red</span><span class="p">;</span><br /><span class="lineno">225 </span> <span class="n">FastLED</span><span class="p">.</span><span class="n">show</span><span class="p">();</span><br /><span class="lineno">226 </span> <span class="nf">delay</span> <span class="p">(</span><span class="mi">20</span><span class="p">);</span><br /><span class="lineno">227 </span> <span class="p">}</span><br /><span class="lineno">228 </span> <span class="p">}</span><br /><span class="lineno">229 </span> <span class="c1">// Extinction rotative des 12 Led suivant valeur de délais</span><br /><span class="lineno">230 </span> <span class="k">for</span><span class="p">(</span> <span class="kr">int</span> <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">12</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span><br /><span class="lineno">231 </span> <span class="n">leds</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">CRGB</span><span class="o">::</span><span class="n">Black</span><span class="p">;</span><br /><span class="lineno">232 </span> <span class="n">FastLED</span><span class="p">.</span><span class="n">show</span><span class="p">();</span><br /><span class="lineno">233 </span> <span class="nf">delay</span> <span class="p">(</span><span class="mi">10</span><span class="p">);</span><br /><span class="lineno">234 </span> <span class="p">}</span><br /><span class="lineno">235 </span> <span class="p">}</span><br /></pre></div></nowiki>  
  • A partir du plan de cablage fourni à l'étaA partir du plan de cablage fourni à l'étape 1, il nous faut rajouter - relier 1 Wago 5 entrée au premier Wago ou se rejoignent les alimentations des composants - relier 1 Wago 5 entrées au premier Wago ou se rejoignent les GND des differents composants. - relier 1 Wago 3 entrées à la broche SDL de la carte Arduino - relier 1 Wago 3 entrées à la broche SDA de la carte Arduino - Sur les Wago 5 entrées, brancher les VCC et GND des servomoteurs et du CSS811. - Sur les bornes restantes des Wago 3 entrées, brancher les SDA et SCL du CSS811 et du BME 280.
    A et SCL du CSS811 et du BME 280. <br/>  +