Difficulté :
Durée :
Février 2017 , par Techno_fabrik
Commander un moteur à courant continu avec ARDUINO
LE PROJET
Commander la puissance d'un moteur CC avec un module ARDUINO UNO. Nous voulons que le moteur s'allume à pleine puissance, s’éteigne, puis accélère et enfin décélère .
MATÉRIEL :
1 module ARDUINO UNO ( un autre module est bon )
1résistance 100 Ohms ( jusqu'à 1 kOhms)
1 transistor NPN
1 diode Schottky
1 moteur 3-6V CC
RÉALISATION
ETAPE 1 :
Se munir du matériel adéquat et vérifier le bon fonctionnement de celui-ci.
ETAPE 2 :
Relier la base du transistor à la résistance et celle-ci au pin '7'.
ETAPE 3:
Connecter le collecteur à la masse et l'émetteur à l'anode de la diode et à une broche du moteur.
ETAPE 4:
Relier l'autre broche du moteur et la cathode de la diode ensemble et connecter à l'alimentation du module ARDUINO pin '5V'.
PROGRAMME ( codé en C) :
// -------------------------------- COMMANDE PUISSANCE MOTEUR ARDUINO -----------------------------------------
// Matériel : Moteur 3-6V , fils de connections
// Objectif : Commander le moteur en puissance
// 1- Allumer le moteur puis l'eteindre
// 2- Allumer le moteur et faire varier son intensite
// Date de realisation 27/01/2017
// Réalisé par TechnoFABRIK
// ********************************** VARIABLES & BIBLIOTHEQUES *********************************************
// Dans cette partie , nous declarerons nos variables, et bibliotheques utilisees pour le programme
// RMQ : nous n'avons pas besoin de bibliotheques pour ce programme, qui utilise les fonctions premieres de l'arduino
const int moteur=7; // nous choisissons une variable, ici un pin qui pourra etre utilisé en analogique (3,5,6,9,10,11) pour faire varier la tension de sortie du pin 3 de la carte arduino
// on rapelle que le pin digital peut donner 2 valeurs : HIGH ( = 5V ) ou LOW ( 0V)
// le pin Analogique, peut donner plusieurs valeurs de 0 a 255 , et recevoir des valeurs de 0 à 1023
//*********************************** PARTIE INITIALISATION *******************************************
// La partie void setup() permet d'initialiser la carte .
void setup() {
pinMode(moteur,OUTPUT); // pin de commande en mode sortie
}
//*********************************** PARTIE BOUCLE *******************************************
// La partie void loop() va répéter en boucle les commandes demandees
void loop() {
analogWrite(moteur,255); // on allume le moteur à pleine vitesse
delay (2000);// on demande un delay de x millisecond, ici 2 seconde, entre la commande ci-dessus et la suivante
analogWrite(moteur,0);
delay(2000);
for (int i = 100; i<250;i+=25) // cette boucle permet de répéter l'action de mettre le moteur à la vitesse correspondant au pin 7, donc i( ON AUGMENTE LA VITESSE )
{
analogWrite(moteur,i);
delay(2000);
}
for (int i = 250; i>100;i-=25) // cette boucle permet de répéter l'action de mettre le moteur à la vitesse correspondant au pin 7, donc i( ON REDUIT LA VITESSE )
{
analogWrite(moteur,i);
delay(2000);
}
delay(1000);
analogWrite(moteur,0);
delay(1000);
}