Vous êtes sur la page 1sur 39

‫الجمهوريـــة الجزائريـــة الديمقراطيــة الشعبيــة‬

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur ‫وزارة التعـــــليم العــــــــــــــــالي‬


et de la Recherche Scientifique ‫العـــــــــــلمي والبـــــحث‬
Université TAHRI Mohammed Béchar ‫جامعة طاهري محمد بشار‬
Faculté de Technologies ‫كـــــــــــــلية التكنولوجيا‬
Département de Génie Électrique ‫قسم الهندسة الكهربائية‬

Mémoire de fin d’études


Pour l’obtention du diplôme de licence
Domaine : Sciences et Techniques
Filière : Électrotechnique
Spécialité: Automatique

THEME

Commande de deux loquets glissants


Commande de deux loquets glissants
Via une application Android
Via une application Android

Présenté par : - Abid Abderrahmane


- Bekaye babe Ahmed Cheikh

Président :……………………………..

Examinateur :……………………………..

Encadreur : Dr. HAIDAS MOHAMMED

Année universitaire : 2021/2022


Dédicace

Je dédie ce mot à ma chère mère qui, quoi que je fasse ou dise, je ne saurais
vous remercier convenablement. Votre affection me submerge, votre
miséricorde me guide et votre présence à mes côtés a toujours été la source
de ma force face aux divers obstacles. A mon cher papa, tu as toujours été à
mes côtés pour me soutenir et m'encourager. J'espère que ce travail reflète
ma gratitude et mon affection. Merci beaucoup à mes chers frères et amis,
Yassin Ayoub, Karim et chams El-Din . Vous étiez mes frères et camarades
lors de ce voyage d'étude. Je n'oublie pas le professeur qui m'a enseigné et
dirigé pour apprendre le langage de programmation, le professeur Dr.
HAIDAS MOHAMMED, ainsi que le professeur et le Dr. Belhaj, qui m'ont
fourni tous les moyens de travail.

Sans oublier mon binôme Ahmed Cheikh pour son soutien moral, sa patience
et sa compréhension tout au long de ce projet.

Merci beaucoup pour tout ce que vous m'avez apporté, sans votre soutien je
ne serais pas ce que je suis aujourd'hui.
Contenu
Dédicace .....................................................................
Chapitre 01 : Généralité sur l’Arduino ........................ 1
L’historique de l’Arduino ..................................... 2
Définition de la platine Arduino .....................................................2
Les différentes versions d'Arduino .................................................3
La carte Arduino Uno ......................................................................6
L’alimentation ................................................................................8
Reset ...............................................................................................9
Les entrées/sorties ..........................................................................9
Programmation ISP ou programmation en circuit .........................11
L’environnement de développement (EDI) de l’ARDUINO ............13
Structure générale d’un sketch .....................................................15

Chapitre 02: Réalisation d’un Commande de deux


loquets glissants via applications Android ............... 16
Introduction ....................................................... 17
Matériels utilises notre Project ....................................................18

Servo moteur avec Arduino Uno ................................................18

LED avec Arduin Uno ................................................................24

Bluetooth avec Arduin Uno ......................................................28

Montage globale .....................................................................31

Conclusion ...................................................................................32

Conclusion générale .....................................................................33

Référence ...................................................................................35

Résume .......................................................................................36
Chapitre 01:
Généralité sur l’Arduino
l -1- L’historique de l’Arduino :

_ En 2005, un projet dont personne n'avait imaginé les conséquences fut


lancé à l'Interactive Design Institute Ivrea , à Ivrée en Italie. Une plaque
de prototypage fut développée pour donner aux étudiants un moyen
simple de concevoir des produits innovants . Un nom revient sans cesse
dans ce contexte, celui de Massimo Banzi. C'est 1l'un des codéveloppeurs et
cofondateurs de la société Arduino LLC. Pour l'anec- dote, le nom Arduino
a été emprunté à un bar d'Ivrée où se réunissaient régulièrement les
instigateurs du projet. La philosophie qui a motivé toute l'affaire est la
simplification et la facilitation de l'accès à l'univers de l'électronique et des
microcontrô- leurs afin que chacun puisse l'utiliser sans être pour autant
un spécia- liste de ces domaines. La grande disponibilité et le coût
modique de la carte Arduino, ainsi que des composants et modules
électroniques, ont également contribué à la popularité rapide de la carte.
Pour finir, je vous présente votre guide, qui se prénomme Ardus. Il sera
présent à vos côtés tout au long de ce livre et posera les questions que
personne n'ose poser. Il était déjà présent dans les précédentes édi- tions
de ce livre et il a un peu changé. Comme celle de l'auteur, sa chevelure
s'est quelque peu clairsemé, signe que le temps a aussi prise sur lui.
Le moment est venu que je vous aban- donne à votre destin et que je
me retire sur la pointe des pieds. Bon divertissement et bonne réussite dans
la découverte de l'univers de l'électronique avec votre carte Arduino.

l - 2 - Définition de la platine Arduino :

_ Un système Arduino est une carte électronique basée sur un


microcontrôleur et de petits composants permettant de réaliser des
fonctions plus ou moins avancées à moindre coût. Il dispose d'une
interface USB pour le programmer. Il s'agit d'une plateforme open
source basée sur une simple carte microcontrôleur
(de la famille AVR), et un logiciel, véritable environnement de
développement intégré, pour écrire , compiler et porter le programme
sur la carte microcontrôleur. Arduino peut être utilisé pour développer
des applications pour des appareils industriels légers ou des objets
interactifs (créativité artistique par exemple), et peut recevoir une variété
de capteurs en entrée.
1

2
Le figer 01 : des composants Arduino

l - 3 - Les différentes versions d'Arduino :

