Interruptions externes et agenda

Slides:



Advertisements
Présentations similaires
Exercice 1 1 (père) et 1 (fils) 1 (père) et 0 (fils)
Advertisements

La librairie assert.h.
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
Abes agence bibliographique de l’enseignement supérieur Comment adapter les “modéles de notices” à vos besoins ?
Outils logiciel pour la programmation en C. 2 Automatiser la compilation : make make est un utilitaire présent dans toute les distribution de linux >
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
Toulibre : présentation de... par Rémy Sanchez +.
1/1/ Synthèse TD 3 Classe et adresse IP Bertrand Chesneau Morgan Nouet.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
CINI – Li115 1 Semaine 6 Les fonctions ● Pourquoi écrire des fonctions ? ● Définition de fonctions ● Fonction main ● Appels de fonctions ● Portée des variables.
CINI – Li115 1 Semaine 10 Les pointeurs ● Notion d'adresse ● Déclaration et utilisation de pointeurs ● "Types pointeur" et initialisation des pointeurs.
1 Programmation en C++ Fonctions ● Déclaration et définition de fonctions ● Arguments ● Surcharge ● Arguments optionnels ● Fonctions constantes ● Fonctions.
Le protocole X-10 Domotique Patrick ABATI | 1 / En 1978, Pico Electronics une petite entreprise de Glenrothes (Ecosse) finalise le standard international.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
A quoi sert la programmation? - indispensable pour plusieurs métiers. - passion. But du cours: - suite du cours Prog. Imp. I - fichiers, pointeurs, modularité.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
1 Après 4 séances ● Ipn1 ipn2 ipn3 ipn4 ipn5 ipn6 ipn7 ipn8 ipn9 ● Hello OK- X OK- OK OK- X OK- OK ● Image OK X X OK-- X OK X X ● Shapes ● TpQt ● DrawQT.
Télécommande du mini-robot code Problème : Problème : Le robot doit être contrôlé par la télécommande Avancer (code 17) Droite (code 19) Gauche (code 20)
Les microcontroleur et Arduino 1 ère approche.  Quels sont  les plus petits  Les moins chers Des PC commercialisés au grand public ? Question ?
Conception, simulation et réalisation d’un thermomètre numérique
A la fin de la séance, vous saurez comment identifier ses fonctions.
Arduino DIGITAL INITIATION.
Programmation en C++ Héritage
Environnement du développement de BD ORACLE REPORTS 10g
Pas de variable globale
Pointeurs et langage C.
Télécommande du mini-robot
Programmation Impérative II
Comment s’inscrire aux cours?
Inscription Concours Phonurgia
Principes de programmation (suite)
Algorithmique Langage C
Cours 5 Mardi 13 septembre Période 1: Les bases de l’informatique et les composantes de l’ordinateur PARTIE 1 Période 2: L’utilisation de Power Point.
Semaine 11 Les pointeurs (suite)
Les fonctions.
Arguments de la ligne de commande
Un Algorithme , c'est Quoi ?
Réalisation d'agents de surveillance Zephir
Programmation Impérative II
Programmation en C++ Classes
Les flux en C++ Les flux d’entrées sorties Les flux standards.
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Programmation en C++ C++ de base
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Les jeux coopératifs Collège Amfipagiton Alcamo, Italie Mars 2015
WORD EN LIGNE Ariane / Tous les mots en rouge sont expliqués dans les pages vocabulaire (les dernières du diaporama) en cliquant.
Eléments de base du langage C
Les Systèmes Automatisés. . Simples ou complexes, les systèmes automatisés sont partout dans notre environnement quotidien Connaître leur fonctionnement.
LEGO MINDSTORMS EV3 Atelier d’initiation robotique pédagogique
Simulation de robots en MATLAB
Le DOS GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015
Considérations de programmation
1)Déclaration des variables (integer, real,..) 2) Instructions exécutables et non exécutables 3) Stop 4) End 5) Déclaration des sous programmes type Fonction.
Transition vers l’assignation automatique des stages à la résidence
Dépiler et mettre valeur dans RT (récup. paramètre)
Sommaire : Les capteurs de force. Les capteurs à jauges de contraintes
EXAO Dosage acide base LP ROMPSAY LA ROCHELLE.
 C’est quoi Laravel ?  Installer Laravel 5 avec Composer  Structure des Fichiers  Créer une page d’authentification  Comment faire le Routing dans.
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Tableaux Cours 06.
À surveiller après l’installation du cours
STREAMS (et fichiers).
Yves Chevallier & Andrew Watson
Introduction à L’Informatique
Formation Dragon NaturallySpeaking
Fonctions Abstractions procédurales.
Eléments de base du langage C
ACCOMPAGNEMENT OUTILS D’AIDE TECHNOLOGIQUES
L’apprentissage par la robotique Mr. Zouari Lazhar
Transcription de la présentation:

