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.
| 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(); |
////////////////////////
// Capteur Capacitif //
// MPR121 //
////////////////////////
/*
LOLIN (wemos)D1 mini
_______________________________ Capteur capacitif MPR121
/ _________________ \ _________________
/ / D1 mini \ \ | L 11[ ]|
/ |[ ]RST TX[ ]| \ | E 10[ ]|
| |[ ]A0 -GPIO RX[ ]| \ | D 9[ ]|
| |[ ]D0-16 5-D1[X]| SCL----------. \-|[X]3,3V / 8[ ]|
| |[ ]D5-14 4-D2[X]| SDA---------. \ |[ ]IRQ e 7[ ]|
| |[ ]D6-12 0-D3[ ]| \ \-|[X]SCL l 6[ ]|
| |[ ]D7-13 2-D4[ ]| LED_BUILTIN \--|[X]SDA e 5[ ]|
| |[ ]D8-15 GND[X]|--------------. |[ ]ADD c 4[ ]|
\--|[X]3V3 5V[ ]| \--|[X]GND t 3[ ]|
| +---+ | | r 2[ ]|
|_______|USB|_______| | o 1[ ]|
| MPR121 d 0[ ]|
|_________e_______|
Matériel :
- Des fils dupont
- Un LOLIN (ou Wemos) D1 mini
- Capteur capacitif MPR121
Schéma de l'Arduino en ASCII-ART CC-By http://busyducks.com/ascii-art-arduinos
Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)
___
/ ___ \
|_| |
/_/
_ ___ _
|_| |___|_| |_
___|_ _|
|___| |_|
Les petits Débrouillards - février 2023 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
Inspiré de : https://electropeak.com/learn/interfacing-mpr121-capacitive-touch-sensor-module-with-arduino/
Modified by MehranMaleki from Arduino Examples - janvier 2021
*/
#include
#include "Adafruit_MPR121.h"
#ifndef _BV
#define _BV(bit) (1 << (bit))
#endif
// Vous pouvez en avoir jusqu'à 4 MPR121 sur un bus i2c mais un seul suffit pour les tests !
Adafruit_MPR121 cap = Adafruit_MPR121();
// Garde la trace des dernières broches touchés.
// Ainsi, nous savons quand les boutons sont 'relâchés'.
uint16_t precedentTouche = 0;
uint16_t actuelTouche = 0;
void setup () {
Serial.begin(9600);
while (!Serial) { // indispensable pour empêcher un Arduino leonardo/micro de démarrer trop vite !
delay(10);
}
Serial.println("Programme de test du capteur capacitif MPR121 avec la bibliothèque Adafruit MPR121");
// L'adresse par défaut est 0x5A, si elle est liée à 3.3V, elle est 0x5B.
// Si elle est liée à SDA, c'est 0x5C et si elle est liée à SCL, c'est 0x5D.
if (!cap.begin(0x5A)) {
Serial.println("Le MPR121 n'a pas été trouvé, vérifiez le cablage ?");
while (1);
}
Serial.println("MPR121 trouvé !");
}
void loop() {
// récupère les broches actuellement touchés
actuelTouche = cap.touched();
for (uint8_t i = 0; i < 12; i++) {
// si *est* touché et *n'était pas* touché avant, alerte !
if ((actuelTouche & _BV(i)) && !(precedentTouche & _BV(i)) ) {
Serial.print("Broche N° ");Serial.print(i); Serial.print(" touché");
}
// si elle *était* touchée et qu'elle ne l'est plus, alerte !
if (!(actuelTouche & _BV(i)) && (precedentTouche & _BV(i)) ) {
Serial.print("Broche N° ");Serial.print(i); Serial.println("relachée");
}
}
// Mémorisation
precedentTouche = actuelTouche;
}| 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) ; |
int sensorPin = A0; // variable globale broche entrée potentiomètre
void setup() {
Serial.begin(115200); //initialisation du port série (pour voir les valeurs dans la console)
}
void loop() {
// lecture des valeurs de la broche A0
int sensorValue = analogRead(sensorPin);
//affichage des valeurs dans la console
Serial.println(sensorValue);
}| 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) } |
#include "bsec.h" // ajout de la bibliothèque Bsec de Bosh
Bsec iaqSensor; // creation de l'objet Iaq
void setup(void)
{
Serial.begin(115200); // Initialisation de la connexion série
Wire.begin(); // Démarrage de la connexion I2C avec le capteur
iaqSensor.begin(BME680_I2C_ADDR_SECONDARY, Wire); // démarrage du capteur
bsec_virtual_sensor_t sensorList[4] = { // Configuration du capteur
BSEC_OUTPUT_RAW_PRESSURE,
BSEC_OUTPUT_IAQ,
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
};
iaqSensor.updateSubscription(sensorList, 4, BSEC_SAMPLE_RATE_LP); // configuration du capteur
}
void loop(void)
{
if (iaqSensor.run()) { // Dès que l'on reçoit des mesures
Serial.print("temperature : ");
Serial.println(iaqSensor.temperature); // Affichage de la température
Serial.print("humidite : ");
Serial.println(iaqSensor.humidity); // Affichage de l'humidité
Serial.print("pression : ");
Serial.println(iaqSensor.pressure); // Affichage de la pression en Pascal
Serial.print("IAQ : ");
Serial.println(iaqSensor.iaq); // Indice de la qualité de l'air
Serial.print("iAQ accuracy : ");
Serial.println(iaqSensor.iaqAccuracy); // Indice de calibration (attendre qu'il passe à 3 pour exploiter les mesures environ 2h)
}
}| 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); |
///////////////////////
// Capteur Capacitif //
// TTP223 //
///////////////////////
/*
Ce programme est un exemple de base du capteur capacitif TTP223.
Il écrit "vous avez touché le capetur !" sur le moniteur série lorsque le capteur est activé.
Lolin (Wemos) D1 mini
_________________
/ D1 mini \
|[ ]RST TX[ ]| Capteur capacitif TTP223
|[ ]A0 -GPIO RX[ ]| +-------------+
|[ ]D0-16 5-D1[ ]| .--|[X]VCC /‾‾‾‾\|
|[ ]D5-14 4-D2[X]|-----------|--|[X]I/O| |
|[ ]D6-12 0-D3[ ]| .-----|--|[X]GND \____/|
|[ ]D7-13 2-D4[ ]| / | |_____________|
|[ ]D8-15 GND[X]|---' /
|[ ]3V3 . 5V[X]|----------'
| +---+ |
|_______|USB|_______|
Matériel :
- Des fils dupont.
- Un LOLIN (Wemos) D1 mini
- Capteur capacitif TTP223
Schéma de l'Arduino en ASCII-ART CC-By http://busyducks.com/ascii-art-arduinos
Sous licence CC-By-Sa (http://creativecommons.org/licenses/by-nc-sa/3.0/)
___
/ ___ \
|_| |
/_/
_ ___ _
|_| |___|_| |_
___|_ _|
|___| |_|
Les petits Débrouillards - janvier 2023- CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/
Inspiré de :
TTP223B-Capacitive-Touch-Switch-Module - 08 Nov 2020
by Amir Mohammad Shojaee @ Electropeak
https://electropeak.com/learn/interfacing-ttp223-capacitive-switch-butto-touch-sensor-with-arduino/
*/
const int brocheCapteur = D2;
void setup() {
Serial.begin(9600);
// initialisation de la broche en entrée (INPUT)
pinMode(brocheCapteur, INPUT);
}
void loop() {
if(digitalRead(brocheCapteur) == HIGH){
Serial.println("Vous avez touché le capteur !");
while(digitalRead(brocheCapteur) == HIGH){}
}
}| 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 |
#define LED_BLUE 2 //définition de la pin Bleue
#define LED_GREEN 3 //définition de la pin Verte
#define LED_RED 4 //définition de la pin Rouge
void setup() {
pinMode(LED_BLUE, OUTPUT); //configuration de la pin Bleu en mode Sortie
pinMode(LED_GREEN, OUTPUT); //configuration de la pin Verte en mode Sortie
pinMode(LED_RED, OUTPUT); //configuration de la pin Rouge en mode Sortie
}
void loop() {
digitalWrite(LED_BLUE, HIGH); //extinction de la pin
digitalWrite(LED_GREEN, HIGH); //extinction de la pin
digitalWrite(LED_RED, LOW); //allumage de la pin
delay(1000);
digitalWrite(LED_BLUE, HIGH); //extinction de la pin
digitalWrite(LED_GREEN, LOW); //allumage de la pin
digitalWrite(LED_RED, HIGH); //extinction de la pin
delay(1000);
digitalWrite(LED_BLUE, LOW); //allumage de la pin
digitalWrite(LED_GREEN, HIGH); //extinction de la pin
digitalWrite(LED_RED, HIGH); //extinction de la pin
delay(1000);
}#define LED_BLUE 9 //définition de la pin Bleue
#define LED_GREEN 10 //définition de la pin Verte
#define LED_RED 11 //définition de la pin Rouge
void setup() {
pinMode(LED_BLUE, OUTPUT); //configuration de la pin Bleu en mode Sortie
pinMode(LED_GREEN, OUTPUT); //configuration de la pin Verte en mode Sortie
pinMode(LED_RED, OUTPUT); //configuration de la pin Rouge en mode Sortie
}
void loop() {
analogWrite(LED_BLUE, 0); //extinction de la pin
analogWrite(LED_GREEN, 0); //extinction de la pin
analogWrite(LED_RED, 127); //allumage de la pin à 50%
delay(1000);
analogWrite(LED_BLUE, 0); //extinction de la pin
analogWrite(LED_GREEN, 127); //allumage de la pin à 50%
analogWrite(LED_RED, 0); //extinction de la pin
delay(1000);
analogWrite(LED_BLUE, 127); //allumage de la pin à 50%
analogWrite(LED_GREEN, 0); //extinction de la pin
analogWrite(LED_RED, 0); //extinction de la pin
delay(1000);
}/*
* Code repris de http://wiki.t-o-f.info/Arduino/%c3%89liminationDuRebondissement
*/
int BUTTON_PIN = 0; //GPIO 0 correspond à la broche D3
int previousButtonState;
int count =0;
unsigned long debounceTimeStamp;
void setup() {
Serial.begin(57600);
pinMode( BUTTON_PIN , INPUT_PULLUP );
previousButtonState = digitalRead( BUTTON_PIN );
}
void loop() {
if ( millis() - debounceTimeStamp >= 5 ) {
int currentButtonState = digitalRead( BUTTON_PIN );
if ( currentButtonState != previousButtonState ) {
debounceTimeStamp = millis();
if ( currentButtonState == LOW ) {
count = count + 1;
Serial.println(count);
}
}
previousButtonState = currentButtonState;
}
}| 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); |
#include //importation de la bibliothèque servo
Servo monservo; // Création de l'objet monservo
void setup() {
monservo.attach(12); //Démarrage de l'objet
}
void loop() {
monservo.write(180); // En avant toute !
delay(1000); // pendant une seconde
monservo.write(0); // En arrière toute !
delay(1000); // pendant une seconde
} | WS2812B | ||
| Avant le Setup | Importation de la bibliothèque | #include |
| Création de l’objet | #define NUM_LEDS * (* indique le nombre de Led à allumer), #define DATA-PIN 3 (borne de la carte sur laquelle est branchée le ruban de Led, CRGBleds [NUM_LEDS]; | |
| Dans le Setup | Démarrage de l’objet | FastLED.addLeds |
| Dans le Loop | Utilisation | FastLED.show() ; |
#include
// How many leds in your strip?
#define NUM_LEDS 1
// For led chips like WS2812, which have a data line, ground, and power, you just
// need to define DATA_PIN. For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN D3
// Define the array of leds
CRGB leds[NUM_LEDS];
void setup() {
// Uncomment/edit one of the following lines for your leds arrangement.
// ## Clockless types ##
FastLED.addLeds(leds, NUM_LEDS); // GRB ordering is assumed
// FastLED.addLeds(leds, NUM_LEDS); // GRB ordering is typical
}
void loop() {
// Turn the LED on, then pause
leds[0] = CRGB::Red;
FastLED.show();
delay(500);
// Now turn the LED off, then pause
leds[0] = CRGB::Black;
FastLED.show();
delay(500);
} | 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, ); |
int brocheLED = 13; // variable globale broche sur laquelle est branchée la LED
void setup() {
pinMode(brocheLED, OUTPUT); //la broche est configurée en sortie
}
void loop() {
// la LED peut prendre des valeurs de 0 à 255 (valeur d'intensité lumineuse).
analogWrite(brocheLED,255);
}| 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) |
| 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 |
| 9H | 8H | 7H | 6H | 5H | 4H | 3H | 2H | H | F | HB | B | 2B | 3B | 4B | 5B | 6B | 7B | 8B | 9B |
| Dure | → | Moyenne | → | Tendre | |||||||||||||||
Vous avez entré un nom de page invalide, avec un ou plusieurs caractères suivants :
< > @ ~ : * € £ ` + = / \ | [ ] { } ; ? #