PROGRAMMER EN C UN MICROPROCESSEUR OU UN

Report
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 ...
COMPILATION
LANGAGE DE BAS
NIVEAU
ASSEMBLEUR
CODAGE EN
LANGAGE MACHINE
LIBRAIRIE DE PROGRAMMATION
TELECHARGEMENT
Lyctaao 2011
STI2D Sin
Le Programme - Définition

Fichiers Sources (.c)

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
sont des simples fichiers textes
STI2D Sin
Le Programme - Exemples de compilateurs
Pour programmer des PC
(Intel ou AMD (American
Manufacture Device))
Pour programmer les
microcontrôleurs
(Atmel, Pic, Motorola ou Arduino)
Visual
CodeVisio
C++
Builder C++
LabWindows/CVI
CAVR
ADC-11 - 68HC11 Compiler
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
Déclaration des fichiers
Headers utiles au
programme
#include <delay.h>
#include <90s8515.h>
Int tempo;
Char sortie;
Déclaration des
variables utiles au
programme
Void main (void)
{
DDRB = 0xFF;
sortie = 0x55;
tempo = 1000
while (1)
{
PORTB = sortie;
delay_ms(tempo);
sortie = ~ sortie;
}
}
Lyctaao 2011
Déclaration du début du
programme principal
Programme principal
Fin du programme
principal
STI2D Sin
Le Programme - Explication du programme en langage C
Void main (void)
{
DDRB = 0xFF;
Déclaration
sortie = 0x55;
d’une boucle
tempo = 1000
infinie
while (1)
{
PORTB = sortie;
Réalise une
delay_ms(tempo);
temporisation de
}
1 seconde
}
Lyctaao 2011
STI2D Sin
Déclaration du port B du
microcontrôleur
La variable de type caractère
(codée sur 8 bits) vaut 0x55 en
hexadécimal ou 85 en décimale
La variable de type entière
(codée sur 16 bits) vaut 1000
en décimale
Envoie sur le port B du
microcontrôleur la valeur de la
variable sortie
Sortie = 0x55 = 0b01010101
Tempo de 1 seconde
Résultat sur le kit ATMEL
while (1)
{
PORTB = sortie;
delay_ms(tempo);
sortie = ~ sortie;
}
Lyctaao 2011
STI2D Sin
PORT B
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 "incircuit"),
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

similar documents