_ Le système Arduino est une plateforme open source basée sur une carte
programmée par microcontrôleur et un environnement de développement
(SDK) permettant d’écrire, compiler et tester un programme.
Les cartes et modules Arduino sont pourvus d’entrées-sorties qui peuvent
recevoir des signaux de capteurs ou interrupteurs et peuvent commander
des moteurs, éclairages, etc.
« Arduino » n’est pas en soi un type de carte ou un microcontrôleur
spécifique. Arduino désigne plutôt toute une famille. Choisir celle qui
convient à votre projet n’est pas une mince affaire et il convient de réfléchir
à celle que vous utiliserez. Dans cet article, nous allons en apprendre
davantage sur les différents types de cartes Arduino et sur leurs utilisations.
1- Arduino UNO
2- Arduino Nano
3- Arduino Due
4- Arduino Mega
5- Arduino Leonardo

a) Arduino UNO :

_ L’UNO est sans doute l’Arduino le plus populaire. Il est alimenté par un
processeur Atmega328 fonctionnant à 16 MHz, comprend 32 Ko de mémoire
programme, 1 Ko d’EEPROM, 2 Ko de RAM, 14 E / S numériques, 6 entrées
analogiques et un rail d’alimentation de 5V et 3,3V.

La figure02 : d’Arduino uno 3


b) Arduino Nano :

_ L’Arduino Nano est essentiellement un Arduino UNO réduit, ce qui le rend


très pratique pour les espaces restreints et les projets pouvant nécessiter
une réduction de poids chaque fois que cela est possible, comme le
modélisme ou des projets DIY portable.
Comme l’UNO, le Nano est alimenté par un processeur Atmega328
fonctionnant à 16 MHz, comprend 32 Ko de mémoire programme, 1 Ko
d’EEPROM, 2 Ko de RAM, 14 entrées-sorties numériques, 6 entrées
analogiques et des rails d’alimentation 5V et 3,3V.
(Remarque – Les cartes Arduino Nano antérieures à la V3.0 utilisaient
l’ATmega168, qui correspond essentiellement à la moitié des spécifications).
Contrairement au système UNO, le Nano ne peut pas se connecter aux
platines de prototypages. Les cartes Arduino Nano sont souvent l’option de
carte Arduino la moins chère, ce qui les rend rentables pour les grands
projets.

La figure 03 : d’Arduino NANO

c) Arduino Due :

_ L’Arduino Due est l’une des cartes les plus grandes et la première carte
Arduino à être alimentée par un processeur ARM.
Alors que l’UNO et Nano fonctionnent à 5V, la DUO fonctionne en 3,3V – il
est important de le noter, car une surtension endommagerait
irrémédiablement la carte. Alimenté par un Cortex-M3 ATSAM3X8E cadencé
à 84 MHz, le Due dispose de 512 Ko de ROM et de 96 Ko de RAM, de 54
broches d’E / S numériques, de 12 canaux PWM, de 12 entrées analogiques
et de 2 sorties analogiques.
La DUE n’a pas de mémoire EEPROM intégrée et est l’une des cartes Arduino
les plus chères. Bien que le Due dispose d’un grand nombre d’en-têtes de
broches pour la connexion aux nombreuses E / S numériques, il est
également compatible avec les broches Arduino standard.

La figure 04 : d’Arduino DUE 4


d) Arduino Mega 2560 :

_ L’Arduino Mega est un peu similaire au Due en ce sens qu’il dispose


également de 54 E / S. Cependant, au lieu d’être alimenté par un cœur ARM,
il utilise plutôt un ATmega2560.
Le processeur est cadencé à 16 MHz et comprend 256 Ko de ROM, 8 Ko de
RAM, 4 Ko d’EEPROM et fonctionne à 5 V, ce qui facilite son utilisation avec
la plupart des appareils électroniques conviviaux.
L’Arduino Mega dispose de 16 entrées analogiques, de 15 canaux PWM, d’un
brochage similaire à Due et d’un matériel compatible avec les shields
Arduino. Comme pour Due, la compatibilité logicielle avec Mega ne peut pas
toujours être garantie.

La figure05 : d’Arduino MEGA

e) Arduino Leonardo :

_ La carte Arduino LEONARDO est basée sur un ATMega32u4 cadencé à 16


MHz permettant la gestion du port USB par un seul processeur. Des
connecteurs situés sur les bords extérieurs du circuit imprimé permettent
d’enficherune série de modules complémentaires.
Elle peut se programmer avec le logiciel Arduino. Le contrôleur ATMega32u4
permet la gestion du port, ce qui permet d’augmenter la flexibilité dans la
communication avec l’ordinateur.

La figure 06 : d’Arduino LENARDO

5
2

l - 4 - La carte Arduino Uno :


_ Examinons la carte Arduino Uno. Les principaux composants de
La platine sont identifiés sur la figure.

Figure 06 : La carte Arduino

_ Nous allons passer en revue les différents éléments de la carte Arduino


Uno. Tout ne vous paraîtra peut-être pas encore très clair. Mais je vous
promets que nous les examinerons en détail un peu plus loin.
Le microcontrôleur est le cœur de la carte Arduino. L’Arduino Uno que nous
utiliserons pour les montages présentés dans ce livre est équipée d’un
microcontrôleur Atmel AVR de type ATmega328. Sur la figure, c’est le gros
composant noir muni de nombreuses broches Le tableau.

l - 4 - 1 - résume ses principales spécifications.

Catégorie Valeur
Microcontrôleur ATmega328
Tension de service 5V
Tension d’entrée 7-12 V
(recommandée) 6-20 V
Tension d’entrée (limites) 14 entrées et sorties (6 sorties
Ports numériques de largeur commutables en MLI – modulation
d’impulsion) 6 entrées analogiques
40 mA
Ports analogiques 3,3 V 50 mA
Courant maxi. par broche 32 Ko (ATmega328), dont 0,5 Ko est
d’E/S (c.c.) utilisé par le chargeur d’amorçage
Courant maxi. par broche 2 Ko (ATmega328)
Mémoire 1 Ko (ATmega328)
d’horloge 16 MHz
SRAM
EEPROM
Fréquence

