[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
25 vues68 pages

La Platforme Arduino

La plateforme Arduino est un environnement de prototypage open-source basé sur des micro-contrôleurs Atmel, permettant un développement rapide grâce à un IDE dédié et une API en C/C++. Elle inclut divers modèles de cartes, comme l'Arduino Uno, et permet d'interfacer des capteurs et des modules externes via des shields. Le document aborde également les principes de programmation, la structure des programmes, et les types de données spécifiques utilisés dans l'environnement Arduino.

Transféré par

haddadabbas76
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)
25 vues68 pages

La Platforme Arduino

La plateforme Arduino est un environnement de prototypage open-source basé sur des micro-contrôleurs Atmel, permettant un développement rapide grâce à un IDE dédié et une API en C/C++. Elle inclut divers modèles de cartes, comme l'Arduino Uno, et permet d'interfacer des capteurs et des modules externes via des shields. Le document aborde également les principes de programmation, la structure des programmes, et les types de données spécifiques utilisés dans l'environnement Arduino.

Transféré par

haddadabbas76
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
Vous êtes sur la page 1/ 68

La plateforme Arduino

Une plateforme de prototypage OpenSource

Prof: W.EL HAMDANI


w.elhamdani@ump.ac.ma

La plateforme Arduino 1 / 63
► Rajouter des exemples pour toutes les fonctions Arduino
(digital... analog...)
► Rajouter un exemple de code fonctionnel qui relève une
valeur de capteur.
► Parler des bibliothèques externes parfois nécessaires.

La plateforme Arduino 2 / 63
Sommaire

Matériel
Micro-contrôleur
s Arduino
Programmation C, environnement de
développement Programmation C – rappels
Environnement de développement (IDE)
Arduino
Détails
divers
PWM
Interruptions
Interface
série Bus
série
Rappels d’
électronique
La plateforme Arduino 3 / 63
Matériel

Matériel

La plateforme Arduino 4 / 63
Matériel Micro-contrôleurs

Micro-contrôleurs

La plateforme Arduino 5 / 63
Matériel Micro-contrôleurs

Matériel – micro-contrôleurs (µC)


Un µC est principalement composé :
► d’une unité de calcul
► de mémoire
► de modules d’entrée/sortie
Tout ça dans un petit chip avec une consommation électrique
faible (quelques milli-Watts) et un coût peu élevé.

Les principaux fabricants de µC sont Texas


Instrument, STMicroelectronics, Atmel.
Nous utiliserons des µC Atmel, de la famille
ATMega. La plateforme Arduino 6 / 63
Matériel Micro-contrôleurs

Matériel – les micro-contrôleurs ATMega

Il existe plusieurs µC ATMega, dont l’ATMega328 et


l’ATMega2560. Ce sont tous
► des µC 8 bits Advanced RISC Architecture à 16 MHz
► avec de la mémoire (Flash, EEPROM et RAM)
► des lignes d’E/S programmables
► une interface série
► un ADC 10 bits (Analog to Digital Converter )
► des timers/compteurs 8 et 16 bits
► un comparateur analogique
► ...

La plateforme Arduino 7 / 63
Matériel Micro-contrôleurs

Matériel – ATMega328P block diagram

La plateforme Arduino 8 / 63
Matériel Micro-contrôleurs

Matériel – Architecture mémoire des µC ATMega328

Trois espaces mémoire :


► (32 k) Mémoire Flash (Flash Program Memory )
)
bootloader dans une section séparée (adresses hautes)
)
organisée en 256 pages de 64 mots de 2 octets (instructions sur 1
ou 2 mots)
)
10 000 cycles d’écriture/effacement mini
)
accès via le bus SPI
► (registres + 2 k) Mémoire SRAM (SRAM Data Memory )
)
organisée en mots de 8 bits
)
stockage des registres : 32 + 64 + 160 = 256
)
le reste est dédié à l’exécution du programme
► (1 k) EEPROM pour stockage de long terme
)
organisée en 256 pages de 4 mots de 1 octet
)
100 000 cycles d’écriture/effacement mini
)
accès via le bus SPI La plateforme Arduino 9 / 63
Matériel Arduino

Arduino

La plateforme Arduino 10 / 63
Matériel Arduino

Matériel – les cartes Arduino


Plateforme de prototypage construite autour d’un
micro-contrôleur Atmel AVR.
► Destinée au prototypage rapide
► Existe plusieurs variantes
)
Arduino Duemilanove
)
Arduino Uno
)
Arduino mega
)
...

