Vous êtes sur la page 1sur 27

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

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 Technologie
Département de Génie Electrique ‫قســــم الهندسة الكهربائية‬

Mémoire de fin d’étude en vue de l’obtention du diplôme de Licence en


télécommunication
Spécialité: Télécommunication

Thème : 

Conception d'un contrôleur FM d'une station


FM à distance

Présenté par : Melles Limam Safa et Simoud Intissar

Dr : Kadri.B Encadreur

Année universitaire : 2019/2020


Remerciements

Nous remercions tout d’abord ALLAH le tout


puissant de nous avoir donné la patience, la santé et la
volonté pour réaliser ce mémoire.

Nos remerciements vont également à nos parents


pour tous les sacrifices qu'ils ont consentis pour nous
permettre de suivre nos études dans les meilleures
conditions possibles et n’avoir jamais cessé de nous
encourager tout au long de nos années d'étude.

En préambule à ce mémoire, nous souhaitons


adresser nos remerciements les plus sincères aux
personnes qui nous ont apporté leur aide et qui ont
contribué à l’élaboration de ce mémoire.

On tient à remercier sincèrement Monsieur Kadri B


qui, en tant qu’encadreur.
I

Dédicace

Nous dédions ce modeste travail spécialement :


A Nos chers Parents
A nos frères et sœurs
A la famille Limam et Simoud
A nos chères amies
A Toutes ces personnes et à celles que nous
avons oublié nous adressons nos sentiments les
plus chaleureux.
‫ملخص‬ II

III
ABSTRACT
IV

RÉSUMÉ
Liste des abréviations
V

VI
Liste des figures

Liste des photos


VII
Listes de tableaux
VIII
IX
Sommaire
Remerciement………………………………………………………………………………..…..I
Dédicace…………………………………………………………………………………………II
‫الملخص‬...........................................................................................................................................III
Abstract……………………………………………………………………………..…………..IV
Résumé………………………………………………………………………………………….V
Liste des abréviations……………..……………………………………………………………VI
Liste des figures………………………………………………………………………………..VII
Liste des photos………………………………………………………………………………..VII
Liste des tableaux………………………………………………………………………………IX
Sommaire……..…………………………………………………………………………………X

Introduction général
Chapitre I : Généralités
I.1 Introduction
I.2 Historique du projet Arduino
I.3 Définition de la carte Arduino
I.4 Présentation générale de module Arduino
I.5 Présentation générale de module Arduino
I.5.1 Arduino UNO
I.5.2 Arduino Nano
I.5.3 Arduino Due
I.5.4 Arduino Mega 2560
I.5.5 Arduino Leonardo
I.6 Arduino nano
I.6.1 Définition
I.6.2 Alimentation de la carte nano
I.6.3 Mémoire
I.6.4 Entrées et sorties
I.6.5 Les caractéristiques techniques générales de l’Arduino Nano
I.6.6 Reset
I.6.7 Fonctionnement de la carte Arduino Nano
I.6.8 Les avantages de l’Arduino Nano
I.7 Le module GSM800l:
I.7.1 Définition
I.7.2 Montage
I.7.3 Les AT commandes (Commandes Hayes):
I.7.4 Caractéristiques techniques
X
I.8 Conclusion
Introduction générale XI
Chapitre I:
Généralités sur
Arduino

I.1 Introduction:
Le système Arduino donne la possibilité d'allier les performances de la programmation à celles
de l'électronique. Plus précisément, pour programmer des systèmes électroniques. Le gros
avantage de l'électronique programmée c'est qu'elle simplifie grandement les schémas
électroniques et par conséquent, le coût de la réalisation, mais aussi la charge de travail à la
conception d'une carte électronique.
Arduino est un circuit imprimé en matériel libre sur lequel se trouve un microcontrôleur qui peut
être programmé pour analyser et produire des signaux électriques, de manière à effectuer des
tâches très diverses comme la domotique (le contrôle des appareils domestiques - éclairage,
chauffage…), le pilotage d'un robot, etc.

Le langage Arduino se distingue des langages utilisés dans l’industrie de l’informatique


embarquée de par sa simplicité. En effet, beaucoup de librairies et de fonctionnalités de base
occulte certains aspects de la programmation de logiciel embarquée afin de gagner en simplicité.
Cela en fait un langage parfait pour réaliser des prototypes ou des petites applications.