Le tableau d’un microcontrôleur Atmel AVR de type ATmega328

Comme vous pouvez le constater, un certain nombre d’entrées ou de sorties


sont disponibles pour communiquer avec la carte Arduino. Elles constituent
l’interface avec le monde extérieur et permettent4 d’échanger des données
avec le microcontrôleur, comme l’indique le schéma ci-après.
6
Sur le côté gauche, vous pouvez voir le microcontrôleur Arduino qui
peut communiquer avec nous via certaines interfaces. Certains ports servent
d’entrées et d’autres d’entrées et de sorties. Un port est ici un chemin
d’accès défini au microcontrôleur, pratiquement une porte vers l’intérieur
qu’il est possible d’actionner.
Vous apercevez également des réglettes de raccordement noires sur ses
bords supérieur et inférieur.

La figure 07 un chemin d’accès défini au microcontrôleur

La figure 07 présente ainsi le contenu, très simplifié, mais largement


suffisant pour l'instant, d'un microcontrôleur. On y constate que tous les
éléments contenus dans le boitier sont reliés entre cux par ce qui
s'appelle un bus, qui est en fair un ensemble de connexions véhiculant les
adresses, les données et les signaux de contrôle échangés entre ces
différents sous-ensembles. Pour ce qui est de ces sous-ensembles internes,
leur nombre et leurs rypes sonr variables et dépendent du microcontrôleur
choisi, L'unité centrale est évidemment toujours présente puisque c'est elle
le cerveau du microcontrôleur. La mémoire également puisqu'elle est
indispensable pour contenir le programme que va exécurer le circuit, mais
son type et sa taille varient énormément d'un circuit à un autre Pour ce qui
est des sous-ensembles d'interface, leur nombre et leurs types varient là
aussi selon le microcontrôleur choisi, mais l'on rencontre quasiment toujours
aujourd'hui un ou plusieurs timers ou compteurs, des entrées/sorties
parallèles, des entrécs/sorties séries et des convertisseurs
analogiques/numériques et numériques/ analogiques.
3
7
3
Je l’ai tiré du livre : Arduino_Historique
l - 5 - L’alimentation :

_ L'alimentation du microcontrôleur qui équipe les cartes a lieu sous une


tension de 5 volrs qui peut provenir soit de la prise USB dont elles sont
munies, ce qui est le cas lorsque la carte est reliée à un ordinateur; soit d'un
bloc secteur externe via le jack standard également présent sur la carte. La
tension ainsi fournie doit alors étre comprise entre 7 et 12 volts mais n'a pas
besoin d'étre stabilisée car un régulateur de tension prend place sur les
cartes. Contrairement aux premières versions d'Arduino, aucune
commutation manuelle n'est nécessaire entre les deux sources
d'alimentation ; celle-ci étant désormais automatique et transparente pour
l'utilisateur. Par ailleurs, et par mesure de sécurité pour l'ordinateur auquel
sera relié l'Arduino, un fusible réarmable ou Polyfuse est présent sur la
connexion d'alimentation 5 volts de la prise USB. Toute consommation
excessive sur cette dernière, c'est-à- dire en pratique supérieure à 500 mA,
provoque le déclenchement de ce fusible, protégeant ainsi le port USB de
l'ordinateur auquel la carte est reliée. Le fusible étant de type réarmable, il
n'a pas besoin d'être remplacé lorsqu'il a été activé et il suffit de patienter
quelques secondes pour qu'il retrouve son état normal. Deux tensions
stabilisées sont générées par les régulateurs montés sur les cartes Arduino :5
volts et 3,3 volts et ces deux tensions sont disponibles sur les connecteurs
placés sur le pourtour des cartes pour alimenter les shields (les cartes
d'interface). Attention cependant à ne pas dépasser le courant maximum
que peuvent fournir ces régulateurs. Il n'est ainsi que de 50 mA pour la sortie
3,3 volts et n'est pas précisé par le fabricant pour la sortie 5 volts.

La figure 08 : carte Arduin uno avec une


alimentation électrique externe

4
8
Je l’ai tiré du livre : Arduino_Historique
4444

l - 6 - Reset :
_ Toutes les cartes Arduino actuelles sont équipées d'un poussoir de reset
manuel. Un appui sur celui-ci permet donc de relancer l'exécution d'un
programme si néces- saire, soit parce qu'il s'est « planté » soit tout
simplement parce que l'on souhaite le faire repartir de son début. Mais il
existe aussi sur les cartes Arduino deux autres sources de reset. La première
est un reset automatique à la mise sous tension qui permet ainsi au
programme. La carte Arduino est alimentée. C'est bien évidemment une
fonction indispensable contenu en mémoire du microcontrôleur de
démarrer automatiquement dès que phase de développement de
programme.
En effet, lorsque l'on a terminé l'écri- rure d'un programme destiné à
l'Arduino sur le micro-ordinateur utilisé pour cela (PC ou Mac peu importe) il
faut programmer la mémoire du microcontrôleur de application qui se
respecte puisque celle-ci doit démarrer sans nécessiter dans toute » est n'est
généralement utilisée qu'en L'autre source de reset est plus « discrète
Arduino avec ce dernier. Pour cela, on fait apPpel à un petit programme
spécial, TAs un s bootloader », déjà contenu dans la mémoire du
microcontrôleur. Cela fonctionne de la façon suivante. Suire à un reset,
le bootloader est activé et attend de recevoir des informations de
programmation via le port USB de l'Arduino. S'il ne les reçoir pas, il lance
l'exé- cution du programme déjà contenu en mémoire du microcontrôleur ce
qui fait dėmarrer l'applicarion correspondante. S'il les reçoit, il utilise alors
les données qui lui parviennent ensuite via le port USB pour programmer la
mémoire de programme du microcontrôleur. Lorsque l'on est en phase de
développement de programme, on effectue très souvent des opérations de
programmation de la mémoire du microcontrôleur afin de tester le
programme que l'on écrit au fur et à mesure de son avancement. Pour ne
pas devoir à chaque fois appuyer sur le poussoir de reset puis lancer
manuelle- ment la programmation, le reset peut être provoqué directement,
depuis le logiciel de développement et via le port USB, chaque fois que l'on
souhaite programmer la mémoire du microcontrôleur. C'est donc là sa
troisième source de reset.

l - 7 - Les entrées/sorties :

_ Les entrées/sorties de l'Arduino sont les éléments avec lesquels vous serez
le plus souvent en contact. En effet, c'est par leur intermédiaire que le
microcontrôleur de l'Arduino communique avec le monde extéricur et donc
avec les cartes d'interface ou shields, que ce soient des modèles
commerciaux ou des cartes de votre cru. Voici donc ce qui est à votre
disposition pour cela sur les Arduino Uno. 9
a) Entrées/sorties numériques :

