Exemples de code Arduino
Page mise à jour le 22-02-2026 à 10:49
// BLINK TEST
int ledPin = LED_BUILTIN; // LED verte embarquée
void setup() {
pinMode(ledPin, OUTPUT); // pin digital en tant que sortie
}
void loop() {
digitalWrite(ledPin, HIGH); // niveau haut
delay(100); // délai en millisecondes
digitalWrite(ledPin, LOW); // niveau bas
delay(100); // délai en millisecondes
}
int ledPin = LED_BUILTIN; // LED verte embarquée
void setup() {
pinMode(ledPin, OUTPUT); // pin digital en tant que sortie
}
void loop() {
digitalWrite(ledPin, HIGH); // niveau haut
delay(100); // délai en millisecondes
digitalWrite(ledPin, LOW); // niveau bas
delay(100); // délai en millisecondes
}
// CLASSE : STRUCTURE EXEMPLE
class Morse {
public:
Morse(int pin); // constructeur
void point(); // méthode point()
void trait(); // méthode trait()
private:
int _pin; // attribut pin
};
Morse::Morse(int pin) { // définition du constructeur
pinMode(pin, OUTPUT);
_pin = pin;
}
void Morse::point() { // définition de la méthode point()
digitalWrite(_pin, HIGH);
delay(250);
digitalWrite(_pin, LOW);
delay(250);
}
void Morse::trait() { // définition de la méthode trait()
digitalWrite(_pin, HIGH);
delay(750);
digitalWrite(_pin, LOW);
delay(250);
}
Morse morse(LED_BUILTIN); // nouvelle instance de l'objet
void setup() {
}
void loop() {
for (int i=0; i<3; i++) morse.point();
delay(500);
for (int i=0; i<3; i++) morse.trait();
delay(500);
for (int i=0; i<3; i++) morse.point();
delay(1500);
}
class Morse {
public:
Morse(int pin); // constructeur
void point(); // méthode point()
void trait(); // méthode trait()
private:
int _pin; // attribut pin
};
Morse::Morse(int pin) { // définition du constructeur
pinMode(pin, OUTPUT);
_pin = pin;
}
void Morse::point() { // définition de la méthode point()
digitalWrite(_pin, HIGH);
delay(250);
digitalWrite(_pin, LOW);
delay(250);
}
void Morse::trait() { // définition de la méthode trait()
digitalWrite(_pin, HIGH);
delay(750);
digitalWrite(_pin, LOW);
delay(250);
}
Morse morse(LED_BUILTIN); // nouvelle instance de l'objet
void setup() {
}
void loop() {
for (int i=0; i<3; i++) morse.point();
delay(500);
for (int i=0; i<3; i++) morse.trait();
delay(500);
for (int i=0; i<3; i++) morse.point();
delay(1500);
}
// EEPROM : LIRE ET ECRIRE
#include <EEPROM.h>
void setup() {
Serial.begin(9600);
clearEeprom();
readEeprom();
}
void loop() {
}
void clearEeprom() {
Serial.println("Effacement EEPROM");
Serial.println("...");
for (int i=0; i<1024; i++)
EEPROM.write(i, 0);
Serial.println("Terminé !");
}
void readEeprom() {
Serial.println("Lecture EEPROM");
Serial.println("...");
for (int i=0; i<50; i++)
Serial.print(EEPROM.read(i));
Serial.println("");
Serial.println("Terminé !");
}
#include <EEPROM.h>
void setup() {
Serial.begin(9600);
clearEeprom();
readEeprom();
}
void loop() {
}
void clearEeprom() {
Serial.println("Effacement EEPROM");
Serial.println("...");
for (int i=0; i<1024; i++)
EEPROM.write(i, 0);
Serial.println("Terminé !");
}
void readEeprom() {
Serial.println("Lecture EEPROM");
Serial.println("...");
for (int i=0; i<50; i++)
Serial.print(EEPROM.read(i));
Serial.println("");
Serial.println("Terminé !");
}
// CRYPTAGE MD5
#include <MD5.h>
void setup() {
Serial.begin(9600);
unsigned char* hash=MD5::make_hash("chaine à encoder"); // hachage MD5 de la chaine
char *md5str = MD5::make_digest(hash, 16); // encodage hexadécimal du hachage
free(hash); // libération de la mémoire allouée
Serial.println(md5str);
free(md5str); // libération de la mémoire allouée
}
void loop() {
}
#include <MD5.h>
void setup() {
Serial.begin(9600);
unsigned char* hash=MD5::make_hash("chaine à encoder"); // hachage MD5 de la chaine
char *md5str = MD5::make_digest(hash, 16); // encodage hexadécimal du hachage
free(hash); // libération de la mémoire allouée
Serial.println(md5str);
free(md5str); // libération de la mémoire allouée
}
void loop() {
}
// PWM
const int SpdMotor1(5), DirMotor1(4), SpdMotor2(6), DirMotor2(7);
void setup() {
pinMode(DirMotor1, OUTPUT);
pinMode(DirMotor2, OUTPUT);
}
void loop() {
for(int Speed = 0; Speed <= 255; Speed += 5) { // marche avant en accélération
digitalWrite(DirMotor1, HIGH);
digitalWrite(DirMotor2, HIGH);
analogWrite(SpdMotor1, Speed);
analogWrite(SpdMotor2, Speed);
}
for(int Speed = 255; Speed >= 0; Speed -= 5) { // marche arrière en décélération
digitalWrite(DirMotor1, LOW);
digitalWrite(DirMotor2, LOW);
analogWrite(SpdMotor1, Speed);
analogWrite(SpdMotor2, Speed);
}
delay(1000);
}
const int SpdMotor1(5), DirMotor1(4), SpdMotor2(6), DirMotor2(7);
void setup() {
pinMode(DirMotor1, OUTPUT);
pinMode(DirMotor2, OUTPUT);
}
void loop() {
for(int Speed = 0; Speed <= 255; Speed += 5) { // marche avant en accélération
digitalWrite(DirMotor1, HIGH);
digitalWrite(DirMotor2, HIGH);
analogWrite(SpdMotor1, Speed);
analogWrite(SpdMotor2, Speed);
}
for(int Speed = 255; Speed >= 0; Speed -= 5) { // marche arrière en décélération
digitalWrite(DirMotor1, LOW);
digitalWrite(DirMotor2, LOW);
analogWrite(SpdMotor1, Speed);
analogWrite(SpdMotor2, Speed);
}
delay(1000);
}
// SERVO
int servoPin = 5;
int angle;
int pulseWidth;
int val;
void servopulse(int servoPin, int angle) {
pulseWidth = (angle*11)+500;
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseWidth);
digitalWrite(servoPin, LOW);
delay(20-pulseWidth/1000);
}
void setup() {
pinMode(servoPin, OUTPUT);
Serial.begin(9600);
Serial.println("Servo Ready");
}
void loop() {
val = Serial.read();
if(val>'0' && val<='9') {
val = val-'0';
val = val*(180/9);
Serial.print("Position ");
Serial.println(val, DEC);
for(int i=0; i<=50; i++)
servopulse(servoPin, val);
}
}
int servoPin = 5;
int angle;
int pulseWidth;
int val;
void servopulse(int servoPin, int angle) {
pulseWidth = (angle*11)+500;
digitalWrite(servoPin, HIGH);
delayMicroseconds(pulseWidth);
digitalWrite(servoPin, LOW);
delay(20-pulseWidth/1000);
}
void setup() {
pinMode(servoPin, OUTPUT);
Serial.begin(9600);
Serial.println("Servo Ready");
}
void loop() {
val = Serial.read();
if(val>'0' && val<='9') {
val = val-'0';
val = val*(180/9);
Serial.print("Position ");
Serial.println(val, DEC);
for(int i=0; i<=50; i++)
servopulse(servoPin, val);
}
}
// SERVO ET POTENTIOMETRE
#include <Servo.h>
Servo servo1; // objet servo
int potarPin = A0; // pin du potentiomètre
int val;
void setup() {
servo1.attach(5); // servo sur pin 9
}
void loop() {
val = analogRead(potarPin); // lecture de la veleur du potentiomètre (0 à 1023)
val = map(val, 0, 1023, 0, 179); // conversion en angle de 0 à 180°
servo1.write(val); // positionnement du servo
delay(15);
} 
#include <Servo.h>
Servo servo1; // objet servo
int potarPin = A0; // pin du potentiomètre
int val;
void setup() {
servo1.attach(5); // servo sur pin 9
}
void loop() {
val = analogRead(potarPin); // lecture de la veleur du potentiomètre (0 à 1023)
val = map(val, 0, 1023, 0, 179); // conversion en angle de 0 à 180°
servo1.write(val); // positionnement du servo
delay(15);
} 
Papy WinTux - Philippe DESLOGES - 2023-2026 - Powered by Debian - Apache 2.4.54 - PHP 7.4.33 - Last update 20-04-2026 19:05 - Page size 43 ko built in 24 ms
All trademarks, logos, images and documents on these pages belong exclusively to their respective owners.
All trademarks, logos, images and documents on these pages belong exclusively to their respective owners.
