Vous êtes sur la page 1sur 21

Utilisation de

ARDUBLOCK PROGRAMMATION ARDUINO

Il y a deux faons de programmer les cartes Arduino.


Soit avec du code pur en ligne de code type langage C ;
Carte
Soit sous forme de blocs type puzzle, nomm Ardublock. Arduino Uno
basique
Cest cette deuxime mthode qui est la plus adapte en collge et que
nous allons traiter.

Il est tout fait possible de partir COMPATIBILIT


dune carte arduino neutre achete
sur nimporte quel fournisseur de
composants dlectroniques. Mais
ceci vous obligera adapter
llectronique dentre (capteur) et
de sortie (actionneur) la carte via
une platine de test ou de montages
plus ou moins bricols, comme le
montre la photo ci-contre.

AutoProgUno
Autre solution, passer par des fournisseurs qui ont didactiss la carte
arduino ainsi que les capteurs/actionneurs. Exemple avec la socit A4
ou DuinoEdu.

Ce petit didacticiel, nest en aucun cas prsent pour faire l'apologie


dun fournisseur en particulier, mais juste pour vous permettre de
dbuter rapidement avec le systme Arduino via Ardublock.
Shield Grove
DuinoEdu

Interface de Interface de
programmation Arduino programmation ArduBlock
en ligne de code

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


LA CARTE

Source image :
http://www.mon-
club-elec.fr/
pmwiki_reference_ar
duino/pmwiki.php

13
12
11
10
9
8 14 Entres / Sorties au choix
7
6 Certaines ont des spcificits :
5 PWM (sortie analogique), RX, TX
6 entres 4
analogiques 3
2
De A0 A5 1
0

INSTALLATION DU LOGICIEL
Tlchargez / Installez linterface de Branchez ensuite votre carte arduino lordinateur via un
programmation Arduino directement sur le port USB. La carte nest pas prise en compte, il faut donc
site officiel : installer le driver adquat.
http://arduino.cc/en/Main/Software
Il vous faudra ensuite installer le plugin Pour cela rendez-vous dans votre vos Proprits systmes
Ardublock. Tlchargeable ici par puis dans votre gestionnaire de priphriques.
exemple :
http://sourceforge.net/projects/ardublock/

Ou sinon utilis linterface augmente de


DuinoEdu qui ne ncessite pas
dinstallation (possibilit de lutiliser sur
une cl USB par exemple). Le plugin
Ardublock est inclue ainsi que les librairies
utiles pour lafficheur, servomoteur par
exemple.
http://duinoedu.com/telechargement.html

Le site officiel : http://arduino.cc/


Avec des exemples de projets, un
forum et une communaut trs active.

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


1
Clic droit sur le
priphrique inconnu
2
Mettre jour
le pilote

3
Rechercher un pilote
sur mon ordinateur

4
Rechercher dans
vos dossier le
dossier driver : sous
dossier du dossier
Arduino

5
Valider et suivre les
instructions jusqu
linstallation correcte du
driver.

6
Votre carte Arduino est
maintenant reconnue.

Nous pouvons commencer programmer


et utiliser la carte Arduino.

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


LINTERFACE DE PROGRAMMATION

Choix de la carte :
Ici une Arduino Uno

1
Choix de linterface
ArduBlock

3
Choix du port de
communication

iq ues Shield Grove de DuinoEdu


a log
An
tr es Ports entres/sorties
es En 4 Ports I2C
/s orti 3 de 2 8
s
re de 0
ts ent
Por
En
tr

de
e

ies
sA

ort
na

s/s
e 3
log

Connectique USB n tr A
1
se 4
iqu

o rt connecter
es

Interface AutoProg UNO de A4

Connectique USB

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


MON 1ER PROGRAMME
Allumer continuellement une del
sur le Port 3.
(Le Port 3 devient alors
automatiquement une sortie)

Dans les blocs de


1
Contrles :

Glissez / Dposez le bloc


Boucle

2
Dans les blocs de Broches :

Glissez / Dposez le bloc Fixe la


sortie numrique au niveau

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


3
Indiquez le Port 3

Pour allumer la lampe


indiquez ltat HIGH
4
(tat haut ou 1 logique)

Contrairement LOW (tat


bas 0 logique)

5
Transfrez le programme

Il se convertit en ligne de
code pour tre transfr
dans le microcontroleur.
6

Vrification :
La del connecte au Port 3 reste
continuellement allume.

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


MON 1ER TEST
Allumer une lampe sur le Port 3 uniquement si le Port 2 est activit.
La del est teinte dans le cas contraire.
(Le Port 2 devient alors une entre)

Ne pas oublier la
boucle de dpart

Dans les blocs de


Contrles :

Glissez / Dposez le bloc


Si - Sinon

Dans les blocs de Broches :


4
Glissez / Dposez le bloc Valeur
de la broche Entre numrique

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


Conversion du
programme
automatiquement en
ligne de code

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


PROGRAMMATION AVEC FONCTION E T
Port 2 Port 12 Port 3

Une del sallume si 2 entres Entre : Interrupteur Entre : Cp de prsence Sortie : Del
sont actives : 0 0 0
Port 2 et Port 12.
Dans le cas contraire la del 0 1 0
est teinte (Port 3). 1 0 0
1 1 1

Ne pas oublier la
boucle de dpart

Dans les blocs :


Oprateurs Tests

Glissez / Dposez le bloc


ET

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


Conversion du
programme
automatiquement en
ligne de code

Dtection uniquement
par le capteur de
prsence.

Bouton poussoir
activ.

ET
Dtection par le
capteur de prsence.

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


PROGRAMMATION AVEC FONCTION OU
Port 2 Port 12 Port 3
Une lampe sallume si une des 2 Entre : Interrupteur Entre : Cp de prsence Sortie : Lampe
entres est active :
0 0 0
Port 2 ou Port 12.
Dans le cas contraire la lampe 0 1 1
est teinte (Port 3).
1 0 1
1 1 1

Ne pas oublier la
boucle de dpart

Dans les blocs :


Oprateurs Tests

Glissez / Dposez le bloc


OU

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


Conversion du
programme
automatiquement en
ligne de code

Dtection uniquement
par le capteur de
prsence.

OU

Bouton poussoir activ


uniquement.

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


UTILISATION DES ENTRES ANALOGIQUES

Les valeurs dentres sur les ports analogiques sont


immdiatement codes en valeurs numriques sur 10 bits.

Dcimal 2^9 2^8 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
Un capteur de luminosit
0 0 0 0 0 0 0 0 0 0 0 (photorsistance) peut tre
1 0 0 0 0 0 0 0 0 0 1 associ un potentiomtre.
1024 2 0 0 0 0 0 0 0 0 1 0
... ... ... ... ... ... ... ... ... ... ...
1023 1 1 1 1 1 1 1 1 1 1

Les 5v que peux fournir le capteur sont dcoups en 1024 valeurs.

Notre programme permet dallumer une del si le potentiomtre est dans la premire moiti
de sa plage dutilisation, cest dire entre 0v et 2,5v, soit entre 0 et 512 en numrique.
La del est branche sur le port 7 et le potentiomtre sur le port analogique 2.

x
2,5 v

0v 5v
0 1023

512

Pour pouvoir utiliser la valeur dentre (en numrique) du port analogique sur lequel
est branch le potentiomtre, il faut enregistrer cette valeur dans une variable : que
nous avons appeler mesure (attention viter les accents, espaces, ...).

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


Dans les blocs :
Variables / contantes

Glissez / Dposez le bloc


Set interger variable

Dans les blocs :


Broches

Glissez / Dposez le bloc


Valeur ... Analogique

Renommez le nom de la
variable

Indiquez le port
analogique utilis

Dans les blocs :


Test

Glissez / Dposez le bloc


... < ...

Dans les blocs :


Variables / Contantes

Glissez / Dposez le bloc


integer variable name

Ainsi quun bloc numrique


quil faudra complter par
mesure et 512

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


Les blocs plus graphiques
sont disponibles dans la
librairie DuinoEdu Grove Add

Fonction identique

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


UTILISATION DE LAFFICHEUR
Gardons le programme prcdent mais affichons maintenant la
valeur de lentre analogique enregistre dans la variable mesure.
Lafficheur est branch sur un port I2C.

Dans les blocs :


DuinoEDU Grove Add

Glissez / Dposez le bloc


LCD I2C

Possibilit de piloter un afficheur LCD :


2 lignes / 16 caractres par ligne

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


n de la ligne = 0 alors criture sur la ligne 1
n de la ligne = 1 alors criture sur la ligne 2

Dans les blocs :


Variable / contantes

Glissez / Dposez le bloc


texte
ou String variable

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


UTILISATION DU SERVOMOTEUR
Gardons le programme prcdent mais plutt dindiquer la valeur
analogique sur un afficheur, le potentiomtre pilote un servomoteur

2,5 v

0v 5v
0 1023

512

Angle de 90 Angle de 0

Dans les blocs :


DuinoEDU Grove Add

Glissez / Dposez le bloc


Servo Plus

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


UTILISATION DES SORTIES ANALOGIQUES
Quelques ports sont configurables en sorties analogiques, ils sont reprs par le symbole :
Mais comme pour les entres analogiques, ils sont convertis en numriques sur 8 bits (contrairement
a u x entres analogiques qui sont en 10 bits).

Donc seuls les ports 3, 5, 6, 9, 10 et 11 peuvent fournir une sortie analogique.

Dcimal 2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0

0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1
256 2 0 0 0 0 0 0 1 0
... ... ... ... ... ... ... ... ...
255 1 1 1 1 1 1 1 1

1,25 v 2,5 v 3,75 v

0v 5v
0 255

64 128 192

Faisons le test sur le port 6 avec une tension de 3,75 volts soit 192
en valeur numrique.

Dans les blocs de Broches :

Glissez / Dposez le bloc


Fixe la sortie analogique la
valeur

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


E ff e c t i v e m e n t l a s o r t i e
analogique nest pas
exactement 3,75 mais
3,67 volts. Ceci est du au fait
que lalimentation nest pas
aussi exactement 5v mais
4,88 volts.

Pour les plus lectroniciens, il sagit de ports PWM.


Si vous souhaitez une tension propre, il faut la
filtrer avec un montage R.C de ce type.
Avec R = 1k et C = 1uF
(temps de rponse rapide et tension correctement
filtre).

R Sortie
Port 6
analogique
filtre

C
Masse

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Mars 2015


UTILISATION DUN CAPTEUR LOGIQUE

Il est important de mettre une rsistance de 10k entre le fil du signal et la masse !

5V

Port 2

R = 10k

Masse

Interrupteur sur D2 Del sur D6

Utilisation dArduBlock : Programmation Arduino Pascal Pujades - Ac. Toulouse - Oct. 2015