_ Quatorze lignes d'entrées/sorties numériques parallèles, repérées 0 à 13,


sont dispo- nibles ; chacune d'entre elles pouvant fonctionner en entrée ou
en sortie sous le contrôle du programme et ce sens de fonctionnement
pouvant même changer de manière dynamique pendant son exécution. Ces
entrées/sorties admettent et déli- vrent des signaux logiques compatibles
TTL c'est-à-dire compris entre 0 et 5 volts. Sans l'aide d'aucun composant
extérieur (voir pour cela les chapitres 4 et suivants), elles peuvent absorber
ou délivrer un courant maximum de 40 mA. Attention ! Méme si chaque
sortic peut théoriquement fournir ou absorber jusqu'à 40 mA, le courant
total fourni ou absorbé par l'ensemble des sorties ne saurait en aucun cas
dépasser 200 mA. Ces lignes partagent cependant leur ròle avec certaines
interfaces spécialisées conte- nues dans le microcontrôleur.
Si ces interfaces ne sont pas utilisées par l'application, les entrées/sorties
parallèles fonctionnent comme telles. Si ces interfaces sont utili- sées par
l'application, les lignes d'entrées/sorties parallèles qui sont partagées avec
elles ne sont évidemment plus disponibles en tant que telles.
Sous ces conditions de partage on peut ainsi disposer de: une entrée (Rx) et
une sortie (Tx) série asynchrone, partagées respectivement avec les lignes 0
et 1; deux entrées d'interruptions externes partagées avec les lignes 2 et 3;
six sorties PWM (Pulse Width Modulation ou modulation de largeur d'impul-
sions) partagées avec les lignes 3, 5, 6, 9, 10 et 11; quatre entrées/sorties
d'interface avec le bus série normalisé de comme suit; /SS sur 10, MOSI sur
11, MISO sur 12 et SCK sur 13; deux entrées/sorties d'interface série 12C
réparties comme suit : SDA sur A4 et SCL sur A5 ; type SPI réparties depuis la
Révision 3 de l'Arduino, les lignes SDA et SCL du bus 12C sont égale- ment
disponibles sur leurs propres pinoches du connecteur destiné aux cartes
d'interface mais attention, cela ne signifie pas que SDA et SCL sont devenues
indépendantes de A4 et A5. Elles restent tout de même partagées avec ces
lignes. Nous verrons bien évidemment, à partir du chapitre 4, comment
programmer et utiliser ces différentes ressources pour réaliser vos propres
applications ou pour mettre en æuvre des shields du commerce.
Toutes ces entrées/sorties véhiculent des signaux numériques TTL, c'est-à-
dire des signaux logiques ou signaux de type « tour ou rien » dont le niveau
bas est nul et le niveau haut vaut 5 volts, mais l'Arduino sait aussi traiter les
signaux analogiques,

La figure 10 : lignes d'entrées/sorties


numériques

10
b) Entrées analogiques :

_ Il dispose pour cela de six entrées, repérées A0 à A5, qui peuvent


admettre toute tension analogique comprise entre 0 et 5 volts (par défaut
mais cela modifié), mais pouvant bien sûr prendre n'importe quelle valeur
dans cette plage puisque ce sont
des entrées analogiques, contrairement aux signaux logiques évoqués
précédemment. Ces entrées analogiques sont gérées par un convertisseur
analogique/numérique de 10 bits de résolution c'est-à-dire encore dont la
sortie peut varier de 0 à 1023.

La figure 11 : Entrées analogiques

La figure présente brochage des connecteurs présents sur le pourtour des


cartes
Arduino; connecteurs sur lesquels on retrouve bien sur tous les signaux que
nous venons de décrire.

l - 7 - Programmation ISP ou programmation en


circuit :

_ La programmation en circuit, appelée en général dans les documentations


américaines ISP, ce qui veut dire « in system programming », ou encore ICSP
pour « in circuit serial programming » est apparue il y a quelque temps déjà
avec les « gros » circuits logiques programmables tels que les GAL, LCA et
autres réseaux de portes. Elle s’est depuis étendue à une partie du monde
des microcontrôleurs dont les circuits AVR d’Atmel font partie.
Ce mode de programmation repose sur l’utilisation d’une liaison série un peu
particulière, soit qu’elle existe déjà en tant que telle dans le microcontrôleur
concerné, soit que certaines de ses pattes se voient détournées de leur
fonction première lorsque cette programmation a lieu.
Dans tous les cas, son principe général est de n’utiliser qu’un minimum de
pattes du microcontrôleur afin qu’il soit possible de programmer ce dernier
alors qu’il est déjà en place dans l’application finale, quitte à devoir prévoir
sur cette dernière quelques commutateurs, manuels ou électroniques, afin
d’isoler provisoirement les pattes nécessaires pendant cette phase de
programmation. 11
Dans le cas des microcontrôleurs Atmel, la liaison série utilisée pour cette
programmation en circuit est la liaison série synchrone ou SPI.
Elle peut exister en tant que véritable ressource interne, comme c’est le
cas sur les plus «gros » circuits de la famille AVR, ou être seulement
présente pour cette phase de programmation en circuit, comme c’est le cas
pour les plus petits circuits.
Cette liaison fait appel à trois lignes, dont les appellations se retrouvent
d’ailleurs sur tous les microcontrôleurs disposant d’une SPI (68HC11 de
Motorola ou 16F876 de Microchip par exemple). On rencontre donc :

