// -------- Que fait ce programme ? ---------
/* Ce programme commande un moteur CC à l'aide d'une broche de sens
et d'une broche de vitesse (PWM) via une carte DFRduino motor drive 1A (L293) */
// --- Fonctionnalités utilisées ---
[code]
// -------- Que fait ce programme ? ---------
/* Ce programme commande un moteur CC à l'aide d'une broche de sens
et d'une broche de vitesse (PWM) via une carte DFRduino motor drive 1A (L293) */
// --- Fonctionnalités utilisées ---
// -------- Circuit à réaliser ---------
// /////////////////////////////// 1. Entête déclarative ///////////////////////
// A ce niveau sont déclarées les librairies incluses, les constantes, les variables, les objets utiles...
// --- Déclaration des constantes ---
// --- Inclusion des librairies ---
// --- Déclaration des constantes utiles ---
// --- Déclaration des constantes des broches E/S numériques ---
const int sensMoteur1=4; // Constante pour la broche 2
const int vitesseMoteur1=5; // Constante pour la broche 3
const int AVANT=1; // constante sens moteur
const int ARRIERE=0; // constante sens moteur
// --- Déclaration des constantes des broches analogiques ---
// --- Déclaration des variables globales ---
int vitesse=105; // variable de vitesse
// --- Déclaration des objets utiles pour les fonctionnalités utilisées ---
// ////////////////////////// 2. FONCTION SETUP = Code d'initialisation //////////////////////////
// La fonction setup() est exécutée en premier et 1 seule fois, au démarrage du programme
void setup() { // debut de la fonction setup()
// --- ici instructions à exécuter 1 seule fois au démarrage du programme ---
// ------- Initialisation fonctionnalités utilisées -------
// ------- Broches en sorties numériques -------
pinMode (sensMoteur1,OUTPUT); // Broche sensMoteur1 configurée en sortie
pinMode (vitesseMoteur1,OUTPUT); // Broche vitesseMoteur1 configurée en sortie
// ------- Broches en entrées numériques -------
// ------- Activation si besoin du rappel au + (pullup) des broches en entrées numériques -------
// ------- Initialisation des variables utilisées -------
} // fin de la fonction setup()
// ********************************************************************************
////////////////////////////////// 3. FONCTION LOOP = Boucle sans fin = coeur du programme //////////////////
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension
void loop(){ // debut de la fonction loop()
//----- test du moteur -----
vitesse = vitesse + 50; // incrémente la vitesse
if (vitesse>255) vitesse=105; //RAZ vitesse
analogWrite(vitesseMoteur1, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur
digitalWrite(sensMoteur1,AVANT); // Marche avant
delay(3000);
analogWrite(vitesseMoteur1, vitesse); // génère une impulsion PWM sur la broche de vitesse du moteur
digitalWrite(sensMoteur1,ARRIERE); // Marche avant
delay(3000);
analogWrite(vitesseMoteur1,0); // génère une impulsion PWM sur la broche de vitesse du moteur
delay(3000);
} // fin de la fonction loop() - le programme recommence au début de la fonction loop sans fin
// ********************************************************************************
sketch_dec20a.ino (3 KB)