0% ont trouvé ce document utile (0 vote)
10 vues65 pages

Exposé Arduino OUCHAOU

Le document présente une formation sur la plateforme Arduino, abordant son historique, ses caractéristiques, et son architecture. Il détaille également les différents types de cartes Arduino, leur structure, et les bases de leur programmation. Enfin, il traite des applications pratiques et de la communication entre Arduino et d'autres systèmes comme Raspberry Pi et XBee.

Transféré par

hamidabalfsahi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues65 pages

Exposé Arduino OUCHAOU

Le document présente une formation sur la plateforme Arduino, abordant son historique, ses caractéristiques, et son architecture. Il détaille également les différents types de cartes Arduino, leur structure, et les bases de leur programmation. Enfin, il traite des applications pratiques et de la communication entre Arduino et d'autres systèmes comme Raspberry Pi et XBee.

Transféré par

hamidabalfsahi
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CENTRE DE FORMATION DES INSPECTEURS DE L’EDUCATION

Arduino : Premiers pas vers les


systèmes embarqués

Réalisé par :Etudiant inspécteur ABDELHAMID OUCHAOU


Encadré par : Mr A. BAHIDA
Année académique 2018-2019
Plan de l’exposé
1ère Partie
 Introduction
 Petit historique
 Caractéristiques d’un système embarqué
 Architecture d'un système embarqué
 Découverte de la plateforme Arduino
 Types de cartes ARDUINO
 Structure du microcontrôleur Arduino : Atmel AVR ATmega
 Structure de la carte Arduino : UNO R3
 Alimentation de la carte Arduino : UNO R3
 Précautions pratiques
 Description des broches de Arduino UNO R3
 Cartes d’extension Arduino ‘’SHIELDS’’
 Programmation de la carte Arduino
 Arduino en science de l’ingénieur
 Applications pratiques
Plan de l’exposé
2éme Partie

 Introduction à Ardubock
 Présentation de Fritzing
 Communication entre Arduino et Rasbery Pi
 Communication entre Arduino et XBee
 Conclusion
Introduction

Le projet Arduino été initié en 2005 en Italie par un groupe d’étudiants et


d’enseignants d’une école d’art et de design pour faire face aux
difficultés rencontrées lors de la mise en œuvre de projets artistiques
interactifs.
Il a avait pour objectif de concevoir une plate-forme de prototypage de
systèmes embarqués.
Le nom Arduino trouve son origine dans le nom du bar dans lequel
l’équipe avait l'habitude de se retrouver.
Arduino est aussi le nom d'un roi italien, personnage historique de la ville
« d’Ivrée ».
Petit historique

Le projet Arduino été initié en 2005 en Italie par un groupe d’étudiants et


d’enseignants d’une école d’art et de design pour faire face aux
difficultés rencontrées lors de la mise en œuvre de projets artistiques
interactifs.
Il a avait pour objectif de concevoir une plate-forme de prototypage de
systèmes embarqués.
Le nom Arduino trouve son origine dans le nom du bar dans lequel
l’équipe avait l'habitude de se retrouver.
Arduino est aussi le nom d'un roi italien, personnage historique de la ville
« d’Ivrée ».
Caractéristiques d’un système embarqué

Un système embarqué :
• un système électronique et informatique autonome,
• Le plus souvent mobile,
• souvent temps réel,
• spécialisé dans une tâche bien précise.
• Les ressources d’un système embarqué sont généralement limitées;
d'ordre spatial (encombrement réduit), mémoire et énergétique
(consommation restreinte).
Architecture d'un système embarqué
Découverte de la plateforme Arduino

Arduino fait partie de la famille des platines de développement,