1- SCK qui véhicule l’horloge de dialogue.


2- MOSI qui véhicule les données dans le sens programmateur vers
microcontrôleur et qui sert donc à l’envoi des données à programmer.
3- MISO qui véhicule les données dans l’autre sens et qui sert donc à
relire le microcontrôleur.

La figure 12 : programmation en circuit

Afin de pouvoir commander correctement le processus de programmation


en circuit, il faut aussi pouvoir accéder à l’entrée de reset du
microcontrôleur car c’est au moyen de cette dernière que l’on fait passer
les circuits Atmel en mode programmation en circuit.
Une application prévue pour supporter la programmation en circuit
d’un microcontrôleur Atmel adopte donc le schéma de principe présenté
figure ci-dessus. Les straps visibles sur cette figure peuvent évidemment
être réalisés de multiples façons : straps ordinaires, interrupteurs
mécaniques ou interrupteurs électroniques.

12
l - 9 - L’environnement de développement (EDI) de
l’ARDUINO :
_ Les cartes de prototypage programmables ARDUINO sont des outils de
développement et d’apprentissage de l’électronique et de la
programmation. Le processus de développement suit les étapes suivantes :
montage électronique, programmation sur ordinateur, télé versement
(téléchargement) du programme vers la carte. Suite au télé versement, le
programme s’exécute et le montage électronique produit son œuvre. Le cas
échéant, l’utilisateur corrige le montage électronique et/ou le programme le
cas échéant.
Les programmes pilotant ces montages électroniques sont rédigés dans l’EDI
(Environnement de Développement Intégré) ARDUINO fourni avec la carte
de prototypage.

Dans l’environnement ARDUINO, un programme est appelé


croquis(ou sketch en anglais). Le langage de programmation est basé sur
le langage C.
L’EDI propose des nombreux exemples préparamétrés (pour commander des
moteurs, allumer des LED…) pour s’initier et comprendre le fonctionnement
d’un programme. Pour les retrouver, rendez-vous dans le menu Fichier puis
Exemples.
Les programmes Arduino comportent trois parties :
1- Déclaration des variables et constantes globales.
2- Fonction Setup() : exécutée au démarrage du programme ou lors de
l’appui sur le bouton Reset .
3- Fonction Loop() : boucle exécutée sans fin (enfin tout pendant que
l’Arduino est sous tension).
13
Mêmes vides, la présence des fonctions Setup et Loop est indispensable dans
un programme Arduino. Ces deux fonctions sont une particularité propre aux
programmes ARDUINO. En effet, dans les programmes en langage C, c’est la
fonction Main() qui est obligatoire. Les fonctions sont introduites par le mot
clef Void. Le code à exécuter est rédigé entre les accolades {et}.
Squelette d’un croquis ARDUINO :
const int LED=2; //exemple de déclaration de constante
globale
void setup()
{

}
void loop()
{
}

L’Environnement de Développement Intégré Arduino est très simple. Il se


lance sans installation, à partir de l’exécutable arduino.exe. Le langage de
programmation est le langage C ou C++. De très nombreuses fonctions
sont fournies. Leurs noms sont choisis pour une utilisation « intuitive ».
Exemple :
digitalWrite(13, HIGH) ; écriture d’un 1 sur la sortie 13
13 est le numéro de la sortie repérée sur le connecteur.
Des exemples sont fournis dans le dossier example. Le plus simple est dans le
sous dossier Blink. Dans cet exemple, le programme se compose uniquement
d’une suite de fonctions.

Une icône permet de compiler le programme et de transférer l’exécutable


dans le µC cible via la liaison USB. L’EDI et son utilisation sont décrites plus
en détail sur la partie consacrée à l’EDI.
14
l - 10 - Structure générale d’un sketch :

_ Un programme Arduino valide doit au moins intégrer les


fonctions setup et Loop. Tous les autres éléments sont facultatifs, mais
doivent être placés au bon endroit.
Un programme Arduino comporte trois parties :

1- la partie déclaration des variables (optionnelle)


2- la partie initialisation et configuration des entrées/sorties :
la fonction setup ()
3- la partie principale qui s'exécute en boucle : la fonction loop ()
Dans chaque partie d'un programme sont utilisées différentes instructions
issues de la syntaxe du langage Arduino.

