SlideShare una empresa de Scribd logo
1 de 47
Christian Py F5HOD
• Elle est très facilement programmable en langage dérivé du #C.
• Sa taille physique est standardisée.
• Un nombre impressionnant de cartes filles sont
disponibles (Shield).
• Un prix très bas (25€)
• La liberté, elle définit de façon assez concise l'esprit de l'Arduino.
• Le logiciel : gratuit et open source, développé en Java, dont la
simplicité d'utilisation relève de savoir cliquer sur la souris.
• Le matériel : cartes électroniques dont les schémas sont
en libre circulation sur internet.
•

•

Arduino UNO R3

•

Arduino Mega 2560

•

•

Arduino pro

Arduino DUE

Arduino UNO

•

Arduino LEONARDO

•

Arduino Mini

•

Arduino ADK Android

et bien d’autres platines …
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

16 KB (ATmega168) or 32 KB (ATmega328) dont
2 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
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

16 KB (ATmega168) or 32 KB (ATmega328) dont
2 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
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

16 KB (ATmega168) or 32 KB
(ATmega328) dont 2 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
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

Mémoire Programme Flash

32 KB (ATmega32u4) dont 4 KB sont
utilisés par le bootloader

Mémoire SRAM (mémoire volatile)

2,5 KB (ATmega32u4)

Mémoire EEPROM (mémoire non volatile)
Vitesse d’horloge

KB (ATmega32u4)
16 MHz
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

Mémoire Programme Flash

16 KB (ATmega168) dont 2 KB sont
utilisés 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
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

Mémoire Programme Flash

256 KB dont 8 KB sont utilisés par le
bootloader

Mémoire SRAM (mémoire volatile)

8 KB

Mémoire EEPROM (mémoire non volatile)

4 KB

Vitesse d’horloge

16 MHz
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
AREF
Tension de
référence
analogique

Port SPI
D10 – D13

Entrées / sorties digital D0 – D13

Port série
D0 – D1

Port USB de programmation
et permet d’alimenter
l’Arduino. Max 500ma
Port ISP

Port I2C
A4 – A5
Entrée DC 7-12 v
2,1 mm

Alimentation

Entrées Analogiques A0 – A5

SPI :Interface Série pour périphérique D10 : /SS D11 : MOSI D12 : MISO

I2C :

A4 (SDA), A5 (SCL)

et D13 : SCLK.
AREF
Tension de
référence
analogique

Port SPI *
D10 – D13

Port série
D0 – D1
D14 – D19

Port I2C*
A20 – A21

Entrées / sorties digital
D0 – D13
Port USB de programmation
et permet d’alimenter
l’Arduino. Max 500ma

Port ISP*

Entrées / sorties digital
D22 – D53
Entrée DC 7-12 v
2,1 mm
Alimentation

Entrées Analogiques A0 – A11

SPI :Interface Série pour périphérique D10 : /SS D11 : MOSI D12 : MISO
I2C :
ISP :

A20 (SDA), A21 (SCL)
In-System Programmer (reprogrammation de l’Arduino)

et D13 : SCLK.
Le logiciel va vous permettre
de programmer la carte
Arduino, par la prise USB,
De créer des sketchs.
Le logiciel gratuit est
disponible à cette adresse:
En français :

www.mon-clubelec.fr/mes_telechargements/arduino-0018fr.zip

Page officielle (En Anglais) : v 023
http://arduino.cc/en/Main/Software

ATTENTION les extensions de fichier
sont différentes selon les versions:
< 1.0.0 ont pour extensions .PDE
> 1.0.0 ont pour extensions .INO
En cliquant sur le bouton
qui permet de transférer votre programme
dans l’Arduino, le logiciel vérifie la bonne syntaxe. Si une seule erreur est
détectée, il vous faut la corriger ! Avant de pouvoir la transférer !
void setup() {
}

// insérer votre code ici

void loop() {

// insérer votre code ici dans la boucle
}

Cette exemple est le
minimum de code
nécessaire pour
démarrer votre
ARDUINO !
La fonction
Dans ce code se trouvent deux fonctions.
Les fonctions sont en fait des portions de code.
void setup() {
}

// insérer votre code ici

Cette fonction setup() est appelée une seule fois lorsque le programme commence. C'est
pourquoi c'est dans cette fonction que l'on va écrire le code qui n'a besoin d'être exécuté une
seule fois. On appelle cette fonction : "fonction d'initialisation". On y retrouvera la mise en
place des différentes sorties et quelques autres réglages. C'est un peu le check-up de
démarrage. Imaginez un pilote d'avion dans sa cabine qui fait l'inventaire:
Les fonctions permettent de segmenter le code afin de
créer des modules . Elles doivent être implantées en
dehors des fonctions spéciales loop et setup !
Void test
{
Code
}

()

- patte 2 en sortie, état haut ?
- OK
- timer 3 à 15 millisecondes ?
- OK
...

Pour les appeler :
Void test

();
Une fois que l'on a initialisé le programme il faut ensuite
créer son "cœur", autrement dit le programme en lui même.
void loop(){
}

// insérer votre code ici

C'est donc dans cette fonction loop() où l'on va écrire le contenu du
programme. Il faut savoir que cette fonction est appelée en permanence,
c'est-à-dire qu'elle est exécutée une fois, puis lorsque son exécution est
terminée, on la ré-exécute encore et encore. On parle de boucle infinie.
Les points virgules

Les points virgules terminent les instructions. Si par exemple je dis
dans mon programme : « appelle la fonction couperDuSaucisson » je
dois mettre un point virgule après l'appel de cette fonction.
LiquidCrystal_I2C lcd(0x27,20,4);
NewSoftSerial mySerialGsm(RxGsmPin,TxGsmPin); // Set Arduino pin 7 and 8 as softserial (RX-TX)
NewSoftSerial mySerialVoice(RxVoicePin,TxVoicePin);
NewSoftSerial mySerialBluetooth(RxBluetoothPin,TxBluetoothPin);
Les accolades

Les accolades sont les "conteneurs" du code du programme. Elles sont
propres aux fonctions, aux conditions et aux boucles. Les instructions
du programme sont écrites à l'intérieur de ces accolades.

void setup() {
}

// insérer votre code ici
Les commentaires
Pour finir, on va voir ce qu'est un commentaire. Ce sont des lignes
de codes qui seront ignorées par le programme. Elles ne servent en
rien lors de l'exécution du programme.

// cette ligne est inactif dans le programme
Définir une variable
Si on donne un nombre à notre programme, il ne sait pas si c'est
une variable ou pas. Il faut le lui indiquer. Pour cela, on donne un
type aux variables. Oui, car il existe plusieurs types de variables !
Par exemple la variable "x" vaut 4 :
Int X = 4;
Voilà les types de variables les plus répandus :
Type

Quel nombre il
stocke ?

Valeurs
maximales du
nombre stocké

Nombre sur X bits

Nombre d'octets

int

entier

-32 768 à +32 767

16 bits

2 octets

long

entier

-2 147 483 648 à
+2 147 483 647

32 bits

4 octets

char

entier

-128 à +127

8 bits

1 octets

float

décimale

-3.4 x 10^{38}à
+3.4 x 10^{38}

32 bits

4 octets

double

décimale

-3.4 x 10^{38}à
+3.4 x 10^{38}