Les possibilités des cartes Arduino sont énormes, un grand nombre d’application ont déjà été
réalisée et testées par bon nombre d’internautes.

Dans ce chapitre nous allons voir une présentation générale du système Arduino Nano,et aussi un
aperçu, bref du module GSM 800l

I.2 Historique du projet Arduino:


Pour clore cet avant-propos, je vous propose un petit rappel historique sur les débuts d’Arduino.
Comment en sommes-nous arrivés là ? En 2005, un projet dont personne 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
l’un des développeurs et cofondateurs de la société Arduino LLC. Pour l’anecdote, le nom
Arduino a été emprunté à un bar d’Ivrée où se réunissaient régulièrement les instigateurs du
projet. [1]
Le projet Arduino est issu d'une équipe d'enseignants et d'étudiants de l'école de Design
d'Interaction d'Ivrea (Italie). Ils rencontraient un problème majeur à cette période (avant 2003 -
2004) : les outils nécessaires à la création de projets d'interactivité étaient complexes et onéreux
(entre 80 et 100 euros). Ces coûts souvent trop élevés rendaient difficiles le développement par
les étudiants de nombreux projets et ceci ralentissait la mise en œuvre concrète de leur
apprentissage. En 2003, Hernando Barragan, pour sa thèse de fin d'études, avait entrepris le
développement d'une carte électronique dénommée Wiring, accompagnée d'un environnement
de programmation libre et ouvert. Pour ce travail, Hernando Barragan réutilisait les sources du
projet Processing. Basée sur un langage de programmation facile d'accès et adaptée aux
développements de projets de designers, la carte Wiring a donc inspiré le projet Arduino
(2005). [2]

I.3 Définition de la carte Arduino:


La carte Arduino est un circuit imprimé spécifiquement conçu pour héberger un
microcontrôleur et donner accès à toutes ses entrées et sorties. Elle comprend aussi quelques
autres composants électroniques qui permettent de faire fonctionner le microcontrôleur ou d’en
étendre les fonctionnalités.

Un microcontrôleur est un petit ordinateur confiné dans un unique circuit intégré (une puce). Il
constitue un excellent moyen pour programmer et pour contrôler des équipements électronique.
Il existe une grande variété de telles cartes à microcontrôleur, certaines des plus utilisées sont la
platine Wiring, le PIC, le Basic stamp et bien sur Arduino. [3]

:I.4 Présentation générale de module Arduino


Arduino est une gamme de circuits électroniques open source basés pour la plupart sur un
microcontrôleur du fabricant Atmel. Ces circuits intègrent les composants nécessaires pour
permettre une utilisation rapide et simple du microcontrôleur. Cette simplification vise à rendre
accessibles à tous : la création et la programmation d’objets ou dispositifs interactifs. Ces objets
peuvent contenir toutes sortes de capteurs, d’indicateurs lumineux ou d’interrupteurs que l’on
souhaite faire intervenir.

Entre autres, les cartes Arduino sont équipées de connecteurs standardisés pour brancher des
modules compatibles appelés ‘shields’. Ces derniers sont des circuits d’une taille plus ou moins
semblable à celle de l’Arduino et qui viennent s’empiler sur ces connecteurs. Ils proposent des
extensions matérielles qui permettent d’ajouter des fonctionnalités originales à son projet. En
plus de ces connecteurs, les cartes possèdent toutes une connectique USB permettant de
programmer facilement le microcontrôleur qu’elles embarquent. Arduino propose en plus
gratuitement un environnement de développement intuitif avec lequel la création de programmes
est simple, même pour les débutants. De plus, cet environnement est compatible avec les
principaux systèmes d’exploitation : Windows, Mac OS et Linux. [4]

I.5 Les différentes cartes Arduino:

 Arduino UNO
 Arduino Nano
 Arduino Due
 Arduino Mega
 Arduino Leonardo [5]

I.5.1 Arduino UNO:


L’UNO est sans dute 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. [5]

PhotoI.5.1.1: Arduino UNO

I.5.2 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.

PhotoI.5.2.1: Arduino Nano

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. [5]

I.5.3 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.

PhotoI.5.3.1: Arduino Due

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.
[5]

I.5.4 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.
PhotoI.5.4.1: Arduino Mega2560

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. [5]

I.5.5 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’enficher une 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. [5]