La plateforme Arduino 11 / 63
Matériel Arduino

Matériel – les cartes Arduino

Ces cartes réunissent un µC et tout ce qu’il faut pour le faire


fonctionner :
► prise d’alimentation
► connecteurs sur les pattes d’E/S
► bootloader (possibilité de graver le programme via USB et
lancement de notre code au démarrage)
► connexion avec l’ordinateur (USB,
La plateforme ...)
Arduino 12 / 63
Matériel Arduino

Matériel – Arduino Duemilanove

La plateforme Arduino 13 / 63
Matériel Arduino

Matériel – Arduino Duemilanove


Ces cartes diffèrent toutes principalement selon:
-Les diverses microcontrôleurs 8 bits Atmel AVR,
- ou les processeurs ARM 32 bits Atmel, sur lesquels elles sont basées.

Elles fournissent des ensembles debroches numériqueset analogiques d'E/S qui


peuvent être interfacés à diverses cartes d'extension et d'autres circuits.

Les cartes disposentd'interfaces de communication série, y compris USB sur


certains modèles, pour les le chargement des programmes à partir d'ordinateurs
personnels.

Pour la programmation des microcontrôleurs, la plateforme Arduino fournit un


environnement de développement intégré (IDE) qui inclut le support des langages
de programmation C et C++.

La plateforme Arduino 14 / 63
Matériel Arduino

Matériel – Arduino Duemilanove


La carte Arduino qui nous intéresse estl’Arduino UNO:
-Un kit qui est basé sur le microcontrôleurATmega32
- fonctionnant à 5V avec 2K de RAM, 32 Ko de mémoire flash pour stocker des
programmes et une1Ko de mémoire EEPROM pour le stockage des paramètres. -
La vitesse d'horloge est de 16 MHz, ce qui se traduit sur l'exécution environ
300.000 lignes de code source C par seconde.
- Un connecteur USB permet de connecter la carte à l'ordinateur hôte,
- et une prise d'alimentationDC pour connecter une source d'alimentation externe
de 7 à 12V, par exemple une batterie de 7.4V, lors de l'exécution d'un programme
sans être connecté à l'ordinateur hôte.

La plateforme Arduino 15 / 63
Matériel Arduino

Matériel – Arduino Uno Rev. 3

La plateforme Arduino 16 / 63
Matériel Arduino

Matériel – Arduino Uno Rev. 3

La plateforme Arduino 17 / 63
Matériel Arduino

Matériel – les shields

Pour augmenter les fonctionnalités d’une platine Arduino, on


peut lui greffer des cartes filles (shield ) :
► Ethernet
► Wi-Fi
► XBee
► Moteurs
► LCD
► MIDI
► GPS
► ...

La plateforme Arduino 18 / 63
Matériel

Matériel – Arduino

Les plus Arduino :


► Architectures matérielle et logicielle libres
► Platines prêtes à l’emploi
► API de programmation du µC en C(++) → Wiring
► IDE simple d’utilisation → Processing

Ces modules sont devenus rapidement populaires dans la


communauté des
bricoleurs (DIY ) et de nombreuses idées naissent tous les jours.
La popularité des modules Arduino ont fait émerger de nombreux
clones et matériels semblables (chipKit, RaspberryPi, Beaglebone, . .
.)

La plateforme Arduino 19 / 63
Programmation C, environnement de développement

Programmation C, environnement
de développemen
t

La plateforme Arduino 20 / 63
Programmation C, environnement de développement Programmation C – rappels

Programmation C – rappels

La plateforme Arduino 21 / 63
Programmation C, environnement de développement Programmation C – rappels

Programmation C – structure d’un programme

#include <stdio.h> ► Chaque instruction est terminée


par le caractère ;
void main() ► Une fonction a un nom, des
{ paramètres typés et un type de
int i,j ; retour
► La fonction main() est obligatoire
j = 0 ; ► Le comportement d’une fonction
for (i=0 ; i<10 ; i++) est défini dans un bloc identifié
{ par des accolades
j = 2*i+j ;
► Les instructions peuvent être
}
regroupées en bloc si elles doivent
printf("%d\n", j) ; être exécutées ensembles
} ► Les variables sont déclarées et
initialisées avant d’être utilisées
La plateforme Arduino 22 / 63
Programmation C, environnement de développement Programmation C – rappels

Programmation C – types de données

► Chaque variable est obligatoirement typée


► Il existe un nombre limité de types
)
int, long, unsigned int, unsigned long
)
float, double
)
char
)
void
► Possibilité de créer des tableaux : int t[10]; définit un
tableau contenant 10 entiers, indicés de 0 à 9

La plateforme Arduino 23 / 63
Programmation C, environnement de développement Programmation C – rappels

Programmation C – préprocesseur

Les directives du préprocesseur :


► permettent de définir des alias pour du texte
► sont traitées avant la compilation comme du «
rechercher-remplacer »
► permettent de créer des macros avec des arguments

Elles sont reconnaissables par le caractère # qui les


précède.

#define LED_ROUGE 1
#define POUS1 8
#define CAPTEUR_TEMP A2
#define POUS1_ON (digitalRead(POUS1)==HIGH)

#define max(a,b) ((a)>(b)?(a):(b))


La plateforme Arduino 24 / 63
Programmation C, environnement de développement Programmation C – rappels

Programmation C – tests

► Les tests sont à la base des prises de décision simples


► Il y a principalement un type de test :
)
if ( condition ) { ... }
else if ( condition ) { ... }
else { ... }
► condition est fausse si elle s’évalue à 0, elle est vraie sinon
► Les blocs else if et else sont optionnels
► Les instructions à exécuter pour chaque cas sont regroupées en
blocs ( { ... } ) s’il y en a plus d’une.
► Il existe également la construction switch / case

La plateforme Arduino 25 / 63
Programmation C, environnement de développement Programmation C – rappels

Programmation C – boucles

► Les boucles permettent de répéter un ensemble


d’instructions ({ ... })
► 3 types de boucles :
)
for ( initialisation ; condition d’arrêt ; incrémentation ) { ... }
)
while ( condition d’arrêt ) { ... }
)
do { ... } while ( condition d’arrêt ) ;
► condition d’arrêt est fausse si elle s’évalue à 0, elle est vraie
sinon
► Seule la boucle for explicite l’initialisation et l’incrémentation
► Dans toutes les boucles, toutes les parties sont optionnelles,
selon l’objectif

La plateforme Arduino 26 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Environnement de développement (IDE)


Arduino

La plateforme Arduino 27 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Environnement de développement

► Ces µC disposent d’une


architecture RISC avec des
jeux d’environ 130
instructions.
► Il existe une API en C++ et
un IDE dédié (en Java →
multi-plateformes)
► Le code est compilé puis, s’il
est valide, flashé directement
sur le µC.
► Toutes les références de
l’API sont installées en local
(voir le menu Aide) pour
votre version de l’IDE
La plateforme Arduino 28 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Environnement de développement

Le code est organisé en sketches. Chaque sketch est représenté


par un répertoire et au moins un fichier .ino.
lance la compilation du sketch et affiche les erreurs s’il y en

► a lance la compilation du sketch et, s’il n’y a pas d’erreur,


flashe le
► programme dans le µC
► création d’un nouveau
► sketch ouverture d’un
sketch existant

sauvegarde du sketch en cours (il n’y a pas de
sauvegarde automatique !)
ouvre une fenêtre donnant accès à un moniteur série qui
La plateforme Arduino 25 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Principes de programmation

► La fonction main() est déjà écrite


► Écriture des fonctions setup() et loop()
obligatoire
► Programmation en C/C++ (classes, héritage, . . . )

int main(int argc, char *argv[])


{
setup() ;

for (;;)
loop() ;

return 0 ;
}

La plateforme Arduino 30 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Types de données spécifiques

► 1 octet : int8_t, uint8_t (char, byte)


► 2 octets : int16_t, uint16_t (int)
► 4 octets : int32_t, uint32_t (long)
► Il faut faire des tests pour s’assurer du nombre d’octets
pour
float, int, long

La plateforme Arduino 31 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Techniques de programmation

► Favoriser les variables globales et éviter les passages de


paramètres dans les fonctions
► Utilisation de constantes (const ou #define) pour libérer de
la mémoire d’exécution
► Taille de la mémoire limitée : il faut dimensionner
correctement ses variables (char, int, long, unsigned ou
pas)

La plateforme Arduino 32 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Initialiser les entrées/sorties

Les cartes Arduino sont faites pour nous donner des


possibilités d’interaction avec le monde réel.
Pour que ce soit possible il faut initialiser les ports
d’entrée/sortie en utilisant la fonction pinMode(pinNb, mode ).
mode peut avoir les valeurs INPUT, OUTPUT ou INPUT_PULLUP
► Se fait en général dans la fonction setup()
► 6 entrées analogiques qu’il n’est pas nécessaire d’initialiser
(ou entrées/sorties numériques qu’il faudra initialiser)
► 14 Entrées/Sorties numériques qu’il est nécessaire
d’initialiser

La plateforme Arduino 33 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Lecture et écriture sur les entrées/sorties

Utilisation des fonctions :


► digitalRead( pinNb ) (retourne HIGH ou LOW) ;
► digitalWrite( pinNb, level ) avec level valant HIGH ou LOW ;
► analogRead( pinNb ) (retourne un entier compris entre 0 et
1023) ;
► analogWrite( pinNb, value ) (PWM).

► Se fait généralement dans la fonction loop() ou dans toute


fonction perso ;
► Possibilité également de faire dans la fonction setup() pour :
)
mettre un dispositif connecté dans un état particulier ;
)
(dés)activer la résistance interne de pull-up sur les lignes de sortie.

La plateforme Arduino 34 / 63
Programmation C, environnement de développement Environnement de développement (IDE) Arduino

Lecture et écriture sur les entrées/sorties

La plateforme Arduino 35 / 63
Détails divers

Détails divers

La plateforme Arduino 36 / 63
Détails divers
PWM

PWM

La plateforme Arduino 37 / 63
Détails divers PWM

Pulse Width Modulation


La modulation de largeur d’impulsions (MLI ; en anglais : Pulse
Width Modulation, soit PWM), est une technique couramment
utilisée pour synthétiser des signaux continus à l’aide de circuits
à fonctionnement tout ou rien, ou plus généralement à états
discrets.
Le principe général est qu’en appliquant une succession d’états
discrets pendant des durées bien choisies, on peut obtenir en
moyenne sur une certaine durée n’importe quelle valeur
intermédiaire.

(Wikipedia)

La plateforme Arduino 38 / 63
Détails divers Interruptions

Interruptions

La plateforme Arduino 39 / 63
Détails divers Interruptions

Interruptions sur les ATMega328P


Interruption :
Signal permettant d’interrompre temporairement le
fonctionnement normal d’un programme pour exécuter
une routine spécifique.
26 interruptions disponibles
:
► 5 interruptions externes
)
2 programmables via l’API Arduino, INT0 et INT1 (pins 2 et 3)
)
3 sur changement d’état des pins
► 18 interruptions internes
)
RESET
)
Timers
)
ADC
)
Watchdog
)
Comparateur La plateforme Arduino 40 / 63
Détails divers Interruptions

Interruptions – fonctions utiles

Les interruptions externes peuvent être associées à des fonctions


définies par l’utilisateur et permettant de réagir de manière
adéquate.
► Activer/désactiver globalement les interruptions : interrupts()
et
nointerrupts() ;
► Associer une fonction à une interruption :
attachInterrupt(interrupt, function, mode) ;
► Supprimer la gestion d’une interruption :
detachInterrupt(interrupt) .
Le déclenchement des interruptions se fait selon quatre modes
principaux :
1. LOW : état bas du signal sur la broche
2. CHANGE : changement d’état du signal sur la broche
3. FALLING : front descendant surArduino
La plateforme la broche 41 / 63
Détails divers Interface
série

Interface série

La plateforme Arduino 42 / 63
Détails divers Interface série

Interface série sur un ATMega328P

Il existe une interface série (USART) sur les ATMega328P.


► Utilisée pour les communications inter-modules ou entre le
module et l’ordinateur (au travers de l’USB) ;
► Pris en charge par la bibliothèque Serial ;
► La ligne série (broches 0 et 1) est exclusive, son utilisation
empêche de se servir de ces broches pour autre chose.
Il est donc possible de recevoir des données depuis un module
Arduino, mais également de lui en envoyer pour, par exemple,
modifier son comportement.

La plateforme Arduino 43 / 63
Détails divers Bus série

Bus série

La plateforme Arduino 44 / 63
Détails divers Bus série

Bus série – SPI

SPI : Serial Peripheral Interface


► Principe de fonctionnement en maître/esclaves : une ligne SS
par périphérique ;
► Communications synchrones : une ligne SCK commune à
tous les périphériques ;
► Deux lignes pour la communications entre maître et esclaves :
lignes
MOSI et MISO communes à tous les périphériques.
Il y a une bibliothèque dédiée à ce mode de communication : SPI
Library qui gère le transfert des données et l’horloge série. Chaque
constructeur de périphérique SPI défini ses propres modes de
communication.

La plateforme Arduino 45 / 63
Détails divers Bus série

Bus Série – I2C

I2C : Inter Integrated Circuits


I2C, également connu sous le nom de bus TWI (Two Wire
Interface) nécessite, comme son nom l’indique presque, trois fils
pour fonctionner :
1. signal de données : SDA ;
2. signal d’horloge : SCL ;
3. une référence (masse).
Chaque périphérique a une adresse (7 bits) sur le bus et c’est un
fonctionnement en maître/esclaves. La bibliothèque permettant de
gérer ce bus est Wire Library. Elle simplifie grandement la gestion
des différents états sur les lignes.

La plateforme Arduino 46 / 63
Rappels d’électronique

Rappels d’électronique

La plateforme Arduino 47 / 63
Rappels d’électronique

Potentiel, Intensité

► Différence de potentiel, exprimée en volts


(V) Se mesure en parallèle de l’élément
testé
► Intensité, exprimée en ampères (A)
Se mesure en série avec l’élément testé

Dans nos montages nous manipuleront principalement du courant


continu. Les tensions seront inférieure à 20 volts et les intensités
seront de l’ordre de quelques milli-ampères.
Dans le cas de manipulation de courant "secteur" (220V) de
grandes précautions devront être prises. En particulier, il
faudra séparer les parties haute et basse tension
(opto-coupleurs).
L’alimentation des circuits sera notée Vcc et la masse,
tension de référence, GND ( ).
La plateforme Arduino 48 / 63
Rappels d’électronique

Résistance

► Composant électronique
► S’oppose à la circulation du courant électrique
► Valeur exprimée en Ohm (symbole Ω) et codifiée par des
bandes de couleur ⇒
http://fr.wikipedia.org/wiki/Résistance_(composant)
Il existe des résistances variables dont la valeur change en fonction
de données externes (température, luminosité, humidité, action
physique, . . . )

La plateforme Arduino 49 / 63
Rappels d’électronique

Loi d’Ohm

Goerg Ohm (1789 - 1854)

► Loi physique qui lie intensité et tension


pour un dipôle électrique donné.
► Courant continu et régime établi : U =
RI U exprimé en Volts, I en Ampères
et R en Ohms.

La plateforme Arduino 50 / 63
Rappels d’électronique

Lois de Kirchhoff

Gustav Kirchhoff (1824 - 1887)

Loi des nœuds


► La somme des intensités des courants
qui entrent par un nœud est égale à la
somme des intensités qui en sortent.

Loi des mailles (simplifiée)


► Dans une maille quelconque d’un
réseau, la somme algébrique des
différences de potentiel le long de la
maille est constamment nulle. Vab + Vbc + Vcd =
V
ad
La plateforme Arduino 51 / 63
Rappels d’électronique

Diviseur de tension

► Montage électronique

simple
U = U R2
2 R1+R2
► Permet de "décaler" la valeur moyenne
d’un signal
► Très utilisé pour lire la valeur de
résistances variables (par exemple, en
remplaçant R1 par Rv )

La plateforme Arduino 52 / 63
Rappels d’électronique

Diode, LED

Diod
e

► Composant électronique non linéaire


► Ne laisse passer le courant électrique que dans un sens
Diode Électro Luminescente (LED)
► Nécessite une tension minimale, un courant pour
s’allumer
► Présence d’une résistance de charge pour créer le
La plateforme Arduino 53 / 63
Moteurs

Moteurs

La plateforme Arduino 54 / 63
Moteurs

Matériel – H-Bridge

► Dispositif électronique permettant de piloter une


charge
► Permet de faire varier le sens du courant dans la
charge

La plateforme Arduino 55 / 63
Moteurs

Matériel – Moteurs

► Dispositif électromécanique
► Rotor et Stator
► Consommation électrique importante
► Courants parasites destructeurs

► Moteur à courant continu (DC motor )


► Moteur pas à pas (stepper motor )
► Servo-moteur (déclinaison d’un DC, avec de l’
électronique)

La plateforme Arduino 56 / 63
Moteurs

Matériel – Moteurs à courant continu

► Le plus simple des moteurs


► Issu de la machine à courant
continue inventé par Zénobe
Gramme en 1868
► Un stator fixe et un rotor mobile
► Peut-être utilisé comme générateur
ou comme moteur
► Moteur :
)
la vitesse dépend de la
tension appliquée aux
bornes
)
Le sens de la tension va
déterminer le sens de rotation
► Générateur : la tension
produite dépend de la La plateforme Arduino 57 / 63
Moteurs

Matériel – Moteurs à courant continu

► Utilisation avec un µC aisée


► Commande de la vitesse par PWM
► Utilisation possible d’un H-Bridge

Attention :
► consommation électrique élevée → commande par
transistor et alimentation autre que le port USB
► courant de retour destructeur → nécessité d’avoir un
diode de protection

La plateforme Arduino 58 / 63
Moteurs

Matériel – Moteurs pas à pas

► Peut-être mis dans une position (angle) donnée


► Peut effectuer des rotations complètes
► Ne connaît pas sa position
► Selon la technologie, conserve ou pas sa
position après coupure de l’alimentation
► Est déterminé par son nombre de pas (pour
faire un tour complet) et par son type de
bobinage (uni ou bi polaire)

La plateforme Arduino 59 / 63
Moteurs

Matériel – Moteurs pas à pas

► Utilisation avec un µC au travers d’un H-Bridge


► Le jeu consiste à "allumer" les bonnes bobines au bon
moment
► Nous disposons de moteurs bi-polaires (cf. schéma
ci-dessous)

La plateforme Arduino 60 / 63
Moteurs

Matériel – Servo-moteurs

► Utilisation entre le moteur pas à pas et le


moteur DC (moteur pas à pas avec boucle de
rétroaction)
► Peut aller à une position donnée à une
vitesse donnée
► Ne peut pas toujours faire un tour complet
► Sait maintenir une position si l’on applique
un couple de perturbation
► Est adapté à des charges (mécaniques) plus
élevées que le moteur pas à pas

La plateforme Arduino 61 / 63
Compléments

Compléments

La plateforme Arduino 62 / 63
Compléments

Autres logiciels

D’autres logiciels permettent d’interagir avec une platine


Arduino :
► Processing (http://processing.org/ )
► Fritzing (http://fritzing.org/ )
► Eagle (http://www.cadsoftusa.com/ )

La plateforme Arduino 63 / 63
Compléments

Processing

► IDE basé sur Java et orienté visualisation de données.


► Même interface que l’IDE Arduino (ce dernier est copié
sur Processing).
► Même logique de programmation : une fonction setup()
pour initialiser et une fonction draw() pour la boucle d’
événements.
► Interface facile avec une platine Arduino via une liaison série
pour visualiser sur l’ordinateur ce qui est transmis.
► Exemples de réalisations :
)
Oscilloscope : la platine Arduino reçoit les signaux électriques, les
traite et transmet sur la ligne série pour interprétation et affichage
par Processing.
)
jeu pong : la platine Arduino gère les joueurs (chacun dispose d’un
potentiomètre qui va lui permettre de diriger sa raquette) et
envoie les valeurs vers Processing qui fait tourner le moteur du
La plateforme Arduino 64 / 63
Compléments

Fritzing

► Logiciel OpenSource de prototypage de circuits


électroniques (Université de Potsdam).
► Orienté vers la plateforme Arduino.
► Permet d’avoir les 3 vues : platine d’essai, schéma électronique,
PCB.
► Permet de documenter son projet.
► Bibliothèque de composants limitée, mais extensible.
► De nombreux projets disponibles au téléchargement.

La plateforme Arduino 65 / 63
Compléments

Eagle

► Logiciel professionnel de dessin/validation de circuits


électroniques et création de typons.
► Référence dans le domaine.
► Grande bibliothèque de composants qui est en plus, facile à
étendre.
► La version gratuite permet de tout faire comme la grande ; elle
limite uniquement la taille du PCB.

La plateforme Arduino 66 / 63
Compléments

Petit glossaire

► USART : Universal Synchronous and Asynchronous


Receiver Transmitter, module de sérialisation de données
destinées à être transmises sur une ligne simple.
► SPI : Serial Peripheral Interface, bus de communication série
► I2C : Inter Integrated Circuit, bus de communication série
► CAN : Controller Area Network, bus souvent utilisé dans le
domaine de l’automobile pour dialoguer avec les différents
capteurs présents dans un véhicule.
► EEPROM : Electrically-Erasable Programmable Read-Only
Memory
► ADC : Analog to Digital Converter, module de conversion d’un
signal analogique vers des valeurs numériques.
► RISC : Reduced Instruction Set Computer
La plateforme Arduino 67 / 63
Compléments

FIN

La plateforme Arduino 68 / 63

Vous aimerez peut-être aussi