32 bits

4 octets
Si à présent notre variable "x" ne prend jamais une valeur négative
(-20, -78, ...), alors on utilisera un type non-signé.
C'est à dire, dans notre cas, un char dont la valeur n'est plus de -128 à
+127, mais de 0 à 255.
Voici le tableau des types non signés, on repère ces types par le mot
unsigned (de l'anglais : non-signé) qui les précède :
Type

Quel nombre il
stocke ?

Valeurs
maximales du
nombre stocké

Nombre sur X
bits

Nombre d'octets

unsigned char

entier non
négatif

0 à 255

8 bits

1 octets

unsigned int

entier non
négatif

0 à 65 535

16 bits

2 octets

unsigned long

entier non
négatif

0 à 4 294 967
295

32 bits

4 octets
Une des particularités du langage Arduino:
Est qu'il accepte un nombre plus important de types de variables.

Type

Quel nombre il
stocke ?

Valeurs
maximales du
nombre stocké

Nombre sur X
bits

Nombre d'octets

byte

entier non
négatif

0 à 255

8 bits

1 octets

word

entier non
négatif

0 à 65535

16 bits

2 octets

boolean

entier non
négatif

0à1

1 bits

1 octets
Les variables booléennes:
Sont des variables qui ne peuvent prendre que deux valeurs :
ou VRAI ou FAUX.
Elles sont utilisées notamment dans les boucles et les conditions
Boolean variable = FALSE;
Boolean variable = TRUE;

Le langage Arduino accepte aussi une troisième forme d'écriture (qui lui
sert pour utiliser les broches de sortie du microcontrôleur) :
Int variable = LOW;
Int variable = HIGH;

L’adresse du site ou je me suis documenté est très bien expliqué.
http://www.siteduzero.com/sciences/tutoriels/arduino-pour-biencommencer-en-electronique-et-en-programmation
Structure
Fonctions de base
Ces deux fonctions sont obligatoires dans tout
programme en langage Arduino :
•void setup()
•void loop()
Structures de contrôle
•if
•if...else
•for
•switch case
•while
•do... while
•break
•continue
•return
Syntaxe de base
•; (point virgule)
•{} (accolades)
•// (commentaire sur une ligne)
•/* */ (commentaire sur plusieurs lignes)
Opérateurs arithmétiques
•= (égalité)
•+ (addition)
•- (soustraction)
•* (multiplication)
•/ (division)
•% (modulo)
Opérateurs de comparaison
•== (égal à)
•!= (différent de)
•< (inférieur à)
•> (supérieur à)
•<= (inférieur ou égal à)
•>= (supérieur ou égal à)
Opérateurs booléens
•&& (ET booléen)
•|| (OU booléen)
•! (NON booléen)
Opérateurs composés
•++ (incrémentation)
•-- (décrémentation) (à revoir)
•+= (addition composée)
•-= (soustraction composée)
•*= (multiplication composée)
•/= (division composée)

Variables et constantes
Les variables sont des expressions que vous
pouvez utilisez dans les programmes pour
stocker des valeurs, telles que la tension de
sortie d'un capteur présente sur une broche
analogique.
Constantes prédéfinies
Les constantes prédéfinies du langage Arduino
sont des valeurs particulières ayant une
signification spécifique.
•HIGH | LOW
•INPUT | OUTPUT
•true | false
A ajouter : constantes décimales prédéfinies
Expressions numériques
•Expressions numériques entières
Types des données
Les variables peuvent être de type variés qui sont
décrits ci-dessous.
Synthèse des types de données Arduino
•boolean
•char
•byte
•int
•unsigned int
•long
•unsigned long
•float (nombres à virgules)
•double (nombres à virgules)
•Les chaînes de caractères
•Les tableaux de variables
•void (fonctions)
Conversion des types de données
•char()
•byte()
•int()
•long()
•float()
Référence
•Code ASCII (à finir)

Fonctions
Entrées/Sorties Numériques
•pinMode(broche, mode)
•digitalWrite(broche, valeur)
•int digitalRead(broche)
Entrées analogiques
•int analogRead(broche)
Sorties "analogiques" (génération d'impulsion)
•analogWrite(broche, valeur) - PWM
Entrées/Sorties Avancées
•tone()
•noTone()
•shiftOut(broche, BrocheHorloge, OrdreBit, valeur)
•unsigned long pulseIn(broche, valeur)
Temps
•unsigned long millis()
•unsigned long micros()
•delay(ms)
•delayMicroseconds(us)
Math
•min(x, y)
•max(x, y)
•abs(x)
•constrain(x, a, b)
•map(valeur, toLow, fromHigh, toLow, toHigh)
•pow(base, exposant)
•sq(x)
•sqrt(x)
Trigonométrie
•sin(rad)
•cos(rad)
•tan(rad)
Nombres randomisés (hasard)
•randomSeed(seed)
•long random(max)
•long random(min, max)
Communication
•Serial
Pour faciliter l ’élaboration d’une application, il existe des librairies pour
chaque interface. Ce sont des micros programmes.
Exemple :
La librairie pour lire ou écrire sur une carte SD.
//Include all the libraries necessary for FAT32
#include <byteordering.h>
#include <fat.h>
#include <FAT16.h>
#include <fat_config.h>
#include <partition.h>
#include <partition_config.h>
#include <sd-reader_config.h>
#include <sd_raw.h>
#include <sd_raw_config.h>

Ces librairies se déclarent en début de programme, elles doivent êtres
téléchargées depuis le net et copiées au paravent dans le dossier
arduino/libraries/
Ps: à chaque ajout de librairies, l’interface doit être relancé.
Lire la tension sur une broche analogique:
Un truc très sympa avec Arduino, c'est que c'est facile à prendre
en main. Et ça se voit une fois de plus avec l'utilisation des
convertisseurs numérique -> analogique ! En effet, vous n'avez
qu'une seule nouvelle fonction à retenir : analogRead() !
analogRead();

Cette fonction va nous permettre de lire la valeur lue sur une entrée analogique
de l'Arduino. Elle prend un argument et retourne la valeur lue :
•L'argument est le numéro de l'entrée
analogique à lire (explication ci-dessous)
•La valeur retournée (un int) sera le
résultat de la conversion analogiquenumérique
Sur une carte Arduino Uno, on retrouve 6
CAN. Ils se trouvent tous du même côté de
la carte, là où est écrit "Analog IN" :
Exemple de lecture de la tension sur une broche analogique:
const int potar = 0; // le potentiomètre, branché sur la broche analogique 0
int valeurLue; //variable pour stocker la valeur lue après conversion
float tension; //on convertit cette valeur en une tension

Le schéma :

void setup()
{
//on se contente de démarrer la liaison série pour visualiser la valeur
Serial.begin(9600);
}
void loop()
{
//on convertit en nombre binaire la tension lue en sortie du potentiomètre
valeurLue = analogRead(potar);
//on traduit la valeur brute en tension (produit en croix)
tension = valeurLue * 5.0 / 1024;

//on affiche la valeur lue sur la liaison série
Serial.print("valeurLue = ");
Serial.println(valeurLue);
//on affiche la tension calculée
Serial.print("Tension = ");
Serial.print(tension,2);
Serial.println(" V");

}

Serial.println(); //on saute une ligne entre deux affichages
delay(500); //on attend une demi-seconde pour que l'affichage ne soit pas trop rapide
Exemple de lecture de la tension sur une broche analogique et d’écriture sur un port numérique :
//définition des broches utilisée (vous êtes libre de les changer)
const int led_verte = 9;
const int led_bleue = 10;
const int led_rouge = 11;
int compteur_defilement = 0; //variable permettant de changer de couleur
void setup()
{
//définition des broches en sortie
pinMode(led_rouge, OUTPUT);
pinMode(led_verte, OUTPUT);
pinMode(led_bleue, OUTPUT);
}

void loop()
{
couleur(compteur_defilement); //appel de la fonction d'affichage
compteur_defilement++; //incrémentation de la couleur à afficher
if(compteur_defilement > 6) compteur_defilement = 0; //si le compteur
dépasse 6 couleurs
}

delay(500);
Suite du code

Le schéma :
Exemple de lecture de la tension sur une broche analogique et d’écriture sur un port numérique :
void couleur(int numeroCouleur)
{
switch(numeroCouleur)
{
case 0 : //rouge
analogWrite(led_rouge, 0); //rapport cyclique au minimum pour une
meilleure luminosité de la LED
//qui je le rappel est commandée en "inverse"
//(0 -> LED allumée ; 255 -> LED éteinte)
analogWrite(led_verte, 255);
analogWrite(led_bleue, 255);
break;
case 1 : //vert
analogWrite(led_rouge, 255);
analogWrite(led_verte, 0);
analogWrite(led_bleue, 255);
break;
case 2 : //bleu
analogWrite(led_rouge, 255);
analogWrite(led_verte, 255);
analogWrite(led_bleue, 0);
break;
case 3 : //jaune
analogWrite(led_rouge, 0);
analogWrite(led_verte, 0);
analogWrite(led_bleue, 255);
Suite du code
break;

Le schéma :
Exemple de lecture de la tension sur une broche analogique et d’écriture sur un port numérique :
case 4 : //violet
analogWrite(led_rouge, 0);
analogWrite(led_verte, 255);
analogWrite(led_bleue, 0);
break;
case 5 : //bleu ciel
analogWrite(led_rouge, 255);
analogWrite(led_verte, 0);
analogWrite(led_bleue, 0);
break;
case 6 : //blanc
analogWrite(led_rouge, 0);
analogWrite(led_verte, 0);
analogWrite(led_bleue, 0);
break;
default : //"noir"
analogWrite(led_rouge, 255);
analogWrite(led_verte, 255);
analogWrite(led_bleue, 255);
break;
}
}

Fin du code

Le schéma :
Afficheur LCD:

Le schéma :

Le branchement
L'afficheur LCD utilise 6 à 10 broches de
données ((D0 à D7) ou (D4 à D7) + RS + E) et
deux d'alimentations (+5V et masse). La
plupart des écrans possèdent aussi une entrée
analogique pour régler le contraste des
caractères. Nous brancherons dessus un
potentiomètre de 10 kOhms.
Les 10 broches de données peuvent être
placées sur n'importe quelles entrées/sorties
numériques de l'Arduino. En effet, nous
indiquerons ensuite à la librairie LiquidCrystal
qui est branché où.
Le montage à 8 broches de données
Afficheur LCD:

Comme écrit plus tôt, nous allons utiliser la librairie "LiquidCrystal". Pour l'intégrer c'est très simple, il suffit
de cliquer sur le menu "Import Library" et d'aller chercher la bonne.
Une ligne #include "LiquidCrystal.h" doit apparaitre en haut de la page de code (les prochaines
fois vous pourrez aussi taper cette ligne à la main directement, ça aura le même effet). Ensuite, il ne nous
reste plus qu'à dire à notre carte Arduino où est branché l'écran (sur quelles broches) et quelle est la taille
de ce dernier (nombre de lignes et de colonnes).
Nous allons donc commencer par déclarer un objet (c'est en fait une variable évoluée, plus de détails dans
la prochaine partie) lcd, de type LiquidCrystal et qui sera global à notre projet.

La déclaration de cette variable possède plusieurs formes LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5,
d6, d7) où rs est le numéro de la broche où est branché "RS", "enable" est la broche "E" et ainsi de suite
pour les données.
•LiquidCrystal(rs, enable, d4, d5, d6, d7) (même commentaires que précédemment
Ensuite, dans le setup() il nous faut démarrer l'écran en spécifiant son nombre de colonnes puis de
lignes. Cela se fait grâce à la fonction begin(cols,rows).
Écran LCD:

Le code:

#include "LiquidCrystal.h" //ajout de la librairie
//Vérifier les broches !
LiquidCrystal lcd(11,10,9,8,7,6,5,4,3,2); //liaison 8 bits de données
void setup()
{
lcd.begin(16,2); //utilisation d'un écran 16 colonnes et 2 lignes
lcd.write("Salut les OMs !"); //petit test pour vérifier que tout marche
}
void loop()
{
}

Comme vous pouvez le voir, le code est très simple,
quelques ligne suffisent pour afficher du texte !


Après avoir innové et rendu accessible à un large public le développement de programmes pour
micro-contrôleurs, la fondation Arduino se met dans les pas du Raspberry Pi.



Elle vient d’annoncer l’Arduino Tre une carte conçue en partenariat avec BeagleBoard et qui
embarque un processeur de la famille Cortex A8 d’ARM (un TI Sitara AM335x à 1GHz) ainsi
qu’un micro-contrôleur AVR à ses côtés (un ATMega32U4 comme celui de l’Arduino Due).



A noter que le Sitara AM335x est le même que celui de la BeagleBone Black, ce qui garanti le
support des mêmes distributions Linux et d’un support matériel accru. La disponibilité est
annoncée pour le printemps 2014 et de prix officiel pour l’instant.



L’Arduino Yún (avec routeur Ethernet/WiFi sous OpenWRT/Linux intégré) étant à 52€, on peut
spéculer que le prix du Tre devrait être du même ordre de grandeur c’est à dire dans les 70€.






Autre annonce, celle d’une carte avec processeur Intel x86, l’Intel Galileo conçue en
collaboration avec la fondation Arduino.
Elle embarque un processeur SoC Quark X1000 à 400MHz qui reprend l’architecture de
la famille Atom et qui devrait avoir des performances supérieures aux meilleurs
représentants de la famille Cortex Mx d’ARM, mais pour des caractéristiques de
consommation inconnue.

La disponibilité est annoncée pour fin Novembre et le prix sous les 60$. Cette carte est
aussi capable de faire tourner un système d’exploitation Linux.
Oscar, DJ0MY
http://www.cqdx.ru/ham/do-it-yourself/the-nanokeyer-is-anarduino-nano-based-cw-contest-keyer/





Le nanoKeyer peut être
utilisé comme un keyer
autonome ou connecté
via le port USB de votre
ordinateur avec votre
logiciel favori.
Au moyen du
microprogramme de
K3NG il peut aussi être
utilisé en autonome en y
ajoutant un CLAVIER-PS2.
M0XPD
http://m0xpd.blogspot.co.uk/2013/02/arduino-dds-shield.html

Module
AD9850 DDS
Disponible sur EBay
http://www.semageek.com/un-librarie-eagle-pour-creer-un-shield-arduino-facilement/

Plus besoin de vous présenter le
célèbre logiciel de conception
électronique Eagle de Cadsoft,
ni le kit Arduino.
Voici un outil qui tombe à pic
pour
ceux
qui
souhaitent
développer leur propre design de
shield pour les kits Arduino, une
librairie pour Eagle qui contient
la base pour créer un nouveau
shield.

https://github.com/adafruit/Adafruit-Eagle-Library

Librairie Eagle
EasyVR
Matériels nécessaire:
• La platine EasyVR pour Arduino.
• L’Arduino.

EasyVR Arduino Libraries

Les logiciels :

https://acapela-box.com/AcaBox/index.php

EasyVR Commander
Il permet de programmer la carte , en l'occurrence:
• Insérer les mots reconnues par la voix.

• Apprendre la reconnaissance vocale (par comparaison) .
• Insérer les mots pour la synthèse vocale.

Convertit les textes en fichiers audio reconnus par la carte
Matériels nécessaire:

RJ45

• La platine Ethernet pour Arduino
• L’Arduino.

Ethernet Arduino Libraries

Le code:

( le début )

Les librairies

#include <SPI.h>
#include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip (192,168,1,177);
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

Micro SD

Pour y stocker
les pages internet
Matériels nécessaire :
• La platine E/S pour Arduino.

Le code:
#define Relais_ON 0
#define Relais_OFF 1

• La carte relais.
• L’Arduino.

#define Relais_1 2 // Arduino Digital E/S numéro de la broche
#define Relais_2 3
#define Relais_3 4
#define Relais_4 5
void setup()
{
//-------( Initialise les relais en position repos)---digitalWrite(Relais_1, Relais_OFF);
digitalWrite(Relais_2, Relais_OFF);
digitalWrite(Relais_3, Relais_OFF);
digitalWrite(Relais_4, Relais_OFF);
//---( Broches en sortie )---pinMode(Relais_1, OUTPUT);
pinMode(Relais_2, OUTPUT);
pinMode(Relais_3, OUTPUT);
pinMode(Relais_4, OUTPUT);
}

AC250V 10A, AC150V 10A; DC30V 10A , DC28V 10A.
Dimension: environ 5 x 3.8 x 1.7cm
void loop()
{

Existe en
1-2-4-8
Relais

digitalWrite(Relais_1, Relais_ON); // Relais en fonction
delay(2000);

// attendre 2secondes

digitalWrite (Relais_1, Relais_OFF); // Relais au repos
delay(4000);

delay(2000); // attendre 2 secondes

}

}

// attendre 4 secondes
Christian Py F5HOD

Más contenido relacionado

La actualidad más candente

Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Mohammed Lamghari
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoOmer Kilic
 
Sécurité de l'IoT | Internet des objets - Formation d'une journée
Sécurité de l'IoT | Internet des objets - Formation d'une journéeSécurité de l'IoT | Internet des objets - Formation d'une journée
Sécurité de l'IoT | Internet des objets - Formation d'une journéeTactika inc.
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)Aymen Lachkhem
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..sunprass
 
Mesure de température et humidité avec le capteur DHT11 et la Raspberry Pi 3
Mesure de température et humidité  avec le capteur DHT11 et la Raspberry Pi 3Mesure de température et humidité  avec le capteur DHT11 et la Raspberry Pi 3
Mesure de température et humidité avec le capteur DHT11 et la Raspberry Pi 3Chiheb Ameur ABID
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREHajer Dahech
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésECAM Brussels Engineering School
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1SinGuy
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresSana Aroussi
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84guest1e7b02
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
Yassine Otmane voiture commandée à distance (XBEE)
Yassine Otmane voiture commandée à distance (XBEE)Yassine Otmane voiture commandée à distance (XBEE)
Yassine Otmane voiture commandée à distance (XBEE)Othmane Yassine
 

La actualidad más candente (20)

Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
Microcontrôleur
MicrocontrôleurMicrocontrôleur
Microcontrôleur
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Sécurité de l'IoT | Internet des objets - Formation d'une journée
Sécurité de l'IoT | Internet des objets - Formation d'une journéeSécurité de l'IoT | Internet des objets - Formation d'une journée
Sécurité de l'IoT | Internet des objets - Formation d'une journée
 
Cours pics16 f877
Cours pics16 f877Cours pics16 f877
Cours pics16 f877
 
STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)STM32 F4 (PWM,SPI And ADC Test Examples)
STM32 F4 (PWM,SPI And ADC Test Examples)
 
Pic 16f877 ..
Pic 16f877 ..Pic 16f877 ..
Pic 16f877 ..
 
Mesure de température et humidité avec le capteur DHT11 et la Raspberry Pi 3
Mesure de température et humidité  avec le capteur DHT11 et la Raspberry Pi 3Mesure de température et humidité  avec le capteur DHT11 et la Raspberry Pi 3
Mesure de température et humidité avec le capteur DHT11 et la Raspberry Pi 3
 
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATUREARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
ARDUINO + LABVIEW : CONTRÔLE DE LA TEMPÉRATURE
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarquésProgrammation de systèmes embarqués : Introduction aux systèmes embarqués
Programmation de systèmes embarqués : Introduction aux systèmes embarqués
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
Chapitre ii circuits combinatoires
Chapitre ii circuits combinatoiresChapitre ii circuits combinatoires
Chapitre ii circuits combinatoires
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Yassine Otmane voiture commandée à distance (XBEE)
Yassine Otmane voiture commandée à distance (XBEE)Yassine Otmane voiture commandée à distance (XBEE)
Yassine Otmane voiture commandée à distance (XBEE)
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 

Similar a Présentation Arduino par Christian, F5HOD

OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...Pôle Systematic Paris-Region
 
Cours2 initiation language arduino
Cours2   initiation language arduinoCours2   initiation language arduino
Cours2 initiation language arduinolabsud
 
Formation API iNiveau 1 sur les automates programmable industriels de derni...
Formation API iNiveau  1 sur les automates programmable industriels de  derni...Formation API iNiveau  1 sur les automates programmable industriels de  derni...
Formation API iNiveau 1 sur les automates programmable industriels de derni...azilalfree
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicmorin moli
 
PPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.pptPPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.pptChokri Boussetta
 
121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheads121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheadscgodefroy
 
Installation et utilisation de l'extension ts mblock
Installation et utilisation de l'extension ts mblockInstallation et utilisation de l'extension ts mblock
Installation et utilisation de l'extension ts mblockخالد المشكوري
 
API et Supervision industrielle
API et Supervision industrielle API et Supervision industrielle
API et Supervision industrielle sarah Benmerzouk
 
Net duino et le .net micro framework
Net duino et le .net micro frameworkNet duino et le .net micro framework
Net duino et le .net micro frameworkVincent Hubert
 
Presntation about Arduino pins and for what
Presntation about Arduino pins and for whatPresntation about Arduino pins and for what
Presntation about Arduino pins and for whatMohamedSalimBelkorch
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdfAliRami3
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codeeMohammedFassih
 
Cours16 ressources pour arduino
Cours16   ressources pour arduinoCours16   ressources pour arduino
Cours16 ressources pour arduinolabsud
 
Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)Gerard Labernia
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le MicroprocesseurTheCrazyMan
 
Fpga handout
Fpga handoutFpga handout
Fpga handoutassnad
 
Comment Realiser Cable Jtag
Comment Realiser Cable JtagComment Realiser Cable Jtag
Comment Realiser Cable Jtagguest6fc8a9
 
Comment Realiser Cable Jtag
Comment Realiser Cable JtagComment Realiser Cable Jtag
Comment Realiser Cable JtagSais Abdelkrim
 
Arduino_Board_and_Shield.ppt
Arduino_Board_and_Shield.pptArduino_Board_and_Shield.ppt
Arduino_Board_and_Shield.pptMohamed Ali Daymi
 

Similar a Présentation Arduino par Christian, F5HOD (20)

OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
OSIS18_IoT: L'approche machine virtuelle pour les microcontrôleurs, le projet...
 
Cours2 initiation language arduino
Cours2   initiation language arduinoCours2   initiation language arduino
Cours2 initiation language arduino
 
Formation API iNiveau 1 sur les automates programmable industriels de derni...
Formation API iNiveau  1 sur les automates programmable industriels de  derni...Formation API iNiveau  1 sur les automates programmable industriels de  derni...
Formation API iNiveau 1 sur les automates programmable industriels de derni...
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasic
 
PPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.pptPPT01_Initiation à l’Arduino.ppt
PPT01_Initiation à l’Arduino.ppt
 
121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheads121115 Présentation Arduino Cocoaheads
121115 Présentation Arduino Cocoaheads
 
Installation et utilisation de l'extension ts mblock
Installation et utilisation de l'extension ts mblockInstallation et utilisation de l'extension ts mblock
Installation et utilisation de l'extension ts mblock
 
API et Supervision industrielle
API et Supervision industrielle API et Supervision industrielle
API et Supervision industrielle
 
Net duino et le .net micro framework
Net duino et le .net micro frameworkNet duino et le .net micro framework
Net duino et le .net micro framework
 
Presntation about Arduino pins and for what
Presntation about Arduino pins and for whatPresntation about Arduino pins and for what
Presntation about Arduino pins and for what
 
Cours de PIC Généralités.pdf
Cours de PIC Généralités.pdfCours de PIC Généralités.pdf
Cours de PIC Généralités.pdf
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codee
 
Cours16 ressources pour arduino
Cours16   ressources pour arduinoCours16   ressources pour arduino
Cours16 ressources pour arduino
 
Formation python
Formation pythonFormation python
Formation python
 
Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)Utilisation ardublock-v2 (1)
Utilisation ardublock-v2 (1)
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Fpga handout
Fpga handoutFpga handout
Fpga handout
 
Comment Realiser Cable Jtag
Comment Realiser Cable JtagComment Realiser Cable Jtag
Comment Realiser Cable Jtag
 
Comment Realiser Cable Jtag
Comment Realiser Cable JtagComment Realiser Cable Jtag
Comment Realiser Cable Jtag
 
Arduino_Board_and_Shield.ppt
Arduino_Board_and_Shield.pptArduino_Board_and_Shield.ppt
Arduino_Board_and_Shield.ppt
 

Más de webmasterref68

Le satellite Es’Hail 2 et radioamateur AMSAT Phase 4A
Le satellite Es’Hail 2 et radioamateur AMSAT Phase 4ALe satellite Es’Hail 2 et radioamateur AMSAT Phase 4A
Le satellite Es’Hail 2 et radioamateur AMSAT Phase 4Awebmasterref68
 
Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)
Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)
Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)webmasterref68
 
Logiciel de routage de circuit imprimé EAGLE
Logiciel de routage de circuit imprimé EAGLELogiciel de routage de circuit imprimé EAGLE
Logiciel de routage de circuit imprimé EAGLEwebmasterref68
 
Fabrication d’une antenne mobile bibande 145 & 435 MHz
Fabrication d’une antenne mobile bibande 145 & 435 MHzFabrication d’une antenne mobile bibande 145 & 435 MHz
Fabrication d’une antenne mobile bibande 145 & 435 MHzwebmasterref68
 
Principes de balun et unun de 1,8 à 50 Mhz
Principes de balun et unun de 1,8 à 50 MhzPrincipes de balun et unun de 1,8 à 50 Mhz
Principes de balun et unun de 1,8 à 50 Mhzwebmasterref68
 
Présentation Assemblée Générale du REF68
Présentation Assemblée Générale du REF68Présentation Assemblée Générale du REF68
Présentation Assemblée Générale du REF68webmasterref68
 

Más de webmasterref68 (6)

Le satellite Es’Hail 2 et radioamateur AMSAT Phase 4A
Le satellite Es’Hail 2 et radioamateur AMSAT Phase 4ALe satellite Es’Hail 2 et radioamateur AMSAT Phase 4A
Le satellite Es’Hail 2 et radioamateur AMSAT Phase 4A
 
Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)
Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)
Présentation du programme SOTA par F8CZI (Radioamateurs du Haut-Rhin)
 
Logiciel de routage de circuit imprimé EAGLE
Logiciel de routage de circuit imprimé EAGLELogiciel de routage de circuit imprimé EAGLE
Logiciel de routage de circuit imprimé EAGLE
 
Fabrication d’une antenne mobile bibande 145 & 435 MHz
Fabrication d’une antenne mobile bibande 145 & 435 MHzFabrication d’une antenne mobile bibande 145 & 435 MHz
Fabrication d’une antenne mobile bibande 145 & 435 MHz
 
Principes de balun et unun de 1,8 à 50 Mhz
Principes de balun et unun de 1,8 à 50 MhzPrincipes de balun et unun de 1,8 à 50 Mhz
Principes de balun et unun de 1,8 à 50 Mhz
 
Présentation Assemblée Générale du REF68
Présentation Assemblée Générale du REF68Présentation Assemblée Générale du REF68
Présentation Assemblée Générale du REF68
 

Último

Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 

Último (20)

Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 