PhotoI.5.5.1: Arduino Leonardo

I.6 Arduino nano:


I.6.1 Définition:
La carte Arduino Nano est tout comme l'arduino uno, basée sur un ATMega328 couplé à un
quartz de 16 MHz. C'est en fait exactement l'équivalent d'une arduino uno mais dans un format
réduit compatible au format standard DIL30. De ce fait l'arduino nano peut être directement et
facilement insérée sur une breadboard ou soudée sur vos propres cartes électroniques, ce qui
facilite grandement son utilisation. Sa taille réduite (45 x 18 x 18 mm) et son poids très faible
(environ 5g) en fait un élément idéal pour les petits robots et autre systèmes électroniques
embarqués.
L'arduino nano se programme comme ses consoeurs avec l'iIDE Arduino 1.7.8 ou supérieur
disponible en téléchargement gratuit sur le site Arduino.  
L'arduino nano contient toute l'électronique nécessaire pour facilement programmer et utiliser le
microcontrôleur intégré. Il suffit simplement de connecter la carte à un ordinateur avec un câble
USB. [6]

:I.6.2 Alimentation de la carte nano


L’Arduino Nano peut être alimenté via la connexion USB Mini-B, ou par une alimentation
externe non régulée 6-20 V (broche 30) ou une alimentation externe régulée 5 V (broche 27). La
source d’alimentation est automatiquement sélectionnée pour la source de tension la plus élevée.
[7] 

:I.6.3 Mémoire
L’ATmega328P a 32 Ko, (également avec 2 Ko utilisé pour le bootloader) L’ATmega328P à 2
Ko de SRAM et 1 Ko d’EEPROM. [7]

I.6.4 Entrées et sorties:

Chacune des 14 broches numériques du Nano peut être utilisée comme entrée ou sortie, en
utilisant les fonctions pinMode (), digitalWrite () et digitalRead (). Les entrées sorties 
fonctionnent en 5 volts. Chaque broche peut fournir ou recevoir un maximum de 40 mA
(attention au courant cumulé) et dispose d’une résistance de pull-up interne (déconnectée par
défaut) de 20-50 kOhms. [7]

En outre, certaines broches ont des fonctions spécialisées:

 Série : 0 (RX) et 1 (TX). Utilisé pour recevoir (RX) et transmettre (TX) des données
série TTL. Ces broches sont connectées aux broches correspondantes de la puce série
FTDI USB-TTL. 
 Interruptions externes : 2 et 3. Ces broches peuvent être configurées pour déclencher
une interruption sur une valeur basse, un front montant ou descendant ou une
modification de valeur. Voir la fonction attachInterrupt () pour plus de détails.
 PWM : 3, 5, 6, 9, 10 et 11. Sortie PWM 8 bits avec la fonction analogWrite ().
 SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ces broches prennent en charge la
communication SPI, qui, bien que fournie par le matériel sous-jacent, n’est pas
actuellement incluse dans le langage Arduino.
 LED 13 : Il y a une LED intégrée connectée à la broche 13 numérique.
 Reset : passez cette ligne à LOW pour redémarrer le micro-contrôleur. habituellement
utilisé pour rajouter une fonction ou un bouton de reset directement sur les
shields/modules.
 AREF. : Tension de référence pour les entrées analogiques. Utilisé avec
analogReference. 
 Entrées analogiques : La carte dispose pour cela de 8 entrées, repérées de A0 à A7 , qui
peuvent admettre toute tension analogique comprise entre 0 et 5 V.
o Pour mesurer des tensions supérieures a 5 Volts il faut équiper l’entrée d’un pont
diviseur.
o Les broches analogiques 6 et 7 ne peuvent pas être utilisées comme broches
numériques. De plus, certaines broches ont des fonctionnalités spécialisées .
o Pour mesurer des tensions analogiques les cartes Arduino contiennent un
convertisseur analogique-numérique (A/N). Ce convertisseur a une résolution de
10 bits, renvoyant des résultats de mesure sous forme d’entiers de 0 à 1023. [7]

I.6.5 Les caractéristiques techniques générales de l’Arduino Nano:

 Microprocesseur : ATMega328
 Mémoire flash : 32 ko
 Mémoire SRAM : 2 ko
 Mémoire EEPROM : 1 ko
 20 broches d’entrées et sorties, dont 6 broches PWM et 6 broches d’entrées