Interruptions externes et agenda Démon Robopoly Interruptions externes et agenda JIRI 10/05/2019

Comment contrôler un capteur ? while(1) valeur = digitalRead(A, 5); Deux possibilités Polling Interruption externe JIRI 10/05/2019

Interruptions, as-tu dit ? int main(void) { instruction 1; instruction 2; instruction 3; } //Code de //l'interruption : instruction A; instruction B; Interruption (exemple: le capteur voit quelque chose) Faire l'exemple de sat. THIBAULT 10/05/2019

Les flancs de 0 à 1 = flanc montant de 1 à 0 = flanc descendant Typiquement : le capteur voit quelque chose JIRI 10/05/2019

Le microcontrôleur Une interruption externe est une détection "automatique" d'un changement d'état sur soit le PIND2 (INT0) soit le PIND3 (INT1) Ils doivent brancher !!! PHYSIQUEMENT !!! le capteur sur un de ces deux PINS pour que ça marche! JIRI là 10/05/2019

Programmation La libraire int_ext.h vous simplifie le travail Ne pas oublier de copier les fichiers int_ext.h et int_ext.c dans le dossier du projet Inclure les fichiers dans le projet Mettre la ligne : #include int_ext.h THIBAULT 10/05/2019

Les commandes etat peut prendre les valeurs suivantes void configure_INT0(etat, function); void configure_INT1(etat, function); etat peut prendre les valeurs suivantes RISING_EDGE = flanc montant FALLING_EDGE = flanc descendant ANY_CHANGE = flancs montant et descendant OFF = Désactive l'interruption THIBAULT 10/05/2019

Démonstration void main(void) { configure_INT0(FALLING_EDGE, m_stop); configure_INT1(RISING_EDGE, m_start); setupMotorPWM(100,100); while(1); } void m_stop(void) { setupMotorPWM(0,0); } void m_start(void) { setupMotorPWM(100,100); } JIRI 10/05/2019

Appeler des fonctions périodiquement L'Agenda THIBAULT 10/05/2019

A quoi ça sert Appeler des fonctions, 8 au maximum, toutes les x millisecondes y fois. Exemple : f1 = addNewCallback(haha, 200, 5); Appelle la fonction "haha" toutes les 400ms et s'arrête après 5 appels. THIBAULT 10/05/2019

Explication char addNewCallback(function, Duration, Number); f1 = addNewCallback(haha, 200, 5); Nom Dans l'exemple Valeur / Remarque Référence de la callback f1 Sert à supprimer la callback function haha Fonction appellée Duration 200 Période [ms] = 2 * Duration Duration = 0…65500 Number 5 Nombre d'appels 0 = infinit Number = 1..255 JIRI 10/05/2019

Supprimer une callback stopCallback(char callbackNumber); stopCallback(f1); f1 = la référence de la Callback JIRI 10/05/2019

Démonstration : Capteur de température Notre capteur sort une tension en fonction de la température. Nous allons donc lire cette tension avec un ADC. Nous voulons mettre à jours cette valeur toutes les demi-secondes. Puis on envoie cette valeur sur l'ordinateur grâce à l'UART. THIBAULT 10/05/2019

checkTemp, le code. void checkTemp(void) { } unsigned char temperature = analogReadPortA(0); uartSendByte(temperature); THIBAULT 10/05/2019

Main(), le retour du code. #include <avr/io.h> #include "robopoly.h" void checkTemp(void); int main(void) { return 0; } addNewCallback(checkTemp, 250, 0); while(1); THIBAULT 10/05/2019

Démonstration THIBAULT 10/05/2019

Fireday Uno N'oubliez pas le Fireday de ce samedi dès 09h00 Petit concours facile entre nous (dès 16h00) Les membres du comité sont là pour vous aider. Venez même si vous ne faites pas le concours, vous pouvez finir de monter votre robot dans une bonne ambiance. THIBAULT 10/05/2019

A SAMEDI 10/05/2019