25
Lyctaao 2011 STI2D Sin PROGRAMMER EN C UN MICROCONTROLEUR Arduino - Teagueduino

PROGRAMMER EN C UN MICROCONTROLEUR

  • Upload
    lynde

  • View
    158

  • Download
    4

Embed Size (px)

DESCRIPTION

PROGRAMMER EN C UN MICROCONTROLEUR. Arduino - Teagueduino. Intro - La logique câblée:. VRAI, FAUX  NON , OUI  ET ( AND ), NON-ET ( NAND ), OU ( OR ), . Intro - La logique programmée:. Deux familles: microprocesseur microcontrôleur. Intro - Cablée Vs Programmée. - PowerPoint PPT Presentation

Citation preview

Page 1: PROGRAMMER EN C UN MICROCONTROLEUR

Lyctaao 2011 STI2D Sin

PROGRAMMER EN C UN

MICROCONTROLEUR

Arduino - Teagueduino

Page 2: PROGRAMMER EN C UN MICROCONTROLEUR

Intro - La logique câblée:VRAI, FAUX  NON , OUI  ET (AND), NON-ET (NAND), OU (OR),

Lyctaao 2011 STI2D Sin

Page 3: PROGRAMMER EN C UN MICROCONTROLEUR

Intro - La logique programmée:

Deux familles:

microprocesseur

microcontrôleur.

Lyctaao 2011 STI2D Sin

Page 4: PROGRAMMER EN C UN MICROCONTROLEUR

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

Page 5: PROGRAMMER EN C UN MICROCONTROLEUR

Intro - Ensemble microprocesseur et périphériques

Lyctaao 2011 STI2D Sin

Page 6: PROGRAMMER EN C UN MICROCONTROLEUR

Avec un microcontrôleur tout est intégré

Lyctaao 2011 STI2D Sin

Page 7: PROGRAMMER EN C UN MICROCONTROLEUR

Lyctaao 2011 STI2D Sin

Le Programme - Organisation générale

SOURCE EN LANGAGE HAUT NIVEAU TYPE C, C++, JAVA ETC ...

LANGAGE DE BAS NIVEAU

ASSEMBLEUR

CODAGE EN LANGAGE MACHINE

PROGRAMME.c

COMPILATION

TELECHARGEMENT

LIBRAIRIE DE PROGRAMMATION

LIBRAIRIE.h

Page 8: PROGRAMMER EN C UN MICROCONTROLEUR

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

PROGRAMME.c

LIBRAIRIE.h

PROGRAMME.c LIBRAIRIE.h

Page 9: PROGRAMMER EN C UN MICROCONTROLEUR

Lyctaao 2011 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 C++Builder C++LabWindows/CVI

CodeVisio CAVRADC-11 - 68HC11 Compiler SourceBoost IDE

Chaque microprocesseur ou microcontrôleur a son propre langage machineSeul le langage C est commun à tous

D’où A chaque microprocesseur on associe son compilateur

Page 10: PROGRAMMER EN C UN MICROCONTROLEUR

Lyctaao 2011 STI2D Sin

#include <delay.h>#include <90s8515.h>

Int tempo;Char sortie;

Void main (void){

DDRB = 0xFF;sortie = 0x55;tempo = 1000while (1){

PORTB = sortie;delay_ms(tempo);sortie = ~ sortie;

}}

Le Programme - Structure de base d’un programme en langage C

Déclaration des fichiers Headers utiles au

programme

Déclaration des variables utiles au

programme

Déclaration du début du programme principal

Programme principal

Fin du programme principal

Page 11: PROGRAMMER EN C UN MICROCONTROLEUR

Lyctaao 2011 STI2D Sin

Void main (void){

DDRB = 0xFF;sortie = 0x55;tempo = 1000while (1){

PORTB = sortie;delay_ms(tempo);

}}

Le Programme - Explication du programme en langage C

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

Déclaration d’une boucle

infinie

Envoie sur le port B du microcontrôleur la valeur de la

variable sortie

Réalise une temporisation de

1 seconde

Page 12: PROGRAMMER EN C UN MICROCONTROLEUR

Lyctaao 2011 STI2D Sin

PORT B

Sortie = 0x55 = 0b01010101Tempo de 1 seconde

Résultat sur le kit ATMEL

while (1){

PORTB = sortie;delay_ms(tempo);sortie = ~ sortie;

}

Page 13: PROGRAMMER EN C UN MICROCONTROLEUR

Le microcontrôleur Arduino

Lyctaao 2011 STI2D Sin

Page 14: PROGRAMMER EN C UN MICROCONTROLEUR

Lyctaao 2011 STI2D Sin

Le microcontrôleur Arduino

Page 15: PROGRAMMER EN C UN MICROCONTROLEUR

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

Page 16: PROGRAMMER EN C UN MICROCONTROLEUR

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

Page 17: PROGRAMMER EN C UN MICROCONTROLEUR

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

Page 18: PROGRAMMER EN C UN MICROCONTROLEUR

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 extensibleLyctaao 2011 STI2D Sin

Page 19: PROGRAMMER EN C UN MICROCONTROLEUR

Arduino: la prorammation

Les modules sont programmés au travers d'une connexion série RS-232, ou USB

Lyctaao 2011 STI2D Sin

Page 20: PROGRAMMER EN C UN MICROCONTROLEUR

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

Page 21: PROGRAMMER EN C UN MICROCONTROLEUR

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

Arduino: le hardware

Page 22: PROGRAMMER EN C UN MICROCONTROLEUR

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

Page 23: PROGRAMMER EN C UN MICROCONTROLEUR

Teagueduino: le programme

Lyctaao 2011 STI2D Sin

Page 24: PROGRAMMER EN C UN MICROCONTROLEUR

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

Page 25: PROGRAMMER EN C UN MICROCONTROLEUR

Le microcontrôleur Teagueduino: le module

Lyctaao 2011 STI2D Sin