refactor(server): ♻️ move global const to config header and use #define
instead of memory const
This commit is contained in:
parent
93922dc387
commit
5bf06a4e94
|
@ -1,20 +1,8 @@
|
||||||
//Définition des ports pour controler les moteurs
|
#include "config.h"
|
||||||
//Moteur gauche :
|
|
||||||
#define IN1a 27
|
|
||||||
#define IN2a 14
|
|
||||||
#define IN3a 12
|
|
||||||
#define IN4a 13
|
|
||||||
//Moteur droit :
|
|
||||||
#define IN1b 5
|
|
||||||
#define IN2b 18
|
|
||||||
#define IN3b 19
|
|
||||||
#define IN4b 21
|
|
||||||
|
|
||||||
//Temps d'attente entre deux impulsions :
|
|
||||||
int delayTime = 3;
|
|
||||||
|
|
||||||
// Code éxécuté au démarrage (paramétrage) :
|
// Code éxécuté au démarrage (paramétrage) :
|
||||||
void setup() {
|
void setup()
|
||||||
|
{
|
||||||
// On indique que les ports de controle des moteurs sont des sorties (output)
|
// On indique que les ports de controle des moteurs sont des sorties (output)
|
||||||
pinMode(IN1a, OUTPUT);
|
pinMode(IN1a, OUTPUT);
|
||||||
pinMode(IN2a, OUTPUT);
|
pinMode(IN2a, OUTPUT);
|
||||||
|
@ -26,38 +14,40 @@ void setup() {
|
||||||
pinMode(IN3b, OUTPUT);
|
pinMode(IN3b, OUTPUT);
|
||||||
pinMode(IN4b, OUTPUT);
|
pinMode(IN4b, OUTPUT);
|
||||||
|
|
||||||
|
|
||||||
Serial.begin(115200); // Démarrage d'une communication Série avec l'ordinateur s'il est connecté
|
Serial.begin(115200); // Démarrage d'une communication Série avec l'ordinateur s'il est connecté
|
||||||
}
|
}
|
||||||
|
|
||||||
// Code éxécuté en boucle jusqu'à l'extinction du robot
|
// Code éxécuté en boucle jusqu'à l'extinction du robot
|
||||||
void loop() {
|
void loop()
|
||||||
|
{
|
||||||
// Exemple de commande :
|
// Exemple de commande :
|
||||||
for (int i=0; i<50; i++){
|
for (int i = 0; i < 50; i++)
|
||||||
|
{
|
||||||
forward();
|
forward();
|
||||||
}
|
}
|
||||||
int rotation_steps = convertRotToSteps(46);
|
int rotation_steps = convertRotToSteps(46);
|
||||||
for (int i=0; i<rotation_steps; i++){
|
for (int i = 0; i < rotation_steps; i++)
|
||||||
|
{
|
||||||
left();
|
left();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Fonction pour convertir une longueur en cm vers un nombre de pas moteur.
|
// Fonction pour convertir une longueur en cm vers un nombre de pas moteur.
|
||||||
int convertLengthToSteps(float length){
|
int convertLengthToSteps(float length)
|
||||||
|
{
|
||||||
float result = length * 512 / (4 * 3.1415);
|
float result = length * 512 / (4 * 3.1415);
|
||||||
return int(result);
|
return int(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
// fonction pour convertir une rotation en degrés vers un nombre de pas moteur
|
// fonction pour convertir une rotation en degrés vers un nombre de pas moteur
|
||||||
int convertRotToSteps(int rotation){
|
int convertRotToSteps(int rotation)
|
||||||
|
{
|
||||||
int result = convertLengthToSteps(rotation * 3.1415 / 180 * 7.8);
|
int result = convertLengthToSteps(rotation * 3.1415 / 180 * 7.8);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void forward()
|
||||||
void forward(){
|
{
|
||||||
digitalWrite(IN4a, HIGH);
|
digitalWrite(IN4a, HIGH);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -66,7 +56,7 @@ void forward(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, HIGH);
|
digitalWrite(IN1b, HIGH);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, HIGH);
|
digitalWrite(IN3a, HIGH);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -75,7 +65,7 @@ void forward(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, HIGH);
|
digitalWrite(IN2b, HIGH);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, HIGH);
|
digitalWrite(IN2a, HIGH);
|
||||||
|
@ -84,7 +74,7 @@ void forward(){
|
||||||
digitalWrite(IN3b, HIGH);
|
digitalWrite(IN3b, HIGH);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -93,10 +83,11 @@ void forward(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void backward(){
|
void backward()
|
||||||
|
{
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -105,7 +96,7 @@ void backward(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, HIGH);
|
digitalWrite(IN2a, HIGH);
|
||||||
|
@ -114,7 +105,7 @@ void backward(){
|
||||||
digitalWrite(IN3b, HIGH);
|
digitalWrite(IN3b, HIGH);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, HIGH);
|
digitalWrite(IN3a, HIGH);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -123,7 +114,7 @@ void backward(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, HIGH);
|
digitalWrite(IN2b, HIGH);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, HIGH);
|
digitalWrite(IN4a, HIGH);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -132,10 +123,11 @@ void backward(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, HIGH);
|
digitalWrite(IN1b, HIGH);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void right(){
|
void right()
|
||||||
|
{
|
||||||
digitalWrite(IN4a, HIGH);
|
digitalWrite(IN4a, HIGH);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -144,7 +136,7 @@ void right(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, HIGH);
|
digitalWrite(IN3a, HIGH);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -153,7 +145,7 @@ void right(){
|
||||||
digitalWrite(IN3b, HIGH);
|
digitalWrite(IN3b, HIGH);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, HIGH);
|
digitalWrite(IN2a, HIGH);
|
||||||
|
@ -162,7 +154,7 @@ void right(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, HIGH);
|
digitalWrite(IN2b, HIGH);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -171,10 +163,11 @@ void right(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, HIGH);
|
digitalWrite(IN1b, HIGH);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void left(){
|
void left()
|
||||||
|
{
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -183,7 +176,7 @@ void left(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, HIGH);
|
digitalWrite(IN1b, HIGH);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, HIGH);
|
digitalWrite(IN2a, HIGH);
|
||||||
|
@ -192,7 +185,7 @@ void left(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, HIGH);
|
digitalWrite(IN2b, HIGH);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, HIGH);
|
digitalWrite(IN3a, HIGH);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -201,7 +194,7 @@ void left(){
|
||||||
digitalWrite(IN3b, HIGH);
|
digitalWrite(IN3b, HIGH);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
digitalWrite(IN4a, HIGH);
|
digitalWrite(IN4a, HIGH);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -210,11 +203,11 @@ void left(){
|
||||||
digitalWrite(IN3b, LOW);
|
digitalWrite(IN3b, LOW);
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void stopMotors(void)
|
||||||
void stopMotors(void) {
|
{
|
||||||
digitalWrite(IN4a, LOW);
|
digitalWrite(IN4a, LOW);
|
||||||
digitalWrite(IN3a, LOW);
|
digitalWrite(IN3a, LOW);
|
||||||
digitalWrite(IN2a, LOW);
|
digitalWrite(IN2a, LOW);
|
||||||
|
@ -225,4 +218,3 @@ void stopMotors(void) {
|
||||||
digitalWrite(IN2b, LOW);
|
digitalWrite(IN2b, LOW);
|
||||||
digitalWrite(IN1b, LOW);
|
digitalWrite(IN1b, LOW);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,28 +2,7 @@
|
||||||
#include <AsyncTCP.h>
|
#include <AsyncTCP.h>
|
||||||
#include <ESPAsyncWebServer.h>
|
#include <ESPAsyncWebServer.h>
|
||||||
#include <WiFi.h>
|
#include <WiFi.h>
|
||||||
|
#include "config.h"
|
||||||
// Définition des ports pour contrôler les moteurs
|
|
||||||
// Moteur gauche :
|
|
||||||
#define IN1a 27
|
|
||||||
#define IN2a 14
|
|
||||||
#define IN3a 12
|
|
||||||
#define IN4a 13
|
|
||||||
// Moteur droit :
|
|
||||||
#define IN1b 5
|
|
||||||
#define IN2b 18
|
|
||||||
#define IN3b 19
|
|
||||||
#define IN4b 21
|
|
||||||
|
|
||||||
// Paramètres de connexion wifi :
|
|
||||||
// const char *ssid = "ESP32";
|
|
||||||
// const char *password = "test12345";
|
|
||||||
// For simulator only
|
|
||||||
const char *ssid = "Wokwi-GUEST";
|
|
||||||
const char *password = "";
|
|
||||||
|
|
||||||
// Temps d'attente entre deux impulsions :
|
|
||||||
int delayTime = 3;
|
|
||||||
|
|
||||||
// Variables de commande :
|
// Variables de commande :
|
||||||
struct command_t
|
struct command_t
|
||||||
|
@ -174,7 +153,7 @@ void connectWiFi()
|
||||||
{
|
{
|
||||||
// For simulator only
|
// For simulator only
|
||||||
WiFi.mode(WIFI_STA);
|
WiFi.mode(WIFI_STA);
|
||||||
WiFi.begin(ssid, password);
|
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
|
||||||
if (WiFi.waitForConnectResult() != WL_CONNECTED)
|
if (WiFi.waitForConnectResult() != WL_CONNECTED)
|
||||||
{
|
{
|
||||||
Serial.printf("WiFi Failed!\n");
|
Serial.printf("WiFi Failed!\n");
|
||||||
|
@ -186,7 +165,7 @@ void connectWiFi()
|
||||||
Serial.println(WiFi.localIP());
|
Serial.println(WiFi.localIP());
|
||||||
|
|
||||||
// WiFi.mode(WIFI_AP);
|
// WiFi.mode(WIFI_AP);
|
||||||
// WiFi.softAP(ssid, password);
|
// WiFi.softAP(WIFI_SSID, WIFI_PASSWORD);
|
||||||
// Serial.print("[+] AP Created with IP Gateway ");
|
// Serial.print("[+] AP Created with IP Gateway ");
|
||||||
// Serial.println(WiFi.softAPIP());
|
// Serial.println(WiFi.softAPIP());
|
||||||
// Serial.println("");
|
// Serial.println("");
|
||||||
|
@ -227,49 +206,49 @@ void writeMotor(uint8_t left, uint8_t right)
|
||||||
void forward()
|
void forward()
|
||||||
{
|
{
|
||||||
writeMotor(0b1000, 0b0001);
|
writeMotor(0b1000, 0b0001);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0100, 0b0010);
|
writeMotor(0b0100, 0b0010);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0010, 0b0100);
|
writeMotor(0b0010, 0b0100);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0001, 0b1000);
|
writeMotor(0b0001, 0b1000);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void backward()
|
void backward()
|
||||||
{
|
{
|
||||||
writeMotor(0b0001, 0b1000);
|
writeMotor(0b0001, 0b1000);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0010, 0b0100);
|
writeMotor(0b0010, 0b0100);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0100, 0b0010);
|
writeMotor(0b0100, 0b0010);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b1000, 0b0001);
|
writeMotor(0b1000, 0b0001);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void right()
|
void right()
|
||||||
{
|
{
|
||||||
writeMotor(0b1000, 0b1000);
|
writeMotor(0b1000, 0b1000);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0100, 0b0100);
|
writeMotor(0b0100, 0b0100);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0010, 0b0010);
|
writeMotor(0b0010, 0b0010);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0001, 0b0001);
|
writeMotor(0b0001, 0b0001);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void left()
|
void left()
|
||||||
{
|
{
|
||||||
writeMotor(0b0001, 0b0001);
|
writeMotor(0b0001, 0b0001);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0010, 0b0010);
|
writeMotor(0b0010, 0b0010);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b0100, 0b0100);
|
writeMotor(0b0100, 0b0100);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
writeMotor(0b1000, 0b1000);
|
writeMotor(0b1000, 0b1000);
|
||||||
delay(delayTime);
|
delay(DELAY_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
void stopMotors(void)
|
void stopMotors(void)
|
||||||
|
|
25
server/src/config.h
Normal file
25
server/src/config.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/************************************
|
||||||
|
Fichier de configuration du robot
|
||||||
|
************************************/
|
||||||
|
|
||||||
|
// Définition des ports pour contrôler les moteurs
|
||||||
|
// Moteur gauche :
|
||||||
|
#define IN1a 27
|
||||||
|
#define IN2a 14
|
||||||
|
#define IN3a 12
|
||||||
|
#define IN4a 13
|
||||||
|
// Moteur droit :
|
||||||
|
#define IN1b 5
|
||||||
|
#define IN2b 18
|
||||||
|
#define IN3b 19
|
||||||
|
#define IN4b 21
|
||||||
|
|
||||||
|
// Paramètres de connexion wifi :
|
||||||
|
// #define WIFI_SSID "ESP32"
|
||||||
|
// #define WIFI_PASSWORD "test12345"
|
||||||
|
// For simulator only
|
||||||
|
#define WIFI_SSID "Wokwi-GUEST"
|
||||||
|
#define WIFI_PASSWORD ""
|
||||||
|
|
||||||
|
// Temps d'attente entre deux impulsions :
|
||||||
|
#define DELAY_TIME 3
|
Loading…
Reference in a new issue