Contrairement aux Raspberry Pi et aux Beaglebone, il ne possède pas
d'OS basé sur Linux. Il reste par contre l'un des plus abordables et des
plus répandus. Une platine de développement est en général un circuit
imprimé équipé d'un microprocesseur ou d'un microcontrôleur. Comme
Arduino est open source, il existe un grand nombre de clones et de
platines compatibles, tout comme il existe de nombreux modèles
d'Arduino officiels, avec des fonctions particulières:
Types de cartes ARDUINO
Microcontrôleur ATmega168 ou ATmega328
Tension de fonctionnement 5V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 14 (dont 6 disposent d'une sortie PWM)
Broches d'entrées analogiques 6

Intensité maxi disponible par broche E/S (5V) 40 mA

Intensité maxi disponible par broche E/S (3.3V) 50 mA

16 KB (ATmega168) or 32 KB (ATmega328) dont 2


Mémoire Programme Flash
KB sont utilisés par le bootloader
Mémoire SRAM (mémoire volatile) 1 KB (ATmega168) ou 2 KB (ATmega328)

Mémoire EEPROM (mémoire non volatile) 512 bytes (ATmega168) ou 1 KB (ATmega328)

Vitesse d’horloge 16 MHz

ARDUINO UNO R2
Dimensions : 53 mm x 68 mm
Microcontrôleur ATmega328
Tension de fonctionnement 5V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 14 (dont 6 disposent d'une sortie PWM)
Broches d'entrées analogiques 6

Intensité maxi disponible par broche E/S (5V) 40 mA

Intensité maxi disponible par broche E/S (3.3V) 50 mA

Mémoire Programme Flash 32 KB dont 2 KB sont utilisés par le bootloader

Mémoire SRAM (mémoire volatile) 2 KB

Mémoire EEPROM (mémoire non volatile) 1 KB

Vitesse d’horloge 16 MHz

ARDUINO UNO R3
Dimensions : 53 mm x 68 mm
Microcontrôleur ATmega168
Tension de fonctionnement 3,3V ou 5V
Tension d'alimentation (recommandée) 3.35 -12 V (3.3V model)
5 - 12 V (5V model)
Broches E/S numériques 14 (dont 6 disposent d'une sortie PWM)
Broches d'entrées analogiques 6
Intensité maxi disponible par broche E/S (5V) 40 mA

Intensité maxi disponible par broche E/S (3.3V) 50 mA


16 KB (ATmega168) dont 2 KB sont utilisés
Mémoire Programme Flash
par le bootloader
Mémoire SRAM (mémoire volatile) 1 KB (ATmega168)
Mémoire EEPROM (mémoire non volatile) 512 bytes (ATmega168)
Vitesse d’horloge 8 MHz

ARDUINO PRO mini


Dimensions : 33 mm x 18 mm
Microcontrôleur ATmega32u4
Tension de fonctionnement 5V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 20 (dont 7 disposent d'une sortie PWM)
Broches d'entrées analogiques 12
Intensité maxi disponible par broche E/S (5V) 40 mA

Intensité maxi disponible par broche E/S (3.3V) 50 mA


32 KB dont 4 KB sont utilisés par le
Mémoire Programme Flash
bootloader
Mémoire SRAM (mémoire volatile) 2,5 KB
Mémoire EEPROM (mémoire non volatile) 2 KB
Vitesse d’horloge 16 MHz

ARDUINO LEONARDO
Dimensions : 53 mm x 68 mm
Microcontrôleur ATmega2560
Tension de fonctionnement 5V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 54 (dont 15 disposent d'une sortie PWM)
Broches d'entrées analogiques 16
Intensité maxi disponible par broche E/S (5V) 40 mA

Intensité maxi disponible par broche E/S (3.3V) 50 mA


256 KB dont 8 KB sont utilisés par le
Mémoire Programme Flash
bootloader
Mémoire SRAM (mémoire volatile) 8 KB
Mémoire EEPROM (mémoire non volatile) 4 KB
Vitesse d’horloge 16 MHz

ARDUINO MEGA
Dimensions : 53 mm x 101 mm
Microcontrôleur AT91SAM3X8E
Tension de fonctionnement 3.3 V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 54 (dont 12 disposent d'une sortie PWM)
Broches d'entrées analogiques 12
Intensité maxi disponible toutes broche I/O 130 mA

Intensité maxi disponible par broche E/S (3.3V) 800 mA

Mémoire Programme Flash 512 KB (application)

Mémoire SRAM (mémoire volatile) 96 KB


Vitesse d’horloge 84 Mhz

ARDUINO DUE
Possibilité de brancher une souris
et un clavier USB
Dimensions : 53 mm x 101 mm
Microcontrôleur ATmega328
Tension de fonctionnement 5V
Tension d'alimentation (recommandée) 7-12V
Tension d'alimentation (limites) 6-20V
Broches E/S numériques 14 (dont 6 disposent d'une sortie PWM)
Broches d'entrées analogiques 6

Intensité maxi disponible par broche E/S (5V) 40 mA

Intensité maxi disponible par broche E/S (3.3V) 50 mA

Mémoire Programme Flash 32 K dont 2 KB sont utilisés par le bootloader

Mémoire SRAM (mémoire volatile) 2 KB

Mémoire EEPROM (mémoire non volatile) 1 KB

Vitesse d’horloge 16 MHz

ARDUINO NANO
V3
Dimensions : 18mm x 43 mm
ARDUINO UNO
Il existe deux modèles d’Arduino Uno: l’un avec un microcontrôleur de grande taille, et un autre avec
un microcontrôleur dit SMD (SMD: Surface Mounted Device).Il n’y a pas de différence entre les deux
types de microcontrôleurs.
Les couleurs de l'Arduino peuvent varier du bleu au bleu-vert, en fonction des modèles et années de
production. Nous choisirons d’ utiliser la carte portant le nom de « Uno» ou « Duemilanove ».
Ces deux versions sont presque identiques.
Structure du microcontrolleur
Arduino : Atmel AVR ATmega 328
Structure du microcontrolleur
Arduino : Atmel ARV Atmega 328

 Horloge 16Mhz.
 32ko de mémoire flash destinée à recevoir le programme,
 2ko de SRAM (mémoire vive)
1ko d’EEPROM (mémoire morte destinée aux données).
14pins (broches) d’entrée/sortie numérique (données acceptée 0 ou 1) 6 sorties pouvant
générer des PWM(Pulse Width Modulation, détaillé plus tard).
 Elle permet aussi de mesurer des grandeurs analogiques grâce à ces 6 entrées
analogiques .
Chaque broche est capable de délivrer un courant de 40mA pour une tension de 5V.
Structure de la carte Arduino :
UNO R3
Alimentation de la carte Arduino :
UNO R3
Précautions pratiques

 Il est impératif de ne pas dépasser les


possibilités de la carte pour ne pas la détruire .
(40mA max par pin)

 Avoir une bonne connaissance des objets «


non-standards » à commander pour prévoir un
interfaçage si nécessaire ( relais transistor
photo-coupleur ….).

 Les pins E/S ne comportent pas par défaut


des résistances « pullups » ( entrées flottantes).
Description des broches de Arduino UNO R3

pins SDA et SCL


Pin 0 et 1 (BUS I2C)

14 E/S numériques
6 entrées analogiques Une liaison SPI
programmables
( Serial Peripheral Interface)
 14 E/S numériques programmables
(numérotées de 0 à 13 ) dont 6 ( 3
,5,6,9,10 et 11) peuvent générer un signal
MLI (PWM)
∆T1 ∆T2 ∆T3
5V

0V

T T T

Les pins 5 et 6 ont une fréquence de 980Hz environ les autres 490Hz
 Les pins 0 et 1 sont mappées avec un
port série asynchrone :

0  RX 1  TX
 6 entrées analogiques ( A0 à A5)
converties sur 10 bits ( 0 à 1023)
avec une tension de référence 5V
par défaut. On peut choisir une autre
tension de référence appliquée sur
AREF ( <5V)
 Pins SDA et SCL (BUS I2C) :
une liaison série synchrone
permettant de relier la carte à
d’autres appareils possédant la
même liaison
 Une liaison SPI ( Serial Peripheral Interface) est un bus de
données série synchrone qui opère en mode Full-duplex . Les
circuits communiquent selon un schéma maître-esclaves, où le
maître s'occupe totalement de la communication.
SCLK — Serial Clock, Horloge (généré par le maître) pin 13
MOSI — Master Output, Slave Input (généré par le maître) pin 11
MISO — Master Input, Slave Output (généré par l'esclave) pin 12
SS — Slave Select, Actif à l'état bas (généré par le maître) pin 10
Cartes d’extension Arduino
‘’SHIELDS’’

Ce sont des cartes enfichables sur la carte Arduino de base


WIFI –miro SD

Ethernet –micro SD

Relais
Commande moteurs
Afficheur LCD 16x2
clavier 6 Boutons
Cartes d’extension Arduino
‘’SHIELDS’’

GPS

GSM

Carte SD

Et bien sur d’autres Shieds : Accédez au lien suivant pour avoir une idée
shields
Cartes d’extension Arduino
‘’SHIELDS’’

Et bien sur d’autres Shieds : Accédez au lien suivant pour avoir une idée
shields
Programmation de la
carte Arduino
Programmation des Programmateur de
microcontrôleurs +
microcontrôleurs Test sur plaque
d’essai

Logiciel pour le
transfère du
fichier HEX

Editeur et
compilateur de
code

Maitrise de l’architecture du
microcontrôleur
Programmation
Arduino
La programmation de la carte se fait
en utilisant le logiciel Arduino
IDE (integrated development
environment) .
téléchargeable sur [Link] et
disponible pour Windows , Mac ,
linux et androïd

Un programme Arduino s’appelle « sketch »


Environnement de développement
ARDUINO IDE
Structure d’un sketch
Un programme Arduino contient trois parties essentielles
Langage Arduino
 Le langage Arduino est inspiré de plusieurs langages. On retrouve notamment des similarités avec
le C, le C++, le Java et le Processing. Le langage impose une structure particulière typique de
l’informatique embarquée.

Basé sur a notion de fonctions

Sorties
02 nom_fonction ( paramètres séparés
par « , » )

Fonctions ….. ;
instruction _n ;
03 instruction_n+1 ;
Entrées …… ;
return < valeur si elle
existe >

Langage Arduino

Fonctions d’
Entrées/Sorties
Langage Arduino

Variables et
opérateurs
Langage Arduino

Gestion du
temps
structure de
control
Gestion des
l i b r a i r i e s
Une librairie est une collection de fonctions spécifiques à
un domaine ou permettant de contrôler un sheild ou
effectuer des opérations sur une ressource .
Exemple : La librairie < math.h > contient les
fonctions mathématiques usuelles ( cos , sin , log
sqrt , puissance …)

Pour pouvoir utiliser les fonctions d’une librairie , il faut la


déclarer dans la partie déclaration par la commande
#include < librairie.h>
Iibrairies
Standards

Bien sur qu’il y’en a d’autres


Applications pratiques
Faire clignoter une Led
Réalisation
Caractéristiques de la Led
Applications pratiques
Faire clignoter une Led
Montages de la Led Edition et compilation

OU
Applications pratiques
Faire clignoter une Led
Arduino en science de l’ingénieur
Arduino en science de l’ingénieur

Acquisition
 Schèma  Circuit
Arduino en science de l’ingénieur
Commande automatique d’une lampe

Acquérir Traiter Communiquer


Arduino en science de l’ingénieur
Commande automatique d’une lampe
Acquérir Traiter Communiquer
Arduino en science de l’ingénieur
Commande automatique d’une lampe
Code
Exemples de projets

Projet 1 Projet 2

Projet 3 Projet 4
Utilisation en domotique
Arduino en science de l’ingénieur

Acquisition
/*
 Code Reads an analog input on pin 0, prints the result to the Serial Monitor.
*/

// the setup routine runs once when you press reset:


void setup() {
// initialize serial communication at 9600 bits per second:
[Link](9600);
}

// the loop routine runs over and over again forever:


void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
[Link](sensorValue);
delay(1); // delay in between reads for stability
}
Introduction
à Ardubock Présentation

ArduBlock Éducation est un plugin qui s’intègre à l’IDE d’Arduino™ (logiciel


de base de programmation Arduino™). Basé sur le même principe que Scratch
(empilement de blocs fonctions, tests, etc.), ArduBlock Éducation est une
version épurée et optimisée par Technologie Services d’ArduBlock
spécialement dédiée à l’éducation.

Avantages
Cette version de logiciel permet uniquement de traduire en code et de programmer
les cartes Arduino™ (pas de mode connecte). Cependant vous pourrez piloter plus
de matériels dits « complexes » avec cette version. Pour faciliter la
programmation, une image du capteur ou de l’actionneur a été ajoutée dans le bloc
pour faire facilement le lien avec le matériel. Des catégories crées comme «
Capteurs »,« Actionneurs », « Afficheurs », « Connections sans fil » et bien
d’autres afin de trouver et d’utiliser facilement les blocs. Pour ne pas être perdu
lors de son utilisation, on a gardé le même code couleur que Scratch pour les
catégories de blocs (blocs structures : orange; blocs operateurs : vert, etc.).
ArduBlock Éducation intègre des bibliothèques spécifiques à l’utilisation des
capteurs / actionneurs de la gamme Grove.
À l’aide de ces blocs, programmer un afficheur LCD RGB à communication I2C est
un jeu d’enfant.
Introduction
à Ardubock
Présentation des divers
fonctionnalités
d’ Ardublock Éducation
Présentation des divers
fonctionnalités
d’ Ardublock Éducation
Présentation des divers
fonctionnalités
d’ Ardublock Éducation
Présentation des divers
fonctionnalités
d’ Ardublock Éducation
Présentation des divers
fonctionnalités
d’ Ardublock Éducation
Fritzing est un projet de logiciel libre, destiné aux non-professionnels de
l'électronique. Il a notamment pour vocation de favoriser l'échange de
circuits électroniques libres et d'accompagner l'apprentissage de la
conception de circuits.

Il est adapté aux débutants ou confirmés en électronique


pour faire rapidement des circuits simples, et est également
un bon outil didactique pour apprendre à bidouiller en
électronique par la pratique : il est utilisable en classe à
partir de 12 ans et en université7.
Le logiciel comporte trois vues principales :
La « Platine d'essai », où l'on voit les composants tels
qu'ils sont dans la réalité et où l'on construit le montage.
La « Vue schématique », représentant le schéma
fonctionnel du circuit.
Le « Circuit imprimé », représentant la vue du circuit
imprimé tel qu'il sera sorti en PDF pour être imprimé.
Construire une application web qui va recevoir des commandes et les envoyer à
l’Arduino. Une application web ne pouvant pas exister sur un Arduino, cela impliquera de
passer par un Raspberry Pi. Il s’agira donc d’abord de comprendre comment faire
communiquer ces deux devices, et pour cela deux possibilités : I2C ou USB.

Communication entre un Raspberry Pi et un


Arduino nano
Selon la carte utilisée, il faut ajouter une résistance 10K/15K
pour réduire la tension du Tx de 5V à 3,3V. Cela évitera de
griller la carte XBee.
Thank You
Merci pour votre attention

Vous aimerez peut-être aussi