analogiques 10 bits
 2 broches uniquement d’entrée analogique 10 bits
 Courant par entrées-sorties : 40 mA
 Fréquence d’horloge : 16 MHz
 Bus série, I2C et SPI
 Gestion des interruptions
 Prise USB : mini-USB B
 Boîtier DIL30
 Dimensions : 45 x 18 x 18 mm
 Poids : 5 g [8]
I.6.6 Reset:
La reset est une fonction physique permettant au microcontrôleur, comme son nom l’indique, de
réinitialiser son état. Un microcontrôleur exécute en effet les instructions contenues dans sa
mémoire de manière cyclique et infinie. Il n’est ainsi pas rare, notamment lors de la conception
de son circuit et infinie. Il n’est ainsi pas rare, notamment lors de la conception de son circuit,
que le programme soit soumis à une erreur bloquant le bon déroulement du programme. La
fonction reset permet alors d’interrompre le programme et de le remettre à zéro. Il est possible
d’effectuer cette même opération en coupant et en remettant le courant sur la carte Arduino. Lors
de sa mise sous tension, elle commencera toujours par reprendre le programme du début, ce qui
équivaut donc à une réinitialisation. Il est toutefois plus aisé d’utiliser cette fonction reset
matérialisée sur la carte par un bouton poussoir. [4]
I.6.7 Fonctionnement de la carte Arduino Nano:
Pour fonctionner, la carte Nano a besoin d’être alimentée par une prise mini-USB. Il est
également possible d’utiliser une source d’énergie externe aves les caractéristiques suivantes 6-
20V (pin 30). On peut également se servir d’une source d’énergie externe non régulée à 5 V (pin
25).
Pour la programmer, on peut utiliser le logiciel de programmation libre de droits disponible en
téléchargement et mis à disposition par Arduino.

Au moment de la programmation, les cartes cibles à choisir sont les suivantes :

 Arduino Diecimila
 Duemilanove ou Nano w/ ATmega16
 Arduino Duemilanove ou Nano w/ ATmega328 »
Il faut noter que le microcontrôleur ATmega328 de la carte Arduino Nano bénéficie d’un
bootloader. Celui-ci assure le téléchargement de nouveaux codes sans pour autant solliciter un
programmateur matériel supplémentaire. Toutefois, il existe une solution qui permet de se passer
du bootloader afin de programmer le microcontrôleur grâce au connecteur In-Circuit Serial
Programming. [8]

I.6.8 Les avantages de l’Arduino Nano:

L’Arduino Nano présente de nombreux avantages non négligeables :

 Taille
Comme mentionné un peu plus tôt, l’Arduino Nano est la version réduite ou simplifiée de
l’Arduino Uno. Elle possède pratiquement les mêmes fonctionnalités que son aînée. La
différence notable se situe au niveau du port USB. La connexion au PC se fait à l’aide d’un câble
micro-USB. Du fait de sa taille, la Nano s’avère un outil très utile et pratique pour les débutants
en programmation ou pour ceux qui souhaitent faire de la programmation par pur loisir. Sa taille
minime est un véritable atout pour les professionnels qui souhaitent réaliser des projets
nécessitant la conception de systèmes légers. [8]

 Un prix très faible


En termes de prix, la Nano coûte moins cher que la carte UNO. [8]

 Une puissante communauté


L’un des arguments forts de l’Arduino concerne sa communauté. En effet, elle dispose d’une
communauté dynamique et réactive qui permet aux projets de prendre forme. Cette plate-forme
d’entraide est composée de professionnels et d’amateurs partageant une passion commune : la
programmation. Ainsi, en cas de difficulté ou de blocage, il y a toujours un membre prêt à vous
aider. D’ailleurs, la plupart des projets ont déjà été exécutés par au moins un membre de la
communauté, ce qui permet de surmonter toutes les difficultés.

La communauté d’Arduino est tout simplement un centre de ressources accessible à toute


personne désireuse de faire de la programmation. On y trouve de nombreux liens utiles et des
posts touchant à des sujets aussi diversifiés que les membres de la communauté. Ainsi, en cas de
soucis particuliers avec un code, vous bénéficierez d’une aide et de précieux conseils. Si vous
débutez, n’hésitez pas à commander un kit de débutant Arduino et de demander à la communauté
lorsque vous avez un problème. [8]

 Compatibilité avec une planche à pain


