290 likes | 757 Views
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.
E N D
PROGRAMMER EN C UN MICROCONTROLEUR Arduino - Teagueduino STI2D Sin
Intro - La logique câblée: STI2D Sin • VRAI, FAUX • NON , OUI • ET (AND), • NON-ET (NAND), • OU (OR),
Intro - La logique programmée: STI2D Sin Deux familles: microprocesseur microcontrôleur.
Intro - CabléeVs Programmée STI2D Sin 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.
Avec un microcontrôleur tout est intégré STI2D Sin
Le Programme - Organisation générale 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 STI2D Sin
Le Programme - Exemples de compilateurs 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 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; Void main (void) { DDRB = 0xFF; sortie = 0x55; tempo = 1000 while (1) { PORTB = sortie; delay_ms(tempo); sortie = ~ sortie; } } Déclaration des variables utiles au programme Déclaration du début du programme principal Programme principal Fin du programme principal STI2D Sin
Le Programme - Explication du programme en langage C Déclaration du port B du microcontrôleur Void main (void) { DDRB = 0xFF; sortie = 0x55; tempo = 1000 while (1) { PORTB = sortie; delay_ms(tempo); } } La variable de type caractère (codée sur 8 bits) vaut 0x55 en hexadécimal ou 85 en décimale Déclaration d’une boucle infinie La variable de type entière (codée sur 16 bits) vaut 1000 en décimale Réalise une temporisation de 1 seconde Envoie sur le port B du microcontrôleur la valeur de la variable sortie STI2D Sin
Sortie = 0x55 = 0b01010101 Tempo de 1 seconde Résultat sur le kit ATMEL while (1) { PORTB = sortie; delay_ms(tempo); sortie = ~ sortie; } PORT B STI2D Sin
Le microcontrôleur Arduino STI2D Sin
Le microcontrôleur Arduino STI2D Sin
Arduino: c’est quoi? STI2D Sin 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…
Le microcontrôleur Arduino STI2D Sin 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).
Arduino: la description STI2D Sin 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.
Arduino : les avantages STI2D Sin 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
Arduino: la prorammation STI2D Sin Les modules sont programmés au travers d'une connexion série RS-232, ou USB
Arduino : Les entrées / sorties STI2D Sin 14 entrées/sorties numériques, dont 6 peuvent produire des signaux PWM, et 6 entrées analogiques.
Arduino: le hardware STI2D Sin 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).
Le microcontrôleur Teagueduino STI2D Sin 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é.
Teagueduino: le programme STI2D Sin
Le microcontrôleur Teagueduino:les Entrées / Sorties STI2D Sin Inputs: Buttons (small and medium), Switches (small and large), Rotary knobs (rotary potentiometer), Sliders (linearpotentiometer), Light sensors (CdS LDR), Magneticsensors (ratiometric), Temperaturesensors (thermistor), Force (fsr), and Audio level (microphone withpeak 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 switchtail) to control highercurrentdevices.