Présentation Arduino par Christian, F5HOD

  • 2. • Elle est très facilement programmable en langage dérivé du #C. • Sa taille physique est standardisée. • Un nombre impressionnant de cartes filles sont disponibles (Shield). • Un prix très bas (25€) • La liberté, elle définit de façon assez concise l'esprit de l'Arduino. • Le logiciel : gratuit et open source, développé en Java, dont la simplicité d'utilisation relève de savoir cliquer sur la souris. • Le matériel : cartes électroniques dont les schémas sont en libre circulation sur internet.
  • 3. • • Arduino UNO R3 • Arduino Mega 2560 • • Arduino pro Arduino DUE Arduino UNO • Arduino LEONARDO • Arduino Mini • Arduino ADK Android et bien d’autres platines …
  • 4. 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 16 KB (ATmega168) or 32 KB (ATmega328) dont 2 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
  • 5. 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 16 KB (ATmega168) or 32 KB (ATmega328) dont 2 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
  • 6. 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 16 KB (ATmega168) or 32 KB (ATmega328) dont 2 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
  • 7. 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 Mémoire Programme Flash 32 KB (ATmega32u4) dont 4 KB sont utilisés par le bootloader Mémoire SRAM (mémoire volatile) 2,5 KB (ATmega32u4) Mémoire EEPROM (mémoire non volatile) Vitesse d’horloge KB (ATmega32u4) 16 MHz
  • 8. 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 Mémoire Programme Flash 16 KB (ATmega168) dont 2 KB sont utilisés 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
  • 9. 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 Mémoire Programme Flash 256 KB dont 8 KB sont utilisés par le bootloader Mémoire SRAM (mémoire volatile) 8 KB Mémoire EEPROM (mémoire non volatile) 4 KB Vitesse d’horloge 16 MHz
  • 10. 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
  • 11. AREF Tension de référence analogique Port SPI D10 – D13 Entrées / sorties digital D0 – D13 Port série D0 – D1 Port USB de programmation et permet d’alimenter l’Arduino. Max 500ma Port ISP Port I2C A4 – A5 Entrée DC 7-12 v 2,1 mm Alimentation Entrées Analogiques A0 – A5 SPI :Interface Série pour périphérique D10 : /SS D11 : MOSI D12 : MISO I2C : A4 (SDA), A5 (SCL) et D13 : SCLK.
  • 12.
  • 13. AREF Tension de référence analogique Port SPI * D10 – D13 Port série D0 – D1 D14 – D19 Port I2C* A20 – A21 Entrées / sorties digital D0 – D13 Port USB de programmation et permet d’alimenter l’Arduino. Max 500ma Port ISP* Entrées / sorties digital D22 – D53 Entrée DC 7-12 v 2,1 mm Alimentation Entrées Analogiques A0 – A11 SPI :Interface Série pour périphérique D10 : /SS D11 : MOSI D12 : MISO I2C : ISP : A20 (SDA), A21 (SCL) In-System Programmer (reprogrammation de l’Arduino) et D13 : SCLK.
  • 14. Le logiciel va vous permettre de programmer la carte Arduino, par la prise USB, De créer des sketchs. Le logiciel gratuit est disponible à cette adresse: En français : www.mon-clubelec.fr/mes_telechargements/arduino-0018fr.zip Page officielle (En Anglais) : v 023 http://arduino.cc/en/Main/Software ATTENTION les extensions de fichier sont différentes selon les versions: < 1.0.0 ont pour extensions .PDE > 1.0.0 ont pour extensions .INO
  • 15.
  • 16. En cliquant sur le bouton qui permet de transférer votre programme dans l’Arduino, le logiciel vérifie la bonne syntaxe. Si une seule erreur est détectée, il vous faut la corriger ! Avant de pouvoir la transférer !
  • 17.
  • 18. void setup() { } // insérer votre code ici void loop() { // insérer votre code ici dans la boucle } Cette exemple est le minimum de code nécessaire pour démarrer votre ARDUINO !
  • 19. La fonction Dans ce code se trouvent deux fonctions. Les fonctions sont en fait des portions de code. void setup() { } // insérer votre code ici Cette fonction setup() est appelée une seule fois lorsque le programme commence. C'est pourquoi c'est dans cette fonction que l'on va écrire le code qui n'a besoin d'être exécuté une seule fois. On appelle cette fonction : "fonction d'initialisation". On y retrouvera la mise en place des différentes sorties et quelques autres réglages. C'est un peu le check-up de démarrage. Imaginez un pilote d'avion dans sa cabine qui fait l'inventaire: Les fonctions permettent de segmenter le code afin de créer des modules . Elles doivent être implantées en dehors des fonctions spéciales loop et setup ! Void test { Code } () - patte 2 en sortie, état haut ? - OK - timer 3 à 15 millisecondes ? - OK ... Pour les appeler : Void test ();
  • 20. Une fois que l'on a initialisé le programme il faut ensuite créer son "cœur", autrement dit le programme en lui même. void loop(){ } // insérer votre code ici C'est donc dans cette fonction loop() où l'on va écrire le contenu du programme. Il faut savoir que cette fonction est appelée en permanence, c'est-à-dire qu'elle est exécutée une fois, puis lorsque son exécution est terminée, on la ré-exécute encore et encore. On parle de boucle infinie.
  • 21. Les points virgules Les points virgules terminent les instructions. Si par exemple je dis dans mon programme : « appelle la fonction couperDuSaucisson » je dois mettre un point virgule après l'appel de cette fonction. LiquidCrystal_I2C lcd(0x27,20,4); NewSoftSerial mySerialGsm(RxGsmPin,TxGsmPin); // Set Arduino pin 7 and 8 as softserial (RX-TX) NewSoftSerial mySerialVoice(RxVoicePin,TxVoicePin); NewSoftSerial mySerialBluetooth(RxBluetoothPin,TxBluetoothPin);
  • 22. Les accolades Les accolades sont les "conteneurs" du code du programme. Elles sont propres aux fonctions, aux conditions et aux boucles. Les instructions du programme sont écrites à l'intérieur de ces accolades. void setup() { } // insérer votre code ici
  • 23. Les commentaires Pour finir, on va voir ce qu'est un commentaire. Ce sont des lignes de codes qui seront ignorées par le programme. Elles ne servent en rien lors de l'exécution du programme. // cette ligne est inactif dans le programme
  • 24. Définir une variable Si on donne un nombre à notre programme, il ne sait pas si c'est une variable ou pas. Il faut le lui indiquer. Pour cela, on donne un type aux variables. Oui, car il existe plusieurs types de variables ! Par exemple la variable "x" vaut 4 : Int X = 4;
  • 25. Voilà les types de variables les plus répandus : Type Quel nombre il stocke ? Valeurs maximales du nombre stocké Nombre sur X bits Nombre d'octets int entier -32 768 à +32 767 16 bits 2 octets long entier -2 147 483 648 à +2 147 483 647 32 bits 4 octets char entier -128 à +127 8 bits 1 octets float décimale -3.4 x 10^{38}à +3.4 x 10^{38} 32 bits 4 octets double décimale -3.4 x 10^{38}à +3.4 x 10^{38} 32 bits 4 octets
  • 26. Si à présent notre variable "x" ne prend jamais une valeur négative (-20, -78, ...), alors on utilisera un type non-signé. C'est à dire, dans notre cas, un char dont la valeur n'est plus de -128 à +127, mais de 0 à 255. Voici le tableau des types non signés, on repère ces types par le mot unsigned (de l'anglais : non-signé) qui les précède : Type Quel nombre il stocke ? Valeurs maximales du nombre stocké Nombre sur X bits Nombre d'octets unsigned char entier non négatif 0 à 255 8 bits 1 octets unsigned int entier non négatif 0 à 65 535 16 bits 2 octets unsigned long entier non négatif 0 à 4 294 967 295 32 bits 4 octets
  • 27. Une des particularités du langage Arduino: Est qu'il accepte un nombre plus important de types de variables. Type Quel nombre il stocke ? Valeurs maximales du nombre stocké Nombre sur X bits Nombre d'octets byte entier non négatif 0 à 255 8 bits 1 octets word entier non négatif 0 à 65535 16 bits 2 octets boolean entier non négatif 0à1 1 bits 1 octets
  • 28. Les variables booléennes: Sont des variables qui ne peuvent prendre que deux valeurs : ou VRAI ou FAUX. Elles sont utilisées notamment dans les boucles et les conditions Boolean variable = FALSE; Boolean variable = TRUE; Le langage Arduino accepte aussi une troisième forme d'écriture (qui lui sert pour utiliser les broches de sortie du microcontrôleur) : Int variable = LOW; Int variable = HIGH; L’adresse du site ou je me suis documenté est très bien expliqué. http://www.siteduzero.com/sciences/tutoriels/arduino-pour-biencommencer-en-electronique-et-en-programmation
  • 29. Structure Fonctions de base Ces deux fonctions sont obligatoires dans tout programme en langage Arduino : •void setup() •void loop() Structures de contrôle •if •if...else •for •switch case •while •do... while •break •continue •return Syntaxe de base •; (point virgule) •{} (accolades) •// (commentaire sur une ligne) •/* */ (commentaire sur plusieurs lignes) Opérateurs arithmétiques •= (égalité) •+ (addition) •- (soustraction) •* (multiplication) •/ (division) •% (modulo) Opérateurs de comparaison •== (égal à) •!= (différent de) •< (inférieur à) •> (supérieur à) •<= (inférieur ou égal à) •>= (supérieur ou égal à) Opérateurs booléens •&& (ET booléen) •|| (OU booléen) •! (NON booléen) Opérateurs composés •++ (incrémentation) •-- (décrémentation) (à revoir) •+= (addition composée) •-= (soustraction composée) •*= (multiplication composée) •/= (division composée) Variables et constantes Les variables sont des expressions que vous pouvez utilisez dans les programmes pour stocker des valeurs, telles que la tension de sortie d'un capteur présente sur une broche analogique. Constantes prédéfinies Les constantes prédéfinies du langage Arduino sont des valeurs particulières ayant une signification spécifique. •HIGH | LOW •INPUT | OUTPUT •true | false A ajouter : constantes décimales prédéfinies Expressions numériques •Expressions numériques entières Types des données Les variables peuvent être de type variés qui sont décrits ci-dessous. Synthèse des types de données Arduino •boolean •char •byte •int •unsigned int •long •unsigned long •float (nombres à virgules) •double (nombres à virgules) •Les chaînes de caractères •Les tableaux de variables •void (fonctions) Conversion des types de données •char() •byte() •int() •long() •float() Référence •Code ASCII (à finir) Fonctions Entrées/Sorties Numériques •pinMode(broche, mode) •digitalWrite(broche, valeur) •int digitalRead(broche) Entrées analogiques •int analogRead(broche) Sorties "analogiques" (génération d'impulsion) •analogWrite(broche, valeur) - PWM Entrées/Sorties Avancées •tone() •noTone() •shiftOut(broche, BrocheHorloge, OrdreBit, valeur) •unsigned long pulseIn(broche, valeur) Temps •unsigned long millis() •unsigned long micros() •delay(ms) •delayMicroseconds(us) Math •min(x, y) •max(x, y) •abs(x) •constrain(x, a, b) •map(valeur, toLow, fromHigh, toLow, toHigh) •pow(base, exposant) •sq(x) •sqrt(x) Trigonométrie •sin(rad) •cos(rad) •tan(rad) Nombres randomisés (hasard) •randomSeed(seed) •long random(max) •long random(min, max) Communication •Serial
  • 30. Pour faciliter l ’élaboration d’une application, il existe des librairies pour chaque interface. Ce sont des micros programmes. Exemple : La librairie pour lire ou écrire sur une carte SD. //Include all the libraries necessary for FAT32 #include <byteordering.h> #include <fat.h> #include <FAT16.h> #include <fat_config.h> #include <partition.h> #include <partition_config.h> #include <sd-reader_config.h> #include <sd_raw.h> #include <sd_raw_config.h> Ces librairies se déclarent en début de programme, elles doivent êtres téléchargées depuis le net et copiées au paravent dans le dossier arduino/libraries/ Ps: à chaque ajout de librairies, l’interface doit être relancé.
  • 31. Lire la tension sur une broche analogique: Un truc très sympa avec Arduino, c'est que c'est facile à prendre en main. Et ça se voit une fois de plus avec l'utilisation des convertisseurs numérique -> analogique ! En effet, vous n'avez qu'une seule nouvelle fonction à retenir : analogRead() ! analogRead(); Cette fonction va nous permettre de lire la valeur lue sur une entrée analogique de l'Arduino. Elle prend un argument et retourne la valeur lue : •L'argument est le numéro de l'entrée analogique à lire (explication ci-dessous) •La valeur retournée (un int) sera le résultat de la conversion analogiquenumérique Sur une carte Arduino Uno, on retrouve 6 CAN. Ils se trouvent tous du même côté de la carte, là où est écrit "Analog IN" :
  • 32. Exemple de lecture de la tension sur une broche analogique: const int potar = 0; // le potentiomètre, branché sur la broche analogique 0 int valeurLue; //variable pour stocker la valeur lue après conversion float tension; //on convertit cette valeur en une tension Le schéma : void setup() { //on se contente de démarrer la liaison série pour visualiser la valeur Serial.begin(9600); } void loop() { //on convertit en nombre binaire la tension lue en sortie du potentiomètre valeurLue = analogRead(potar); //on traduit la valeur brute en tension (produit en croix) tension = valeurLue * 5.0 / 1024; //on affiche la valeur lue sur la liaison série Serial.print("valeurLue = "); Serial.println(valeurLue); //on affiche la tension calculée Serial.print("Tension = "); Serial.print(tension,2); Serial.println(" V"); } Serial.println(); //on saute une ligne entre deux affichages delay(500); //on attend une demi-seconde pour que l'affichage ne soit pas trop rapide
  • 33. Exemple de lecture de la tension sur une broche analogique et d’écriture sur un port numérique : //définition des broches utilisée (vous êtes libre de les changer) const int led_verte = 9; const int led_bleue = 10; const int led_rouge = 11; int compteur_defilement = 0; //variable permettant de changer de couleur void setup() { //définition des broches en sortie pinMode(led_rouge, OUTPUT); pinMode(led_verte, OUTPUT); pinMode(led_bleue, OUTPUT); } void loop() { couleur(compteur_defilement); //appel de la fonction d'affichage compteur_defilement++; //incrémentation de la couleur à afficher if(compteur_defilement > 6) compteur_defilement = 0; //si le compteur dépasse 6 couleurs } delay(500); Suite du code Le schéma :
  • 34. Exemple de lecture de la tension sur une broche analogique et d’écriture sur un port numérique : void couleur(int numeroCouleur) { switch(numeroCouleur) { case 0 : //rouge analogWrite(led_rouge, 0); //rapport cyclique au minimum pour une meilleure luminosité de la LED //qui je le rappel est commandée en "inverse" //(0 -> LED allumée ; 255 -> LED éteinte) analogWrite(led_verte, 255); analogWrite(led_bleue, 255); break; case 1 : //vert analogWrite(led_rouge, 255); analogWrite(led_verte, 0); analogWrite(led_bleue, 255); break; case 2 : //bleu analogWrite(led_rouge, 255); analogWrite(led_verte, 255); analogWrite(led_bleue, 0); break; case 3 : //jaune analogWrite(led_rouge, 0); analogWrite(led_verte, 0); analogWrite(led_bleue, 255); Suite du code break; Le schéma :
  • 35. Exemple de lecture de la tension sur une broche analogique et d’écriture sur un port numérique : case 4 : //violet analogWrite(led_rouge, 0); analogWrite(led_verte, 255); analogWrite(led_bleue, 0); break; case 5 : //bleu ciel analogWrite(led_rouge, 255); analogWrite(led_verte, 0); analogWrite(led_bleue, 0); break; case 6 : //blanc analogWrite(led_rouge, 0); analogWrite(led_verte, 0); analogWrite(led_bleue, 0); break; default : //"noir" analogWrite(led_rouge, 255); analogWrite(led_verte, 255); analogWrite(led_bleue, 255); break; } } Fin du code Le schéma :
  • 36. Afficheur LCD: Le schéma : Le branchement L'afficheur LCD utilise 6 à 10 broches de données ((D0 à D7) ou (D4 à D7) + RS + E) et deux d'alimentations (+5V et masse). La plupart des écrans possèdent aussi une entrée analogique pour régler le contraste des caractères. Nous brancherons dessus un potentiomètre de 10 kOhms. Les 10 broches de données peuvent être placées sur n'importe quelles entrées/sorties numériques de l'Arduino. En effet, nous indiquerons ensuite à la librairie LiquidCrystal qui est branché où. Le montage à 8 broches de données
  • 37. Afficheur LCD: Comme écrit plus tôt, nous allons utiliser la librairie "LiquidCrystal". Pour l'intégrer c'est très simple, il suffit de cliquer sur le menu "Import Library" et d'aller chercher la bonne. Une ligne #include "LiquidCrystal.h" doit apparaitre en haut de la page de code (les prochaines fois vous pourrez aussi taper cette ligne à la main directement, ça aura le même effet). Ensuite, il ne nous reste plus qu'à dire à notre carte Arduino où est branché l'écran (sur quelles broches) et quelle est la taille de ce dernier (nombre de lignes et de colonnes). Nous allons donc commencer par déclarer un objet (c'est en fait une variable évoluée, plus de détails dans la prochaine partie) lcd, de type LiquidCrystal et qui sera global à notre projet. La déclaration de cette variable possède plusieurs formes LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7) où rs est le numéro de la broche où est branché "RS", "enable" est la broche "E" et ainsi de suite pour les données. •LiquidCrystal(rs, enable, d4, d5, d6, d7) (même commentaires que précédemment Ensuite, dans le setup() il nous faut démarrer l'écran en spécifiant son nombre de colonnes puis de lignes. Cela se fait grâce à la fonction begin(cols,rows).
  • 38. Écran LCD: Le code: #include "LiquidCrystal.h" //ajout de la librairie //Vérifier les broches ! LiquidCrystal lcd(11,10,9,8,7,6,5,4,3,2); //liaison 8 bits de données void setup() { lcd.begin(16,2); //utilisation d'un écran 16 colonnes et 2 lignes lcd.write("Salut les OMs !"); //petit test pour vérifier que tout marche } void loop() { } Comme vous pouvez le voir, le code est très simple, quelques ligne suffisent pour afficher du texte !
  • 39.  Après avoir innové et rendu accessible à un large public le développement de programmes pour micro-contrôleurs, la fondation Arduino se met dans les pas du Raspberry Pi.  Elle vient d’annoncer l’Arduino Tre une carte conçue en partenariat avec BeagleBoard et qui embarque un processeur de la famille Cortex A8 d’ARM (un TI Sitara AM335x à 1GHz) ainsi qu’un micro-contrôleur AVR à ses côtés (un ATMega32U4 comme celui de l’Arduino Due).  A noter que le Sitara AM335x est le même que celui de la BeagleBone Black, ce qui garanti le support des mêmes distributions Linux et d’un support matériel accru. La disponibilité est annoncée pour le printemps 2014 et de prix officiel pour l’instant.  L’Arduino Yún (avec routeur Ethernet/WiFi sous OpenWRT/Linux intégré) étant à 52€, on peut spéculer que le prix du Tre devrait être du même ordre de grandeur c’est à dire dans les 70€.
  • 40.    Autre annonce, celle d’une carte avec processeur Intel x86, l’Intel Galileo conçue en collaboration avec la fondation Arduino. Elle embarque un processeur SoC Quark X1000 à 400MHz qui reprend l’architecture de la famille Atom et qui devrait avoir des performances supérieures aux meilleurs représentants de la famille Cortex Mx d’ARM, mais pour des caractéristiques de consommation inconnue. La disponibilité est annoncée pour fin Novembre et le prix sous les 60$. Cette carte est aussi capable de faire tourner un système d’exploitation Linux.
  • 41. Oscar, DJ0MY http://www.cqdx.ru/ham/do-it-yourself/the-nanokeyer-is-anarduino-nano-based-cw-contest-keyer/   Le nanoKeyer peut être utilisé comme un keyer autonome ou connecté via le port USB de votre ordinateur avec votre logiciel favori. Au moyen du microprogramme de K3NG il peut aussi être utilisé en autonome en y ajoutant un CLAVIER-PS2.
  • 43. http://www.semageek.com/un-librarie-eagle-pour-creer-un-shield-arduino-facilement/ Plus besoin de vous présenter le célèbre logiciel de conception électronique Eagle de Cadsoft, ni le kit Arduino. Voici un outil qui tombe à pic pour ceux qui souhaitent développer leur propre design de shield pour les kits Arduino, une librairie pour Eagle qui contient la base pour créer un nouveau shield. https://github.com/adafruit/Adafruit-Eagle-Library Librairie Eagle
  • 44. EasyVR Matériels nécessaire: • La platine EasyVR pour Arduino. • L’Arduino. EasyVR Arduino Libraries Les logiciels : https://acapela-box.com/AcaBox/index.php EasyVR Commander Il permet de programmer la carte , en l'occurrence: • Insérer les mots reconnues par la voix. • Apprendre la reconnaissance vocale (par comparaison) . • Insérer les mots pour la synthèse vocale. Convertit les textes en fichiers audio reconnus par la carte
  • 45. Matériels nécessaire: RJ45 • La platine Ethernet pour Arduino • L’Arduino. Ethernet Arduino Libraries Le code: ( le début ) Les librairies #include <SPI.h> #include <Ethernet.h> // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip (192,168,1,177); // Initialize the Ethernet server library // with the IP address and port you want to use // (port 80 is default for HTTP): EthernetServer server(80); Micro SD Pour y stocker les pages internet
  • 46. Matériels nécessaire : • La platine E/S pour Arduino. Le code: #define Relais_ON 0 #define Relais_OFF 1 • La carte relais. • L’Arduino. #define Relais_1 2 // Arduino Digital E/S numéro de la broche #define Relais_2 3 #define Relais_3 4 #define Relais_4 5 void setup() { //-------( Initialise les relais en position repos)---digitalWrite(Relais_1, Relais_OFF); digitalWrite(Relais_2, Relais_OFF); digitalWrite(Relais_3, Relais_OFF); digitalWrite(Relais_4, Relais_OFF); //---( Broches en sortie )---pinMode(Relais_1, OUTPUT); pinMode(Relais_2, OUTPUT); pinMode(Relais_3, OUTPUT); pinMode(Relais_4, OUTPUT); } AC250V 10A, AC150V 10A; DC30V 10A , DC28V 10A. Dimension: environ 5 x 3.8 x 1.7cm void loop() { Existe en 1-2-4-8 Relais digitalWrite(Relais_1, Relais_ON); // Relais en fonction delay(2000); // attendre 2secondes digitalWrite (Relais_1, Relais_OFF); // Relais au repos delay(4000); delay(2000); // attendre 2 secondes } } // attendre 4 secondes