Par rapport aux autres cartes Arduino au format plus grand, l’Arduino Nano a une longueur
d’avance, car elle ne présente pas un espacement irrégulier de broches. Cela lui permet donc
d’être adaptée sur une planche à pain Arduino. [8]

I.7 Le module GSM800l:


I.7.1 Définition:
Le module GSM SIM800L est l'un des plus petits modules GSM du monde avec une taille de
2.2 cm x 1.8 cm. C’est un module puissant qui démarre automatiquement et recherche
automatiquement le réseau. Il inclut notamment le Bluetooth 3.0+EDR et la radio FM (récepteur
uniquement). Il vous permettra d’échanger des SMS, de passer des appels mais aussi, et c’est
nouveau, de récupérer de la data en GPRS 2G+. Ainsi vous pourrez faire transiter des données
sur une très longue distance, si par exemple la radio FM ou le Bluetooth ne vous suffit plus. [9]

PhotoI7.1.1: module GSM (800L)

I.7.2 Montage:
Ce module nécessite une alimentation entre 3,4V et 4,4V. L’alimentation 5V de l’Arduino ne lui
convient donc pas. Pour contrer ce problème d’alimentation, on ajoute une diode 1N4007 entre
le 5V de l’Arduino et le pin VCC du SIM800L. Le SIM800L nécessite un pic de courant
d'environ 2A. Le reste du branchement est détaillé ci-dessous. La pin reset doit être relié au 3,3v
de l'arduino.
PhotoI.7.2.1: connexion du module GSM avec Arduino

Il faut également insérer votre SIM dans le compartiment prévu à cet effet sur le module, comme
montré dans la photo ci-dessous. Le sens d’insertion de la carte SIM dans le module à son
importance. La carte SIM doit être une micro SIM. [9]

PhotoI.7.2.2: la carte SIM inséré dans le module GSM(800l)

I.7.3 Les AT commandes (Commandes Hayes):


Les commandes AT sont définies dans la norme GSM 07.07.AT est l’abréviation de ATtention.
Ces 2 caractères sont toujours présents pour commencer une ligne de commande sous forme de
texte (codes ASCII). Les commandes permettent la gestion complète du module.
On peut utiliser ces commandes directement dans le moniteur série. Il suffit de compiler,
téléverser le programme ci-dessous et d’ouvrir le moniteur série. Vous n’avez plus qu’à entrer
les différentes commandes AT pour effectuer ce que vous désirez.

Vous pouvez envoyer ou recevoir des SMS, passer ou recevoir un appel, récupérer des données
HTTP en entrant directement dans le moniteur série les commandes nécessaires. [9]

I.7.4 Caractéristiques techniques :

 Tension de fonctionnement: 3.7 ~ 4.2 V (pic Courant 2A).


 Taille du module: 2.2 cm X 1.8 cm.
 TTL port série peut être utilisé avec un lien direct vers le microcontrôleur. Pas besoin
MAX232.
 Module puissant, démarre automatiquement, recherche automatiquement le réseau.
 LED de signalisation embarquée (Connecté flash lent, pas de signal flash rapide). [9]

I.8 Conclusion:
Dans ce chapitre, nous avons présenté le principe de fonctionnement et les caractéristiques de la
carte Arduino.
Aussi aussi un aperçu sur le module GSM 800l.

Références bibliographiques

[1] Le grand livre d’Arduino, Erik Bartmann, 3eme édition , ISBN: 978-2212137019.
[2] Floss manuals, licence GPLv2, Dakar (Sénégal),19 au 23 octobre 2011.
[3] Arduino pour les nuls, John Nussey, 2e édition.
[4] Nicolas GOILAV Geoffrey LOI «Arduino» (page12,15).
[5] http://domotics.fr/index.php/2019/02/25/les-differentes-cartes-arduino/
[6]https://www.robot-maker.com/shop/arduino-officielles/107-arduino-nano-officiel-107.html
[7] https://www.redohm.fr/2018/02/arduino-module-arduino-nano/
[8]https://www.arduino-france.com/review/arduino-nano-avantages-inconvenients-utilisation-et-
fonctionnement/
[9] https://letmeknow.fr/shop/fr/blog/94-tuto-module-gsm-sim800l-prise-en-main