15
Chapitre 02 :
Réalisation d’un Commande
de deux loquets glissants via
applications Android
ll - 1 - Introduction :
L’être humain cherche toujours à mettre en place un système de sécurité et
de surveillance fiable afin de protéger ses biens immobilier et les locaux
collectifs contre les intrusions et les prévenir contre le vol. Les serrures ont
pour but d’assurer cette tache depuis longtemps et ne cesse pas à évoluer
jusqu’au nos jours dont on trouve des serrures dites intelligentes permet
de gérer l’accès aux endroits privé d’une manière très pratique. L’évolution
technologique a permis le développement des systèmes de sécurité qui
deviennent de plus en plus performants. Cette évolution est due
essentiellement à l’utilisation des applications de l’électronique
modernedu point de vue communication entre les périphériques de
commande (Bluetooth, WIFI, Infra rouge...) et coté composants
(microcontrôleurs programmables, carte ARDUINO..). Il existe une grande
variété de serrures adaptées à tous types de portes et portillons, parmi eux
la serrure électrique dont elle est fabriqué en acier renforcé et ne peut pas
être percée ou coupée. Cette technologie de fabrication ajoute une grande
amélioration par rapport à la serrure traditionnelle. Notre projet consiste à
la réalisation d’une serrure électronique codée à l’aide d’une carte ARDUINO
UNO. La première et les deuxièmes serrures sont contrôlées par l'application
Android, qui contient des commandes de verrouillage en appuyant dessus.
Les première et deuxième serrures s'ouvrent et se ferment simultanément,
en plus d'ouvrir et de fermer la première seule. Il en va de même
parfaitement pour le deuxième serrure, et c'est ce qui facilite l'ouverture des
portes par Après cela, sans intervention humaine, il ne pousse que la porte à
l'ouverture et la ramène à la fermeture. C'est ce que comprend notre projet.
Dans notre mémo, nous verrons comment travailler et quels outils ont été
utilisés dans ce projet. Notre projet vise à faciliter le travail qu'une personne
effectue dans sa vie quotidienne en utilisant uniquement l'application
Android sur son téléphone, par exemple, s'il est au deuxième étage, l'un
d'eux frappe à la porte et clique simplement sur l'ouverture dans une
application, puis la porte s'ouvre sans qu'il soit nécessaire de descendre
de l'étage supérieur à l'étage inférieur pour ouvrir la serrure. Facilite le
travail de tous ceux qui veulent ouvrir la porte. L’endroit concerné sans qu'il
soit nécessaire de perdre du temps et d'attendre. Et nous avons utilisé dans
notre projet les cas dans lesquels se trouve la serrure de porte, et nous
l'aborderons et le mentionnerons dans notre note plus tard.
La question est de savoir comment ouvrir les premier et deuxième verrous
par l'application Android ?

17
ll - 2 - Matériels utilises notre Project :

a) servomoteur avec Arduino Uno :


_ Les servomoteurs, souvent abrégés en « servo » tout court par leurs
utilisateurs, sont des moteurs d'un type particulier, très appréciés pour faire
tourner quelque chose jusqu'à une position bien précise et capable de
maintenir cette position jusqu'à l'arrivée d'une nouvelle instruction. Ils sont
très utilisés dans le modélisme (direction des voitures télécommandées,
commande des gouvernes de dérive et de profondeur sur les avions, etc.),
mais ont aussi leur place dans la robotique et l'industrie par exemple dans
des vannes pour réguler des flux de liquides.

ll - 2- a - Un servomoteur dit « 9 grammes » très répandu dans le monde de l'Arduino.

Dans ce chapitre, nous allons apprendre à utiliser le plus répandu des


servomoteurs en modélisme et dans la petite électronique, il s'agit des
modèles dits 9 g, pour 9 grammes. Extérieurement, il se présente sous la
forme d'un petit rectangle, avec deux petits rebords sur les côtés pour le
fixer solidement et un axe décentré sur lequel on peut fixer des bras
interchangeables pour assurer la liaison mécanique avec la pièce qui doit
bouger. Même s'il existe de servomoteurs à rotation continue, l'immense
majorité des modèles sont capables de bouger leur bras sur 180° seulement.
18
Vu de l'intérieur, un servomoteur est un peu plus complexe qu'il n'en a l'air :

ll - 2- a - Ingrédients servomoteur
Un petit moteur à courant continu est relié à un potentiomètre (résistance
variable) par l'intermédiaire d'un circuit électronique ce qui permet de
contrôler finement le moteur en fonction de la position du potentiomètre.
Sur l'axe de sortie du moteur, une série d'engrenages permet d'augmenter
son couple (sa force utile) en réduisant sa vitesse de rotation.
Quand le moteur tourne, les engrenages s'animent, le bras bouge et entraîne
dans son mouvement le potentiomètre. Si le mouvement s'arrête, le circuit
électronique ajuste en continu la vitesse du moteur pour que le
potentiomètre et donc par extension le bras du moteur reste toujours au
même endroit. C'est ce qui permet par exemple à un bras d'un robot de ne
pas retomber sous l'effet de son propre poids lorsque le mouvement
s'arrête !

Ceci s'applique au déverrouillage de la porte où le moteur déplace la serrure


à un angle de 90° Et fermez-le directement Utilisation d'un servomoteur
avec l’Arduino.

19
Pour commander un servomoteur, il faut lui envoyer un train d'impulsions
dont la période (intervalle de temps entre chaque impulsion) est toujours de
20 ms (millisecondes). Ce qui va varier et qui finalement déterminera la
position du bras n'est pas la période, mais bien la durée de l'impulsion :
1- pour une impulsion de 1 ms, le servomoteur se met en position 0°.
2- pour une impulsion de 1,5 ms, le servomoteur se met en positon 90°.
3- pour une impulsion de 2 ms, le servomoteur se met en position 180°.

Ce schéma rappelle le PWM que l'on a utilisé pour faire varier l'intensité
d'une LED
Par exemple, le principe en est effectivement très semblable, avec un train
d'ondes rectangulaires puisque les données transmises sont digitales
(HIGH ou LOW) sans valeurs intermédiaires.
La connexion d'un servomoteur ne pose pas de difficulté. Le fil rouge se
connecte à l'alimentation (5 V), le fil noir se connecte au ground (GND) et
le fil jaune (attention parfois blanc ou orange ou… suivant le matériel dont
dispose le fabricant chinois ?) à n'importe quelle sortie numérique de
l'Arduino (pin 0 à 13).

20
ll - 2 - a - Circuit servo moteur avec Arduino Uno

a - 1 - Fonctions utilisées
1. Servo myservo
Cela crée un objet nommé myservo de la classe Servo.

2. myservo .attach (broche)


Cette fonction attache la variable servo à une broche.
La broche est le numéro de broche auquel le servo est attaché.

3. myservo .write (angle)


Cette fonction écrit une valeur sur le servo, contrôlant ainsi la position de
l'arbre.
L'angle peut prendre des valeurs comprises entre 0 et 180.

4. carte (valeur, de bas, de haut, vers bas, vers haut)


