Cette page fournit une simple interface de navigation pour trouver des entités décrites par une propriété et une valeur nommée. D’autres interfaces de recherche disponibles comprennent la page recherche de propriété, et le constructeur de requêtes ask.
| Pin | Function | ESP-8266 Pin |
|---|---|---|
| TX | TXD | GPIO1 |
| RX | RXD | GPIO3 |
| A0 | Analog input, max 3.2V | A0 |
| D0 | IO | GPIO16 |
| D1 | IO, SCL | GPIO5 |
| D2 | IO, SDA | GPIO4 |
| D3 | IO, 10k Pull-up | GPIO0 |
| D4 | IO, 10k Pull-up, BUILTIN_LED | GPIO2 |
| D5 | IO, SCK | GPIO14 |
| D6 | IO, MISO | GPIO12 |
| D7 | IO, MOSI | GPIO13 |
| D8 | IO, 10k Pull-down, SS | GPIO15 |
| G | Ground | GND |
| 5V | 5V | - |
| 3V3 | 3.3V | 3.3V |
| RST | Reset | RST |
pâte levée, et crée la [https://fr.wikipedia.org/wiki/Mie mie]. Cette fermentation, dite fermentation alcoolique, produit outre le dioxyde de carbone, de l'éthanol, qui est vaporisé lors de la cuisson. Sans ajout de levain ou levure, le pain est dit azyme. Plus d'info ici : https://fr.wikipedia.org/wiki/Pain Plus d'info ici : https://fr.wikipedia.org/wiki/Pain)
| 9H | 8H | 7H | 6H | 5H | 4H | 3H | 2H | H | F | HB | B | 2B | 3B | 4B | 5B | 6B | 7B | 8B | 9B |
| Dure | → | Moyenne | → | Tendre | |||||||||||||||
| Composant | Rôle | Détails |
|---|---|---|
| '''ESP32''' | Microcontrôleur principal | Gère moteur + LEDs + API en wifi |
| ⚙️ '''Moteur pas à pas / Servo SG90''' | Action mécanique du socle | 3 positions (basse, moyenne, haute) |
| 💡 '''Bandeau LED NeoPixel''' | Lumière d’ambiance | 12 LEDs RGB |
| 📜 Papier rugueux et épais | décorer et refléter la lumière | environ 60cmx15cm selon la taille du POGL |
| Papier réfléchissant perforer | laisse passer plus ou moins la lumière | 15cm de diamètre, trou aléatoire 1cm de diamètre |
Adafruit_NeoPixel.h → gestion des LEDs avec fil piloteServo.h ou Stepper.h → contrôle du moteur (selon le modèle choisi)main.ino
├── [CONFIG] constantes moteur + LEDs
├── [DOMAIN] types (enum Densite, Color, TramPoint)
├── [DATA] scénario de simulation tram
├── [STATE] variables d'état (couleurs, index, timer)
├── [API HW] moteurs/LEDs (tournerMoteur, setTargetColor, smoothTransition, showColor)
├── [LOGIC] mapping densité → angle/couleur + traitement changement
├── [APP] setup(), loop() non-bloquante (tick simulation)| Statut (mettre OK + URL ou liens si images dispos sur Wikideb), ou « A ajouter » | |
| Photos | |
| Vidéo | |
| Niveau scolaire (Classes où la notion est étudiée) |
| MPR121 | ||
| Avant le Setup | Importation de la bibliothèque | #include #include "Adafruit_MPR121.h" |
| Création de l’objet | Adafruit_MPR121 capteur = Adafruit_MPR121(); // Déclaration de variable uint16_t actuelleTouche = 0; | |
| Dans le Setup | Démarrage de l’objet | if (!capteur.begin(0x5A)) { while (1); } |
| Dans le Loop | Utilisation | actuelleTouche = capteur.touched(); |
1 ////////////////////////
2 // Capteur Capacitif //
3 // MPR121 //
4 ////////////////////////
5
6 /*
7
8 LOLIN (wemos)D1 mini
9 _______________________________ Capteur capacitif MPR121
10 / _________________ \ _________________
11 / / D1 mini \ \ | L 11[ ]|
12 / |[ ]RST TX[ ]| \ | E 10[ ]|
13 | |[ ]A0 -GPIO RX[ ]| \ | D 9[ ]|
14 | |[ ]D0-16 5-D1[X]| SCL----------. \-|[X]3,3V / 8[ ]|
15 | |[ ]D5-14 4-D2[X]| SDA---------. \ |[ ]IRQ e 7[ ]|
16 | |[ ]D6-12 0-D3[ ]| \ \-|[X]SCL l 6[ ]|
17 | |[ ]D7-13 2-D4[ ]| LED_BUILTIN \--|[X]SDA e 5[ ]|
18 | |[ ]D8-15 GND[X]|--------------. |[ ]ADD c 4[ ]|
19 \--|[X]3V3 5V[ ]| \--|[X]GND t 3[ ]|
20 | +---+ | | r 2[ ]|
21 |_______|USB|_______| | o 1[ ]|
22 | MPR121 d 0[ ]|
23 |_________e_______|
24
25 Matériel :
26 - Des fils dupont
27 - Un LOLIN (ou Wemos) D1 mini
28 - Capteur capacitif MPR121
29
30
31 Schéma de l'Arduino en ASCII-ART CC-By http://busyducks.com/ascii-art-arduinos
32 Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)
33 ___
34 / ___ \
35 |_| |
36 /_/
37 _ ___ _
38 |_| |___|_| |_
39 ___|_ _|
40 |___| |_|
41 Les petits Débrouillards - février 2023 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
42
43 Inspiré de : https://electropeak.com/learn/interfacing-mpr121-capacitive-touch-sensor-module-with-arduino/
44 Modified by MehranMaleki from Arduino Examples - janvier 2021
45 */
46
47 #include
48 #include "Adafruit_MPR121.h"
49
50 #ifndef _BV
51 #define _BV(bit) (1 << (bit))
52 #endif
53
54 // Vous pouvez en avoir jusqu'à 4 MPR121 sur un bus i2c mais un seul suffit pour les tests !
55 Adafruit_MPR121 cap = Adafruit_MPR121();
56
57 // Garde la trace des dernières broches touchés.
58 // Ainsi, nous savons quand les boutons sont 'relâchés'.
59 uint16_t precedentTouche = 0;
60 uint16_t actuelTouche = 0;
61
62 void setup () {
63 Serial.begin(9600);
64
65 while (!Serial) { // indispensable pour empêcher un Arduino leonardo/micro de démarrer trop vite !
66 delay(10);
67 }
68
69 Serial.println("Programme de test du capteur capacitif MPR121 avec la bibliothèque Adafruit MPR121");
70
71 // L'adresse par défaut est 0x5A, si elle est liée à 3.3V, elle est 0x5B.
72 // Si elle est liée à SDA, c'est 0x5C et si elle est liée à SCL, c'est 0x5D.
73 if (!cap.begin(0x5A)) {
74 Serial.println("Le MPR121 n'a pas été trouvé, vérifiez le cablage ?");
75 while (1);
76 }
77 Serial.println("MPR121 trouvé !");
78 }
79
80 void loop() {
81 // récupère les broches actuellement touchés
82 actuelTouche = cap.touched();
83
84 for (uint8_t i = 0; i < 12; i++) {
85 // si *est* touché et *n'était pas* touché avant, alerte !
86 if ((actuelTouche & _BV(i)) && !(precedentTouche & _BV(i)) ) {
87 Serial.print("Broche N° ");Serial.print(i); Serial.print(" touché");
88 }
89 // si elle *était* touchée et qu'elle ne l'est plus, alerte !
90 if (!(actuelTouche & _BV(i)) && (precedentTouche & _BV(i)) ) {
91 Serial.print("Broche N° ");Serial.print(i); Serial.println("relachée");
92 }
93 }
94
95 // Mémorisation
96 precedentTouche = actuelTouche;
97
98 }
| Potentiomètre | ||
| Avant le Setup | Importation de la bibliothèque | |
| Création de l’objet | ||
| Dans le Setup | Démarrage de l’objet | pinMode(A0,INPUT) ; |
| Dans le Loop | Utilisation | int valeur = analogRead(A0) ; |
1 int sensorPin = A0; // variable globale broche entrée potentiomètre
2
3 void setup() {
4 Serial.begin(115200); //initialisation du port série (pour voir les valeurs dans la console)
5 }
6
7 void loop() {
8 // lecture des valeurs de la broche A0
9 int sensorValue = analogRead(sensorPin);
10 //affichage des valeurs dans la console
11 Serial.println(sensorValue);
12 }
| Généralités | Alimentation | 3 à 5 Vcc |
| Interface | I2C et SPI sur connecteur au pas de 2,54 mm | |
| Dimensions | 30 x 14 x 10 mm | |
| Poids | 10 g | |
| Température | Plage de mesure | - 40 à 85 °C |
| Humidité | Plage de mesure | 0 à 100 % RH |
| Précision relative | ± 3 % RH | |
| Temps de réponse | 8 sec | |
| Pression atmosphérique | Plage de mesure | 300 à 1100 hPa |
| Précision absolue | ± 1 hPa | |
| Qualité de l'air (IAQ) | Plage de mesure | 0 à 500 (valeur de résistance) |
| Temps de réponse | 1 sec |
| Capteur BME 680 | ||
|---|---|---|
| Avant le setup | Importation des bibliothèques | #include "bsec.h" |
| Création de l’objet | Bsec ''objet;'' | |
| Dans le setup | Démarrage de l’objet | Wire.begin(); ''objet''.begin(BME680_I2C_ADDR_SECONDARY, Wire); //Configuration du capteur bsec_virtual_sensor_t sensorList[4] = { BSEC_OUTPUT_RAW_PRESSURE, BSEC_OUTPUT_IAQ, BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE, BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY, }; ''objet''.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); |
| Dans le loop | Utilisation | if(''objet''.run()){ // Dès que la mesure est effectuée, on affiche les valeurs ''objet''.temperature; ''objet''.humidity; ''objet''.pressure; ''objet''.iaq; //indice de qualité de l'ai 0 -500 ''objet''.accuracy; // fiabilité des mesures (0 -> calibration 3-> mesures fiables) } |
1 #include "bsec.h" // ajout de la bibliothèque Bsec de Bosh
2 Bsec iaqSensor; // creation de l'objet Iaq
3
4 void setup(void)
5 {
6 Serial.begin(115200); // Initialisation de la connexion série
7 Wire.begin(); // Démarrage de la connexion I2C avec le capteur
8
9 iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); // démarrage du capteur
10 bsec_virtual_sensor_t sensorList[4] = { // Configuration du capteur
11 BSEC_OUTPUT_RAW_PRESSURE,
12 BSEC_OUTPUT_IAQ,
13 BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
14 BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
15 };
16
17 iaqSensor.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); // configuration du capteur
18 }
19
20 void loop(void)
21 {
22 if (iaqSensor.run()) { // Dès que l'on reçoit des mesures
23 Serial.print("temperature : ");
24 Serial.println(iaqSensor.temperature); // Affichage de la température
25
26 Serial.print("humidite : ");
27 Serial.println(iaqSensor.humidity); // Affichage de l'humidité
28
29 Serial.print("pression : ");
30 Serial.println(iaqSensor.pressure); // Affichage de la pression en Pascal
31
32 Serial.print("IAQ : ");
33 Serial.println(iaqSensor.iaq); // Indice de la qualité de l'air
34
35 Serial.print("iAQ accuracy : ");
36 Serial.println(iaqSensor.iaqAccuracy); // Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)
37 }
38 }
| Capteur de distance SR04 | ||
| Avant le Setup | Importation de la bibliothèque | #include |
| Création de l’objet | Ultrasonic ultrasonic(broche trig, broche echo); | |
| Dans le Setup | Démarrage de l’objet | |
| Dans le Loop | Utilisation | int distanceCM = ultrasonic.read(); |
1 //Ajout de la bibliothèque ultrasonic
2 #include
3
4 //Création de l'objet ultrasonic
5 Ultrasonic ultrasonic(12, 13);
6
7
8 void setup() {
9 Serial.begin(9600); // démarrage de la connexion série
10 }
11
12 void loop() {
13 //utilisation de l'objet
14 int distance = ultrasonic.read();
15 // affichage de la distance dans le terminal série
16 Serial.print("Distance in CM: ");
17 Serial.println(distance);
18 delay(1000); //délais d'une seconde
19 }
| TTP223 | ||
| Avant le Setup | Importation de la bibliothèque | |
| Création de l’objet | const int brocheCapteur = D2; | |
| Dans le Setup | Démarrage de l’objet | pinMode(brocheBouton, INPUT); |
| Dans le Loop | Utilisation | digitalRead(brocheCapteur); |
1 ///////////////////////
2 // Capteur Capacitif //
3 // TTP223 //
4 ///////////////////////
5
6 /*
7 Ce programme est un exemple de base du capteur capacitif TTP223.
8 Il écrit "vous avez touché le capetur !" sur le moniteur série lorsque le capteur est activé.
9
10 Lolin (Wemos) D1 mini
11
12 _________________
13 / D1 mini \
14 |[ ]RST TX[ ]| Capteur capacitif TTP223
15 |[ ]A0 -GPIO RX[ ]| +-------------+
16 |[ ]D0-16 5-D1[ ]| .--|[X]VCC /‾‾‾‾\|
17 |[ ]D5-14 4-D2[X]|-----------|--|[X]I/O| |
18 |[ ]D6-12 0-D3[ ]| .-----|--|[X]GND \____/|
19 |[ ]D7-13 2-D4[ ]| / | |_____________|
20 |[ ]D8-15 GND[X]|---' /
21 |[ ]3V3 . 5V[X]|----------'
22 | +---+ |
23 |_______|USB|_______|
24
25
26 Matériel :
27 - Des fils dupont.
28 - Un LOLIN (Wemos) D1 mini
29 - Capteur capacitif TTP223
30
31
32 Schéma de l'Arduino en ASCII-ART CC-By http://busyducks.com/ascii-art-arduinos
33 Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)
34 ___
35 / ___ \
36 |_| |
37 /_/
38 _ ___ _
39 |_| |___|_| |_
40 ___|_ _|
41 |___| |_|
42 Les petits Débrouillards - janvier 2023- CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
43 Inspiré de :
44 TTP223B-Capacitive-Touch-Switch-Module - 08 Nov 2020
45 by Amir Mohammad Shojaee @ Electropeak
46 https://electropeak.com/learn/interfacing-ttp223-capacitive-switch-butto-touch-sensor-with-arduino/
47
48 */
49 const int brocheCapteur = D2;
50
51 void setup() {
52 Serial.begin(9600);
53 // initialisation de la broche en entrée (INPUT)
54 pinMode(brocheCapteur, INPUT);
55 }
56
57 void loop() {
58 if(digitalRead(brocheCapteur) == HIGH){
59 Serial.println("Vous avez touché le capteur !");
60 while(digitalRead(brocheCapteur) == HIGH){}
61 }
62 }
dot_clean /Volumes/
par le nom de volume de votre carte SD.| DFPlayer Mini MP3 | ||
| Avant le Setup | Importation de la bibliothèque | #include #include |
| Création de l’objet | SoftwareSerial mySoftwareSerial(D5, D6); //TX, RX - attention il y a une erreur sur le site de DFRobot DFRobotDFPlayerMini myDFPlayer ; | |
| Dans le Setup | Démarrage de l’objet | mySoftwareSerial.begin(9600) ; myDFPlayer.begin(mySoftwareSerial) ; |
| Dans le Loop | Utilisation | myDFPlayer.setTimeOut(500) ; myDFPlayer.volume(20) ; myDFPlayer.play(1); |
1 // DFPlayer Code minimal pour test
2
3 #include
4 #include
5
6 SoftwareSerial mySoftwareSerial(D5, D6); // TX, RX
7 DFRobotDFPlayerMini myDFPlayer ;
8
9 void setup() {
10
11 mySoftwareSerial.begin(9600) ;
12
13 myDFPlayer.begin(mySoftwareSerial) ;
14 }
15
16
17 void loop() {
18 // Joue la premiere chanson de la carte SD pendant 10 secondes
19 myDFPlayer.setTimeOut(500) ;
20
21 myDFPlayer.volume(10) ; // fixe le son à 10 (peut aller jusqu'à 30 maximum)
22
23 myDFPlayer.play(1); // joue le premier fichier son.
24
25 delay(10000); //pause de 10 secondes
26 }
| Avant le Setup | Importation de la bibliothèque | #include "SdsDustSensor.h" |
| Création de l’objet | int rxPin = D5; int txPin = D6; SdsDustSensor sds(rxPin, txPin); | |
| Dans le Setup | Démarrage de l’objet | Serial.begin(9600); sds.begin(); |
| Dans le Loop | Utilisation | PmResult pm = sds.readPm(); Serial.print("PM2.5 = "); Serial.print(pm.pm25); Serial.print(", PM10 = "); Serial.println(pm.pm10); |
1 #include "SdsDustSensor.h"
2
3 int rxPin = D5;
4 int txPin = D6;
5 SdsDustSensor sds(rxPin, txPin);
6
7 void setup() {
8
9 Serial.begin(9600);
10 sds.begin();
11
12 Serial.println(sds.queryFirmwareVersion().toString());
13 Serial.println(sds.setActiveReportingMode().toString());
14 Serial.println(sds.setContinuousWorkingPeriod().toString());
15 }
16
17 void loop() {
18
19 PmResult pm = sds.readPm();
20 if (pm.isOk()) {
21 Serial.print("PM2.5 = ");
22 Serial.print(pm.pm25);
23 Serial.print(", PM10 = ");
24 Serial.println(pm.pm10);
25 Serial.println(pm.toString());
26 }
27 else {
28 Serial.print("Could not read values from sensor, reason: ");
29 Serial.println(pm.statusToString());
30 }
31
32 delay(500);
33 }
| TCS 3472 | ||
| Avant le Setup | Importation de la bibliothèque | #include #include "Adafruit_TCS34725.h" |
| Initialisation de l'objet | Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_614MS, TCS34725_GAIN_1X); | |
| Dans le Setup | Configuration de l'objet | if (tcs.begin()) { Serial.println("Capteur Trouvé"); } else { Serial.println("Aucun TCS34725 trouvé ... vérifie la connections"); while (1); } |
| Dans le Loop | Utilisation | uint16_t r, g, b, c, colorTemp, lux; tcs.getRawData(&r, &g, &b, &c); colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c); lux = tcs.calculateLux(r, g, b); Serial.println("Détection des couleurs"); Serial.print("Lux: "); Serial.println(lux, DEC); Serial.print("ROUGE: "); Serial.println(r, DEC); Serial.print("VERT: "); Serial.println(g, DEC); Serial.print("BLEU: "); Serial.println(b, DEC); |
#include
#include "Adafruit_TCS34725.h"
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_614MS, TCS34725_GAIN_1X);
void setup() {
Serial.begin(9600);
if (tcs.begin()) {
Serial.println("Capteur Trouvé");
} else {
Serial.println("Aucun TCS34725 trouvé ... vérifier la connections");
while (1);
}
}
void loop() {
uint16_t r, g, b, c, colorTemp, lux;
tcs.getRawData(&r, &g, &b, &c);
colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c);
lux = tcs.calculateLux(r, g, b);
Serial.println("Détection des couleurs");
Serial.print("Lux: ");
Serial.println(lux, DEC);
Serial.print("ROUGE: ");
Serial.println(r, DEC);
Serial.print("VERT: ");
Serial.println(g, DEC);
Serial.print("BLEU: ");
Serial.println(b, DEC);
}
| TCS 3200 | ||
| Avant le Setup | Importation de la bibliothèque | Aucune Librairies |
| Définition des pins et des variables | #define S0 4 #define S1 5 #define S2 6 #define S3 7 #define sensorOut 8 int redFrequency = 0; int greenFrequency = 0; int blueFrequency = 0; | |
| Dans le Setup | Configuration des pins & initialisation des valeurs | pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(sensorOut, INPUT); digitalWrite(S0,HIGH); digitalWrite(S1,LOW); |
| Dans le Loop | Utilisation | redFrequency = pulseIn(sensorOut, LOW); greenFrequency = pulseIn(sensorOut, LOW); blueFrequency = pulseIn(sensorOut, LOW); |
#define S0 4
#define S1 5
#define S2 6
#define S3 7
#define sensorOut 8
int redFrequency = 0;
int greenFrequency = 0;
int blueFrequency = 0;
void setup() {
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
digitalWrite(S0,HIGH);
digitalWrite(S1,LOW);
Serial.begin(9600);
}
void loop() {
digitalWrite(S2,LOW);
digitalWrite(S3,LOW);
redFrequency = pulseIn(sensorOut, LOW);
Serial.print("R = ");
Serial.print(redFrequency);
delay(100);
digitalWrite(S2,HIGH);
digitalWrite(S3,HIGH);
greenFrequency = pulseIn(sensorOut, LOW);
Serial.print(" V = ");
Serial.print(greenFrequency);
delay(100);
digitalWrite(S2,LOW);
digitalWrite(S3,HIGH);
blueFrequency = pulseIn(sensorOut, LOW);
Serial.print(" B = ");
Serial.println(blueFrequency);
delay(100);
}
| SW-520D | ||
| Avant le Setup | Importation de la bibliothèque | Aucune Librairies |
| Définition des pins et des variables | #define inPin 7 int value = 0 | |
| Dans le Setup | Configuration des pins | pinMode(inPin, INPUT); Serial.begin(9600); |
| Dans le Loop | Utilisation | value = digitalRead(inPin); |
#define inPin 7
int value = 0;
void setup() {
pinMode(inPin, INPUT);
Serial.begin(9600);
}
void loop() {
value = digitalRead(inPin);
Serial.println("Valeur: ");
Serial.println(value);
}
| Del RVB | ||
| Avant le Setup | Importation de la bibliothèque | Aucunes bibliothèques |
| Définition des pins | #define LED_RED #define LED_GREEN #define LED_BLUE | |
| Dans le Setup | Configuration des pins | pinMode(LED_RED, OUTPUT); pinMode(LED_GREEN, OUTPUT); pinMode(LED_BLUE, OUTPUT); |
| Dans le Loop | Utilisation | digitalWrite(LED_RED, LOW); //on allume la couleur Rouge digitalWrite(LED_GREEN, HIGH); //on éteint la couleur Verte digitalWrite(LED_BLUE, HIGH); //on éteint la couleur Bleue |
1 #define LED_BLUE 2 //définition de la pin Bleue
2 #define LED_GREEN 3 //définition de la pin Verte
3 #define LED_RED 4 //définition de la pin Rouge
4
5 void setup() {
6 pinMode(LED_BLUE, OUTPUT); //configuration de la pin Bleu en mode Sortie
7 pinMode(LED_GREEN, OUTPUT); //configuration de la pin Verte en mode Sortie
8 pinMode(LED_RED, OUTPUT); //configuration de la pin Rouge en mode Sortie
9 }
10
11 void loop() {
12 digitalWrite(LED_BLUE, HIGH); //extinction de la pin
13 digitalWrite(LED_GREEN, HIGH); //extinction de la pin
14 digitalWrite(LED_RED, LOW); //allumage de la pin
15 delay(1000);
16 digitalWrite(LED_BLUE, HIGH); //extinction de la pin
17 digitalWrite(LED_GREEN, LOW); //allumage de la pin
18 digitalWrite(LED_RED, HIGH); //extinction de la pin
19 delay(1000);
20 digitalWrite(LED_BLUE, LOW); //allumage de la pin
21 digitalWrite(LED_GREEN, HIGH); //extinction de la pin
22 digitalWrite(LED_RED, HIGH); //extinction de la pin
23 delay(1000);
24 }
1 #define LED_BLUE 9 //définition de la pin Bleue
2 #define LED_GREEN 10 //définition de la pin Verte
3 #define LED_RED 11 //définition de la pin Rouge
4
5 void setup() {
6 pinMode(LED_BLUE, OUTPUT); //configuration de la pin Bleu en mode Sortie
7 pinMode(LED_GREEN, OUTPUT); //configuration de la pin Verte en mode Sortie
8 pinMode(LED_RED, OUTPUT); //configuration de la pin Rouge en mode Sortie
9 }
10
11 void loop() {
12 analogWrite(LED_BLUE, 0); //extinction de la pin
13 analogWrite(LED_GREEN, 0); //extinction de la pin
14 analogWrite(LED_RED, 127); //allumage de la pin à 50%
15 delay(1000);
16 analogWrite(LED_BLUE, 0); //extinction de la pin
17 analogWrite(LED_GREEN, 127); //allumage de la pin à 50%
18 analogWrite(LED_RED, 0); //extinction de la pin
19 delay(1000);
20 analogWrite(LED_BLUE, 127); //allumage de la pin à 50%
21 analogWrite(LED_GREEN, 0); //extinction de la pin
22 analogWrite(LED_RED, 0); //extinction de la pin
23 delay(1000);
24 }
| Vibration Sensor SW-420 | ||
| Avant le Setup | Importation de la bibliothèque | Aucunes bibliothèques |
| Création des variables | int Vibration_signal = 7; int Sensor_state = 1; | |
| Dans le Setup | Configuration de la broche | pinMode(Vibration_signal, INPUT); |
| Dans le Loop | Utilisation | Serial.print("État des vibrations : "); Sensor_state = digitalRead(Vibration_signal); if (Sensor_state == 1) { Serial.println("Détection des vibrations"); } else { Serial.println("Pas de vibration"); } delay(50); |
1 int Vibration_signal = 7;
2 int Sensor_state = 1;
3
4 void setup() {
5 pinMode(Vibration_signal, INPUT);
6 Serial.begin(9600);
7 }
8
9 void loop() {
10 Serial.print("État des vibrations : ");
11 Sensor_state = digitalRead(Vibration_signal);
12 if (Sensor_state == 1) {
13 Serial.println("Détection des vibrations");
14 } else {
15 Serial.println("Pas de vibration");
16 }
17 delay(50);
18 }
| End-Stop Sensor | ||
| Avant le Setup | Importation de la bibliothèque | #include |
| Création de l'objet et Configuration de la broche | ezButton limitSwitch(7); | |
| Dans le Setup | Configuration du temps de rebond | limitSwitch.setDebounceTime(50); |
| Dans le Loop | Utilisation | limitSwitch.loop(); if(limitSwitch.isPressed()) Serial.println("L'interrupteur de fin de course: NON TOUCHÉ -> TOUCHÉ"); if(limitSwitch.isReleased()) Serial.println("L'interrupteur de fin de course: TOUCHÉ -> NON TOUCHÉ"); int state = limitSwitch.getState(); if(state == HIGH) Serial.println("L'interrupteur de fin de course: NON TOUCHÉ"); else Serial.println("L'interrupteur de fin de course: TOUCHÉ"); |
1 #include
2
3 ezButton limitSwitch(7); // créer un objet ezButton qui s'attache à la broche 7
4
5 void setup() {
6 Serial.begin(9600);
7 limitSwitch.setDebounceTime(50); // fixer le temps de rebond à 50 millisecondes
8
9 }
10
11 void loop() {
12 limitSwitch.loop(); // DOIT appeler la fonction loop() en premier
13
14 if(limitSwitch.isPressed())
15 Serial.println("L'interrupteur de fin de course: NON TOUCHÉ -> TOUCHÉ");
16
17 if(limitSwitch.isReleased())
18 Serial.println("L'interrupteur de fin de course: TOUCHÉ -> NON TOUCHÉ");
19
20 int state = limitSwitch.getState();
21 if(state == HIGH)
22 Serial.println("L'interrupteur de fin de course: NON TOUCHÉ");
23 else
24 Serial.println("L'interrupteur de fin de course: TOUCHÉ");
25
26 }
| Motion Sensor HC SR-501 | ||
| Avant le Setup | Importation de la bibliothèque | Aucunes bibliothèques |
| Création de l’objet | #define pirPin int val = LOW; bool motionState = false; | |
| Dans le Setup | Démarrage de l’objet | pinMode(pirPin, INPUT); |
| Dans le Loop | Utilisation | val = digitalRead(pirPin); if (motionState == false) |
1 #define brocheCapteur 2
2 int val = LOW;
3 bool etatDetection = false;
4
5 void setup() {
6 Serial.begin(9600);
7 pinMode(brocheCapteur, INPUT);
8 }
9
10 void loop() {
11 // la variable etatDetection sert à éviter de "trop boucler".
12 // cela permet de ne pas écrire en boucle les infos dans le moniteur série.
13 // et au contraire de n'écrire que lorsqu'il y a un changement d'état de "détecté" à "non détecté"
14 val = digitalRead(brocheCapteur);
15 if (val == HIGH) {
16 if (etatDetection == false) {
17 Serial.println("Mouvement détecté !");
18 etatDetection = true;
19 }
20 } else if (val == LOW) {
21 if (etatDetection == true) {
22 Serial.println("Mouvement non détecté !");
23 etatDetection = false;
24 }
25 }
26 }
1 /*
2 * Code repris de http://wiki.t-o-f.info/Arduino/%c3%89liminationDuRebondissement
3 */
4
5 int BUTTON_PIN = 0; //GPIO 0 correspond à la broche D3
6 int previousButtonState;
7 int count =0;
8
9 unsigned long debounceTimeStamp;
10
11 void setup() {
12 Serial.begin(57600);
13 pinMode( BUTTON_PIN , INPUT_PULLUP );
14 previousButtonState = digitalRead( BUTTON_PIN );
15 }
16
17 void loop() {
18 if ( millis() - debounceTimeStamp >= 5 ) {
19 int currentButtonState = digitalRead( BUTTON_PIN );
20 if ( currentButtonState != previousButtonState ) {
21 debounceTimeStamp = millis();
22 if ( currentButtonState == LOW ) {
23 count = count + 1;
24 Serial.println(count);
25 }
26 }
27 previousButtonState = currentButtonState;
28 }
29 }
| Photorésistance | ||
| Avant le Setup | Importation de la bibliothèque | |
| Création de l’objet | brochePhotoresistance = A0; (la photorésistance est branchée sur une broche analogique) | |
| Dans le Setup | Démarrage de l’objet | pinMode(brochePhotoresistance, INPUT); |
| Dans le Loop | Utilisation | valeur = analogRead(brochePhotoresistance); |
1 //////////////////////////////
2 // La photorésistance //
3 //////////////////////////////
4 /*
5
6 +-----+
7 +----[PWR]-------------------| USB |--+
8 | +-----+ |
9 | GND/RST2 [ ][ ] |
10 | MOSI2/SCK2 [ ][ ] A5/SCL[ ] |
11 | 5V/MISO2 [ ][ ] A4/SDA[ ] |
12 | AREF[ ] |
13 | GND[X] |--(led)---|
14 | [ ]N/C SCK/13[X] |--v230Ωv--|
15 | [ ]IOREF MISO/12[ ] |
16 | [ ]RST MOSI/11[ ]~|
17 | [ ]3V3 +---+ 10[ ]~|
18 /--(w)---------| [X]5v -| A |- 9[ ]~|
19 | /--| [X]GND -| R |- 8[ ] |
20 |--v1kΩv--/ | [ ]GND -| D |- |
21 | | [ ]Vin -| U |- 7[ ] |
22 | | -| I |- 6[ ]~|
23 |___________/--| [X]A0 -| N |- 5[ ]~|
24 | [ ]A1 -| O |- 4[ ] |
25 | [ ]A2 +---+ INT1/3[ ]~|
26 | [ ]A3 INT0/2[ ] |
27 | [ ]A4/SDA RST SCK MISO TX>1[ ] |
28 | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] |
29 | [ ] [ ] [ ] |
30 | UNO_R3 GND MOSI 5V ____________/
31 \_______________________/
32 Matériel :
33 - des fils dupont.
34 - une breadbord
35 - Arduino
36 - Une photorésistance,
37 - une résistance de 1Kiloohms (10, 20, ou 1 kilo-ohms, ajustez la valeur, faites des tests)
38 Schéma de l'Arduino en ASCII-ART CC-By http://busyducks.com/ascii-art-arduinos
39 Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)
40
41 ___
42 / ___ \
43 |_| |
44 /_/
45 _ ___ _
46 |_| |___|_| |_
47 ___|_ _|
48 |___| |_|
49 Les petits Débrouillards 2023 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
50 */
51 const int brochePhotoresistance = A0; // la photorésistance est branchée sur la broche analogique A0
52 const int seuil = 300; // c'est la valeur donnée par la photorésistance lorsqu'on l'éclaire au max
53 // (ça dépend de l'endroit où vous placez votre montage).
54 int valeur; // mémoriser la valeur de la photorésistance (entre 0-1023)
55
56
57 void setup(){
58 Serial.begin(9600); // On ouvre la communication série
59
60 pinMode(LED_BUILTIN, OUTPUT); // On utilise la led embarquée sur la carte
61 pinMode(brochePhotoresistance, INPUT); // la broche analogique A0 est configurée en entrée
62
63 }
64
65 void loop(){
66 valeur = analogRead(brochePhotoresistance);
67
68 int intensiteLed = 1023-valeur; // La uminosité de la led est l'inverse de la lumière reçue par la photorésistance
69 intensiteLed = intensiteLed-seuil; // On s'assure que la led soit éteinte quand la lumière est maximum
70 if (intensiteLed<0) intensiteLed=0;// Correction d'une éventuelle d'erreur sur le seuil.
71
72 Serial.print("La photoresistance mesure : "); Serial.println(valeur);
73 Serial.print("La luminosité de la Led est fixée à : "); Serial.println(intensiteLed);
74
75 analogWrite(LED_BUILTIN, intensiteLed); // Allume la Led à l'intensité souhaitée
76
77 delay(100);// pause
78 }
| BME280 | ||
| Avant le Setup | Importation de la bibliothèque | #include "Seeed_BME280.h" #include |
| Création de l’objet | BME280 bme280; // je crée l'objet "bme280" (qui est un BME280) | |
| Dans le Setup | Démarrage de l’objet | bme280.init(); // ou bme280.init(0x76); ou bme280.init(0x77); |
| Dans le Loop | Utilisation | bme280.getTemperature() |
| Fonction | |
|---|---|
| bme280.getPressure() | Récupère la pression en pascal |
| bme280.getHumidity() | Récupère l'humidité en % |
1 #include "Seeed_BMP280.h" // import de la bibliothèque BMP280
2 #include // Import de la bibliothèque I2C
3 BMP280 bmp280; // création de l'objet
4 void setup()
5 {
6 Serial.begin(9600); //initialisation de la liaison série
7 bmp280.init(); //initialisation du capteur
8 }
9 void loop()
10 {
11 float temp = bmp280.getTemperature(); //récupération de la température
12 Serial.print("Température : "); // affichage de la température dans le terminal série
13 Serial.println(temp);
14 }
| Servo moteur | ||
| Avant le Setup | Importation de la bibliothèque | #include |
| Création de l’objet | Servo monservo; | |
| Dans le Setup | Démarrage de l’objet | monservo.attach(broche du servo); |
| Dans le Loop | Utilisation | monservo.write(180); |
1 #include //importation de la bibliothèque servo
2
3 Servo monservo; // Création de l'objet monservo
4
5 void setup() {
6 monservo.attach(12); //Démarrage de l'objet
7
8 }
9
10 void loop() {
11 monservo.write(180); // En avant toute !
12 delay(1000); // pendant une seconde
13 monservo.write(0); // En arrière toute !
14 delay(1000); // pendant une seconde
15 }
| BME280 | ||
| Avant le Setup | pas de bibliothèque | |
| Variable pour un moteur | #define moteurA_1A 15 #define moteurA_2A 13 int vitesse = 128; // 0 à 255 | |
| Dans le Setup | configuration des broches | pinMode(moteurA_1, OUTPUT); pinMode(moteurA_2, OUTPUT); |
| Dans le Loop | Utilisation | digitalWrite(moteurA_1, LOW); analogWrite(moteurA_2, vitesse); |
1 //////////////////////////
2 // Contrôleur de moteur //
3 // L9110 //
4 // pont en H //
5 //////////////////////////
6 /*
7 _________________
8 / D1 mini \
9 |[ ]RST TX[ ]|
10 |[ ]A0 -GPIO RX[ ]|
11 |[ ]D0-16 5-D1[ ]|
12 |[ ]D5-14 4-D2[ ]|
13 |[ ]D6-12 0-D3[ ]|
14 A-1B - |[ ]D7-13 2-D4[ ]| LED_BUILTIN
15 A_1A - |[ ]D8-15 GND[ ]|
16 |[ ]3V3 . 5V[ ]|
17 | +---+ |
18 |_______|USB|_______|
19 */
20
21 #define moteurA_1A 15
22 #define moteurA_1B 13
23 int vitesse = 128; // 0 à 255
24 void setup() {
25 // Configuration des ports en mode "sortie"
26 pinMode(moteurA_1A, OUTPUT);
27 pinMode(moteurA_1B, OUTPUT);
28 }
29 void loop() {
30 digitalWrite(moteurA_1A, LOW);
31 analogWrite(moteurA_1B, vitesse);
32 delay(1000);
33
34 analogWrite(moteurA_1A, vitesse);
35 digitalWrite(moteurA_1B, LOW);
36 delay(1000);
37
38 digitalWrite(moteurA_1A, LOW);
39 digitalWrite(moteurA_1B, LOW);
40 delay(1000);
41 }
| Potentiomètre | ||
| Avant le Setup | pas besoin de bibliothèque | |
| Déclaration de la broche | int brocheLED =13; | |
| Dans le Setup | Démarrage de l’objet | pinMode(brocheLED, OUTPUT) ; |
| Dans le Loop | Utilisation | analogWrite(brocheLED, ); |
1 int brocheLED = 13; // variable globale broche sur laquelle est branchée la LED
2
3 void setup() {
4 pinMode(brocheLED, OUTPUT); //la broche est configurée en sortie
5 }
6
7 void loop() {
8 // la LED peut prendre des valeurs de 0 à 255 (valeur d'intensité lumineuse).
9 analogWrite(brocheLED,255);
10 }
| Spécification | MG90S | MG90D | SG92R | SG90 |
|---|---|---|---|---|
| Poid (g) | 13 | 13,4 | 12 | 9 |
| Couple (Kg) (4,8v) | 2,1 | 1,8 | 2,5 | 1,8 |
| Vitesse (sec/60deg) | 0,1 | 0,1 | 0,1 | 0,1 |
| A(mm) | 32,5 | 32,5 | 34,5 | 34,5 |
| B(mm) | 22,6 | 22,8 | 22,8 | 22,8 |
| C(mm) | 28,5 | 28,4 | 26,7 | 26,7 |
| D(mm) | 12 | 12,4 | 12,6 | 12,6 |
| E(mm) | 31,5 | 32,1 | 32,5 | 32,5 |
| F(mm) | 19,8 | 18.5 | 16 | 16 |
6H5-R) donc de 6 atomes de carbone reliés par une chaîne de 3 atomes de carbone (anneau de pyrane oxygéné = cycle pyrone). Les flavonoïdes sont souvent liés à une molécule de glucide (glucose, arabinose ou rhamnose) pour former des glucosoïdes (flavonoïdes glycosides), mais certaines flavonoïdes sont aglycones (non reliées à une glucides (comme les flavanols).
* Une tasse de thé peut en contenir jusqu'à 80 à 200 mg de polyphénols (selon le type de thé et la technique de préparation de l'infusion).
* Dans 100 grammes de thé vert séché on retrouve : (16 grammes) de polyphénols totaux dont 14.2 g de cathéchines (dont 4,7 g d'EGCG) et 0,0 g de Théaflavines et théarubigénines.
* Dans 100 grammes de thé noir séché on retrouve : (15,6 grammes) de polyphénols totaux dont 4.0 g de cathéchines (dont 2,0 g d'EGCG) et 0,94 g de Théaflavines et 1,8 g de théarubigénines.
*Les flavonoïdes sont des antioxydants pouvant piéger les radicaux libres (antiradicalaires) et protéger les cellules des agressions :
* préviennent certains cancers par inhibition l'urokinase, nécessaire à la progression des tumeurs ;
* l’activité antioxydant de ces polyphénols explique l'action préventive du thé contre le vieillissement cellulaire.
* Les flavonoïdes peuvent chélater le fer non hématique contenu dans les plantes, le lait et les médicaments (l'intègre dans leur structure en anneau), donc diminuent son absorption au niveau du tube digestif d'environ 70 %.au), donc diminuent son absorption au niveau du tube digestif d'environ 70 %.)Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #