Sunteți pe pagina 1din 25

PROGRAMMER EN C UN

MICROCONTROLEUR

Arduino - Teagueduino

Lyctaao 2011 STI2D Sin


Intro - La logique câblée:
 VRAI,FAUX
 NON , OUI

 ET (AND),

 NON-ET (NAND),

 OU (OR),

Lyctaao 2011 STI2D Sin


Intro - La logique programmée:
Deux familles:

 microprocesseur

 microcontrôleur.

Lyctaao 2011 STI2D Sin


Intro - Cablée Vs Programmée
La logique programmée offre un énorme
avenage sur la logique câblée:

on change le fonctionnement d’un


système par simple modification du
programme.

Lyctaao 2011 STI2D Sin


Intro - Ensemble microprocesseur et périphériques

Lyctaao 2011 STI2D Sin


Avec un microcontrôleur tout est intégré

Lyctaao 2011 STI2D Sin


Le Programme - Organisation générale

SOURCE EN LANGAGE HAUT NIVEAU


TYPE C, C++, JAVA ETC ...

LANGAGE DE BAS
COMPILATION NIVEAU
ASSEMBLEUR

CODAGE EN
LANGAGE MACHINE

LIBRAIRIE DE PROGRAMMATION

TELECHARGEMENT

Lyctaao 2011 STI2D Sin


Le Programme - Définition

 Fichiers Sources (.c) sont des simples fichiers textes

 Fichiers Headers (.h) ou librairies sont des programmes écrits en


langage c qui contiennent des fonctions (ou macros)

 La compilation permet de
 Lier les Fichiers Sources avec les Fichiers Headers
 Traduire en code machine le programme

 Le téléchargement va mettre en mémoire le programme puis lancer


l’exécution du programme

Lyctaao 2011 STI2D Sin


Le Programme - Exemples de compilateurs

Pour programmer des PC Pour programmer les


(Intel ou AMD (American microcontrôleurs
Manufacture Device)) (Atmel, Pic, Motorola ou Arduino)

VisualC++ CodeVisioCAVR
Builder C++ ADC-11 - 68HC11 Compiler

LabWindows/CVI SourceBoost IDE

Chaque microprocesseur ou microcontrôleur a son propre langage machine


Seul le langage C est commun à tous
D’où
A chaque microprocesseur on associe son compilateur
Lyctaao 2011 STI2D Sin
Le Programme - Structure de base d’un programme en langage C

#include <delay.h> Déclaration des fichiers


#include <90s8515.h> Headers utiles au
programme
Int tempo;
Char sortie; Déclaration des
variables utiles au
Void main (void) programme
{
DDRB = 0xFF;
Déclaration du début du
sortie = 0x55;
programme principal
tempo = 1000
while (1)
{
PORTB = sortie; Programme principal
delay_ms(tempo);
sortie = ~ sortie;
}
Fin du programme
}
principal

Lyctaao 2011 STI2D Sin


Le Programme - Explication du programme en langage C

Déclaration du port B du
Void main (void) microcontrôleur

{
DDRB = 0xFF; La variable de type caractère
Déclaration (codée sur 8 bits) vaut 0x55 en
sortie = 0x55;
d’une boucle hexadécimal ou 85 en décimale
infinie tempo = 1000
while (1) La variable de type entière
{ (codée sur 16 bits) vaut 1000
en décimale
PORTB = sortie;
Réalise une
delay_ms(tempo);
temporisation de Envoie sur le port B du
1 seconde }
microcontrôleur la valeur de la
} variable sortie

Lyctaao 2011 STI2D Sin


Sortie = 0x55 = 0b01010101 Résultat sur le kit ATMEL
Tempo de 1 seconde

while (1)
{
PORTB = sortie;
delay_ms(tempo); PORT B
sortie = ~ sortie;
}

Lyctaao 2011 STI2D Sin


Le microcontrôleur Arduino

Lyctaao 2011 STI2D Sin


Le microcontrôleur Arduino

Lyctaao 2011 STI2D Sin


Arduino: c’est quoi?
 Un circuit imprimé open-source,
 Un microcontrôleur (calculateur),
 Un programme qui analyse et produit des
signaux électriques,

Pour effectuer des tâches très diverses comme


la charge de batteries, la domotique, le
pilotage d'un robot, etc…

Lyctaao 2011 STI2D Sin


Le microcontrôleur Arduino
Ce système est basée sur :

 une interface entrée/sortie simple,


 un environnement de développement connecté
à un ordinateur pour communiquer avec ses
logiciels (ex : Macromedia Flash, Processing,
Max/MSP, Pure Data, SuperCollider).

Lyctaao 2011 STI2D Sin


Arduino: la description
 Un module Arduino est construit autour d'un
microcontrôleur Atmel.
 Chaque module possède au moins un régulateur
linéaire 5V et un oscillateur à quartz 16 MHz.
 Le microcontrôleur est pré-programmé avec un
bootloader de façon à ce qu'un programmateur
dédié ne soit pas nécessaire.

Lyctaao 2011 STI2D Sin


Arduino : les avantages
 Pas cher : moins de 2500 fcp
 Multi-plateforme : écrit en Java, développé
sous Windows, Macintosh et Linux.
 Un environnement de programmation clair
et simple
 Programmes licence open source, librairies
C++,
 Matériel Open source et extensible

Lyctaao 2011 STI2D Sin


Arduino: la prorammation
 Les modules sont programmés au travers d'une
connexion série RS-232, ou USB

Lyctaao 2011 STI2D Sin


Arduino : Les entrées / sorties
 14 entrées/sorties numériques, dont 6 peuvent
produire des signaux PWM,

 et 6 entrées analogiques.

Lyctaao 2011 STI2D Sin


Arduino: le hardware
 Un quartz 16Mhz,
 Une connexion USB,
 Un connecteur d'alimentation jack,
 Un connecteur ICSP (programmation "in-
circuit"),
 et d'un bouton de réinitialisation (reset).

Lyctaao 2011 STI2D Sin


Le microcontrôleur Teagueduino
 L’arduino fait rêver, mais la soudure et la
programmation effraie.
 Teagueduino est un projet développé autour de
l’arduino mais toutes les connections se font via
des cables et l’environnement de programmation
a été grandement simplifié.

Lyctaao 2011 STI2D Sin


Teagueduino: le programme

Lyctaao 2011 STI2D Sin


Le microcontrôleur Teagueduino:
les Entrées / Sorties
 Inputs: Buttons (small and medium), Switches (small and
large), Rotary knobs (rotary potentiometer), Sliders (linear
potentiometer), Light sensors (CdS LDR), Magnetic sensors
(ratiometric), Temperature sensors (thermistor), Force (fsr),
and Audio level (microphone with peak detector).
 Outputs: Speakers (piezo), LEDs (blue, red, and tri-color),
Lasers (point and line), and Servos (small and medium),
Motors (via servo control), and a Switchable AC plug
(power switch tail) to control higher current devices.

Lyctaao 2011 STI2D Sin


Le microcontrôleur Teagueduino:
le module

Lyctaao 2011 STI2D Sin

S-ar putea să vă placă și