Cette fonction est utilisée pour mapper un nombre d'une plage à une autre
plage.
Cela signifie que "value" ayant une valeur comprise
entre "fromLow" et "fromHigh" est convertie en valeurs équivalentes dans la
plage de "toLow" à "toHigh " . "fromLow" est mappé sur "toLow" et ainsi de
suite.
21
ll - 3 - Un programme servomoteur avec l'Arduino :

22
23
b) LED avec Arduin Uno :
Qu'est-ce qu'une LED ?

Une LED est une diode qui émet de la lumière. Comme toute diode elle
comporte une anode (borne +) qui est la patte la plus longue et une cathode
(borne -) qui est la patte la plus courte.
Pour qu'une LED s'allume il faut obligatoirement relier sa patte - à la borne -
de l'alimentation et sa patte + à la borne + de l'alimentation. Si la LED est
branchée à l'envers elle ne s'allumera pas (le courant ne la traversera pas).

b- 1 - Objectif LED avec Arduin Uno :


L’objectif de ce tutoriel consiste à allumer une LED par la carte Arduino.
Dans ce projet on se propose de piloter une LED avec une carte Arduino UNO
et de la faire clignoter à une vitesse d'un clignotement par seconde

b - 2 - Composants nécessaires :
1- carte Arduino UNO
2- LED rouge
3- résistances de 220Ω
4- des fils de connexion
5- plaque d’essai

b - 3 - Montage
Quant au montage, il est facile de connecter des LED à Arduino.

 On connecte borne numérique (digital) numéro 1 de la carte Arduino


à la patte de la résistance
 Puis, on connecte la deuxième patte de la résistance à l’anode (borne
+) de la LED
 Finalement on branche la cathode (borne -) de LED à la GND
de l’Arduino.

24
3 - Montage LED avec Arduin Uno

Le branchement de la LED avec la résistance en série est réalisé comme


illustré ci-dessous
La borne + de la LED (patte longue) est en position g1 et la borne - (patte
courte) est reliée à une patte de la résistance, l'autre patte de la résistance
arrive sur un connecteur de la ligne noire qui sera utilisée comme ligne de
masse.
Pour terminer, il reste à relier l'ensemble à la carte Arduino. La ligne de
masse de la plaque de prototypage est reliée à une des bornes GND de la
carte (GND est une borne - ou borne de masse). La borne + de la LED est
reliée à la borne numérique (digital) numéro 2 de la carte.

25
b - 4 - Programmation :
Pour assurer le pilotage du montage électronique, il faut écrire un
programme avec un logiciel spécial dédié à la plateforme Arduino. Ce logiciel
se présente comme un simple éditeur de texte dans lequel on entre les
instructions.

Les deux boutons circulaires en haut à gauche sont essentiels. Le premier


sert à vérifier que le programme ne comporte pas d'erreur de syntaxe en Le
compilant. En effet le texte du programme ne peut pas être exécuté
directement par le microprocesseur de la carte Arduino. La phase de
compilation consiste à traduire le texte du programme en ce qu'on appelle le
langage machine qui est directement exécutable par le microprocesseur.
Pour que la compilation aboutisse il faut que le texte du programme ne
comporte aucune erreur de syntaxe. Cela nécessite de respecter
rigoureusement les noms des instructions, l'emploi des parenthèses, des
accolades et des crochets ainsi que des virgules et points-virgules.
Le mémento de la platine Arduino résume les instructions disponibles ainsi
que leur syntaxe.
Une fois la compilation réussie il reste à transférer le programme compilé
dans la mémoire du microcontrôleur de la carte Arduino. Cette tâche est
réalisée avec le second bouton. Il faut au préalable relier la carte Arduino à
une prise USB de l'ordinateur.
26
b- 5 - Explications du programme :
Le programme qui permet de piloter le montage est le suivant :

Le code est composé de deux fonctions. La première fonction est définie par

Son nom est setup. Le mot clé void indique que la fonction ne retourne pas
de résultat. Le corps de la fonction est constitué d'une seule instruction qui
règle la borne numérique numéro 2 de la carte Arduino en mode sortie
(OUTPUT), c'est à dire qu'il sera possible de programmer sur cette borne
l'absence (0V) ou la présence (+5V) de courant.
La fonction setup est automatiquement exécutée une seule fois lorsque le
programme demarre. C'est dans cette fonction qu'il faut mettre toutes les
initialisations nécessaires au fonctionnement du programme.
La seconde fonction est définie par :

Elle s'appelle loop et comme son nom l'indique cette fonction s'exécute
indéfiniment en boucle. Pour obtenir le clignotement de la LED il faut
utiliser l'instruction digitalWrite qui permet de commander la présence ou
non de courant sur une borne numérique de la carte Arduino. Plus
précisément la séquence de commandes utilisées est la suivante :

1- Du courant est envoyé sur la borne 2, du coup la LED est alimentée et


elle s'allume,
2- l'instruction delay(1000) fait « patienter » le programme 1000 ms, soit
une seconde, durant cette seconde la LED reste allumée,
3- la commande digitalWrite (2, LOW) provoque l'absence de courant sur
la borne 2 : la LED s'éteint.
4- le programme patiente encore une seconde, pendant cette seconde la
LED est éteinte.
Comme précisé plus haut, la fonction loop s'exécute en boucle. Dès que
toutes les instructions de la fonction ont été exécutées, elles s'exécutent de
nouveau. Ainsi le programme provoque le clignotement de la LED avec une
fréquence d'une seconde. 27
c) Bluetooth avec Arduin Uno :

C - 1 - Création de l’application avec AppInventor :


On va créer une application mobile nommée ‘Bluetooth arduino’ avec
App Inventor qui permet de connecter le smartphone à la carte Arduino.
Nous sommes entrés sur un site qui nous permet d'installer et de faire
cette application.
Pilotage Bluetooth de son montage arduino
Matériel nécessaire :
Platine arduino uno + module réception Bluetooth + 2 dels + 1
résistance + 2 servo motor
- Un smartphone ou tablette
- Les applications suivantes : MitAppAventor

Ecrire le programme de l'interface de pilotage dans app inventor2


Un bouton CONNEXION active la connexion Bluetooth, puis s'affiche l’état
de la connexion (en attente, connecté, déconnexion). Un bouton permet
de se déconnecter.
Pour chaque Led+servo motor,6boutons ON-OFF/Yes-NO/W-l permettent
d'activer ou désactiver la led +servo motor concernée.

28
C - 2 - Programmation avec App Inventor :
Pour programmer l’application, App Inventor nous propose d’utiliser
L’espace Blocs qui permet de créer un programme sous forme de
schéma bloc. Très simple d’utilisation mais nécessitant un peu de logique
de programmation.

29
C - 3 - Récupérer l'application dans son smartphone ou
tablette :
- dans Mit App Inventor 2 Lancer la connexion par le menu Connecte...>

- Rechercher Bluetooth dans les contacts de l'application

- Appuyez ensuite sur les boutons qui représentent les choses afin d'ouvrir
ou de fermer.

30
ll - 4 - Montage globale :

Circuit de montage

Montage sur les portes


31
ll- 5 - Conclusion :

C'était le sujet de notre mémo, qui portait sur la façon d'ouvrir la


première et la deuxième portes grâce à l'application Android, et nous
avons conclu au final que le projet que nous avons mené visait à
faciliter le travail de l'humain dans son quotidien, pour résoudre ses
problèmes et faire plus de protection pour l'utilisateur. Et pour
faciliter la tâche de ceux qui utilisent ce projet.

32
Conclusion générale
Conclusion générale:

La puce Arduino a contribué à faciliter le travail humain en faisant des projets


qui contribuent à aider l'utilisateur, qui programme et coordonne le projet pour
son utilisation, et parmi eux se trouve ce projet que notre cahier a traité. Et des
projets qui construisent et faciliter le travail que nous faisons dans nos vies, et ce
n'est pas lié à Arduino, tous les langages de programmation connus, donc nous
créons des projets. Et à la fin, nous espérons que vous avez apprécié cet article.

34
Référence

Extrait d'un livre:


1- Le grand livre d’Arduino (L’Arduino_Historique)
2- Arduino maitrisez sa programmation et ses cartes
d’interface (shields)

Emplacements:
https://www.robotique.tech/tutoriel/connecter-la-carte-arduino-au-smartphone-via-le-
bluetooth/ 14/04/2022

https://www.robotique.tech/tutoriel/allumer-une-led-par-arduino/ 20/04/2022

https://nboulaire.developpez.com/tutoriels/Arduino/cours-debuter-programmation-arduino/
23/04/2022

https://sciences-du-numerique.fr/projet-arduino-pour-la-specialite-isn/led-clignotante/7
1/05/2022

https://www.electronicaembajadores.com/fr/Productos/Detalle/LCA1008/modules-
electroniques/arduino/arduino-leonardo-a000057 15/05/2022

https://jeem2.com/experiences-and-projects/servo-motor/ 04/05/2022

https://www.reichelt.com/de/en/led-5-mm-low-current-2-ma-green-led-5mm-2ma-gn-
p21625.html 15/15/2022

https://sites.google.com/site/technocollegeautant3eme/app-inventor-2/--commande-arduino-
avec-appinventor2-en-bluetooth 01/04/2022

https://arduino.developpez.com/tutoriels/arduino-a-l-ecole/?page=projet-12-utiliser-un-
servomoteur 17/04/022

http://schema-montage-electronique.blogspot.com/2011/04/programmateur-en-circuit-
pour.html 05/05/2022

https://arduino.developpez.com/tutoriels/cours-complet-arduino/?page=programmer-arduino
20/04/2022

https://www.locoduino.org/spip.php?article16 25/04/2022

http://perso-laris.univ-angers.fr/~delanoue/polytech/microcontroleur/ArduinoCottenceau19-
20.pdf 01/05/2020

35
Résumé :
Ce projet est lié à la résolution des problèmes qui existent dans certains
endroits tels que les hôpitaux, les maisons, les entreprises et autres. Le projet
permet d'ouvrir la porte et cela en utilisant l'application Android. Lors de son
utilisation, le moteur déplace la serrure lors de l'ouverture ou de la fermeture
Ce modèle se caractérise par un fonctionnement automatique et ne contient
que deux moteurs, des fils électriques et deux led.

Aussi, la programmation Arduino, à travers laquelle nous contrôlons l'angle


d'ouverture et de fermeture du moteur, et la matière est comme celle de la
led.

Mots clés : carte Arduino, moteurs, langage de programmation, led,


servomoteur.

Abstract :
This project is related to solving problems in some places, such as hospitals,
homes, companies and others. The project allows opening the door and that by
using the Android application. When using it, the motor moves the lock when
opening or locking. This model is characterized by automatic operation and
contains only two motors, electric wires and two led

Also, program the Arduino, through which we control the angle of opening and
closing of the motor, and the matter is like that of the led.

Keywords: Arduino card, motors, programming language, led, servomotor .

: ‫ملخص‬
‫هد المشروع يتعلق بحل المشاكل الموجودة في بعض من االماكن مثل المستشفيات المنازل الشركات‬
‫وغير فهدا المشروع يسمح بفتح الباب ودالك بواسطة تطبيق اندر ويد الدي عند استعماله يقوم المحرك‬
‫بتحريك القفل عند الفتح او القفل ويتصف هدا النموذج بتشغيل األلي ويحتوي فقط على محركين و‬
.‫اسالك كهربائية ومصباحين‬

‫كدلك برمجة االردوينو التي من خاللها نتحكم في زاوية الفتح والغلق لدى المحرك واالمر كدالك بنسبة‬
.‫للمصباح‬

.‫ محرك المؤازر‬،‫ مصابيح‬،‫ لغة البرمجة‬،‫ المحركات‬،‫ بطاقة اردوينو‬:‫الكلمات المفتاحية‬

36

Vous aimerez peut-être aussi