PIC EVAL Dev Board PIC18F97J60

Documents pareils
PIC EVAL Dev Board PIC18F97J60

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

1. PRESENTATION DU PROJET

Eclipse atelier Java

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Spécialité Professionnelle. Patrick Boulandet

TD/TP 1 Introduction au SDK d Android

Sélection du contrôleur

Visio Kit. Mode d'emploi

Carte Relais GSM (Manuel Utilisateur)

Utiliser une tablette tactile Androïd

Android. Programmation. De la conception au déploiement avec le SDK Google Android 2. Damien Guignard Julien Chable Emmanuel Robles

MANUEL D INSTRUCTION

Ecran programmable. Testez la différence grâce. à sa puissance, sa rapidité. et ses possibilités réseaux

Utiliser une tablette tactile Androïd

TP1 : Initiation à Java et Eclipse

La programmation des PIC en C. Les fonctions, les interruptions.

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Guide d utilisation de PL7 Pro Récupérer ou transférer un programme

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Installation et prise en main

Création du projet : 1 sur 13

Systèmes embarqués D.Rossier

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Robot WIFIBOT Lab V4. Lab V4.

Les structures. Chapitre 3

Les pages suivantes présenteront : I. Le téléchargement et l installation du navigateur. II. L utilisation de Pep s à l aide de ce navigateur.

Bases Java - Eclipse / Netbeans

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Support de formation Notebook

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Version beta. Station Météo 12/11/2012. Réalisation d un Station Météo avec Webserver composée de capteurs Grove et d un module Wifi Flyport.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Utilisation de l outil lié à MBKSTR 9

Configuration de TCPIPconfig.h

Atelier «personnaliser l environnement de l ordinateur mai 2015

Introduction au langage C

Caméra IP motorisée de surveillance jour et nuit

COACH-II Manuel d utilisation

Votre premier projet Android

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Le langage C. Séance n 4

Introduction à Eclipse

Exporter des écritures. Importer des écritures. Depuis EBP Comptabilité.

2. Pour accéder au Prêt numérique, écrivez dans la barre d adresse de votre navigateur Web.

MultiMedia Board. Système de développement. Manuel utilisateur. pour PIC32MX4

Nous venons de voir que la tablette Kindle Fire est une excellente liseuse et un agréable

Prototypage électronique

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

Durée estimée :1 journée Date de la réalisation : Description Fournisseur Référence Nombre PU HT LM35CZ, LM35AZ LM35DZ

PGS TABLETTE PRINCIPES DE BASE Manuel Utilisateur

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Mise en route de Cobian Backup

Modules d automatismes simples

Documentation Technique du programme HYDRONDE_LN

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

Correction des Travaux Pratiques Organiser son espace de travail

IV- Comment fonctionne un ordinateur?

Description pas à pas des différents processus d installation, configuration, saisie des résultats et export des données.

PocketNet SNMP/Modbus

Guide d installation ATTENTION : A la découverte de votre téléphone


Indiquer l'espace libre sur le disque dur

NovoSIP manuel de mise en service

INTERWRITE Workspace

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

TP1 : Initiation à Java et Eclipse

Manuel d utilisation. Jay-tech. Jay-PC Tablet PID7901

Encoder Encoder 1 sur 15. Codification fil par étage 15 étages max. + 2 flèches + signal de mouvement. Raccordements 0.1 mm²...

2. Pour accéder au Prêt numérique, écrivez dans la barre d adresse de votre navigateur Web.

Connexion sur REDLION G-308 avec le modem GSM GDW-11 pour envoi de SMS

Microscope numérique portable Celestron (HDM) Modèle nº Informations, spécifications et instructions

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

FlashWizard v4.5b PRO

Accessibilité ERP Guide des obligations liées à l accessibilité des personnes handicapées dans les bâtiments ERP existants.*

EXTRAITS Tarifs Publics ADEPT Telecom France Edition 13 Applicable 20 octobre 2008

SCL LOGICIEL DE CONTROL

wxwidgets dans un environnement Microsoft Windows

L'émulateur multi-système

Document rédigé par Alexis Michaud (en janvier 2005), réactualisé par Angélique Amelot (septembre 2009)

TUTORIEL INSTALLATION D UNE WENBOX ETHERNET DE WENGO SUR UN MODEM ROUTEUR DG834 G DE NETGEAR

Manuel de référence O.box

Guide de prise en main rapide

Enregistreur de données d humidité et de température

GESTION BOOTLOADER HID

WINDOWS 8. Windows 8 se distingue par la présence de 2 interfaces complémentaires :

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

Datacenters. Les Solutions GMI-Databox.

as Architecture des Systèmes d Information

Chapitre 1 Retour en arrière

BARTHE PRISE EN MAIN RAPIDE DU CLASSCAPTOR. Merci de lire attentivement cette notice avant toute utilisation et conserver la précieusement

Pour accéder au Prêt numérique

Transcription:

PIC EVAL Dev Board PIC18F97J60

2 TP2 : Gestion cabine Ascenseur par plateforme PIC EVAL-ANFA Pour répondre aux questions et justifier vos réponses, vous pouvez faire des copies d écran ou des schémas. I. Objectifs du TP Le but de ces manipulations est de simuler le fonctionnement d un ascenseur de 4 étages en utilisant les boutons poussoirs, leds, et l écran LCD touch screen ; le but final étant de simuler la montée et descente de l ascenseur sur 4 étages, en effet, il suffira d appuyer sur un étage et cela avec des interruptions générées par un simple appui sur les boutons poussoirs.

3 Résultat final : 1. Matériel à votre disposition Certains des éléments suivants sont présents sur votre plan de travail. Une carte Pic Eval Un ICD3 Un câble USB Un câble d alimentation pour la carte

4 2. Montage du TP Il faut impérativement suivre les instructions du fichier MPLAB_Manuel.pdf pour éviter tout dysfonctionnement. Alim LCD PIC18F97J60 Switches LED ICD3 2. Présentation de la carte PIC EVAL La carte de développement «PIC EVAL» est un outil de développement adapté pour la programmation et l expérimentation avec le Micro-contrôleur PIC18F97J60 de chez Microchip. PIC EVAL intègre : 1 connecteur de programmation mémoire Pic. 1 connecteur USB pour la communication PC. 1 afficheur 7 segments et 8 leds. 1 Capteur de proximité et lumière. 1 module Bluetooth / Android.

5 1 microcontrôleur PIC 18F67J60. 1 mémoire flash 16 MB. 1 écran tactile touch screen. 1 capteur de température. 1 horloge temps réel RTC. 2 Relais. 1 serveur web. 1 liaison Ethernet Maitre. 1 liaison Ethernet esclave. 1 liaison I2C. 3. Présentation de MPLAB Ouvrir le projet TP_Ascenseur (File > Open Project > TP_Ascenseur) 1. Présentation générale MPLAB est un Environnement de Développement Intégré (IDE) qui permet le développement logiciel des microcontrôleurs PIC et les contrôleurs de signal numériques dspic de la société Microchip. MPLAB IDE permet : - De créer le code source à l aide de l éditeur intégré. - D assembler, compiler et lier les fichiers sources qui peuvent provenir de langages différents. Un assembleur, un linkeur et un gestionnaire de librairies sont fournis avec MPLAB. Un compilateur C est vendu à part par Microchip; des outils de tierces parties peuvent aussi être utilisés. - De déboguer le code exécutable en observant le déroulement du programme à l aide du simulateur fourni, de l émulateur temps réel ICE 2000 ou de l ICD2 (in circuit debugger) ou encore l ICD3 développés par Microchip. Des outils de tierces parties peuvent aussi être utilisés. - D effectuer des mesures temporelles avec le simulateur ou l émulateur. - De voir les variables grâce à des fenêtres d observation (watch windows). 2. Prise en main de Mplab (Optionnel) Il faut impérativement avoir fait au préalable le TP1 Prise en main de l environnement de programmation pour la carte PIC EVAL-ANFA.

6 4. Projet Ascenseur 1. Écran Lcd touchscreen Nous allons tout d abord nous intéresser à la prise en main de l écran LCD. Vous avez à votre disposition les fichiers 1963.c et 1963.h où vous avez des fonctions pour commander le LCD. Vous avez par exemple les fonctions : void ssd1963_puttext(unsigned int x,unsigned int y,unsigned char *pstring,unsigned int charcolor,unsigned int bkcolor) qui écrit une chaîne de caractères (*pstring) sur l écran LCD. void ssd1963_clearzone(unsigned int x,unsigned int y,unsigned int dx, unsigned int dy,unsigned int Color) qui dessine une zone rectangulaire de couleur Color.

7 2. Programme Le programme de la Pic Eval utilise l écran LCD. Ce programme active l écran LCD, prend la couleur gris clair et affiche au milieu Hello world. Votre fonction main ( ) pour ce projet sera constitué de la fonction suivante : void main(void) InitializeBoard(); // Couleur de l ecran ssd1963_clearzone(0, 0, 480, 272, LightGrey); // Ligne affichee sur l ecran LCD ssd1963_puttext(200, 120, Hello, Black, LightGrey); while(1) Compiler le projet en entier (Run> Clean and Build Project). Lancer l application dans la Pic Eval (Run > Run Project) et vérifier le fonctionnement. Q1. En vous appuyant sur le programme donné, réaliser un programme qui divise l écran en 3 parties de différentes couleurs comme la figure ci-dessous.

8 Zone (a) Zone (b) Zone (c) Logiciel Convert Maintenant on va s intéresser à l insertion des boutons des différents étages. Pour cela vous avez le logiciel Convert. (C:\Tp_Ascenseur\ Programme_Convertisseur_IMAGE) qui convertit une image en un tableau de caractères. Etape 1 : Lancez le logiciel Convert.

9 Etape 2 : Cliquez sur Load pour ouvrir l image que vous voulez convertir. Vous devez avoir l image suivant s afficher : Etape 3 : Cochez l option RAW Data et cliquez sur Save, donner le nom du fichier et le répertoire où l enregistrer. Une fois le fichier converti donné, intégrez le dans le projet. Pour ce faire créez un nouveau fichier ( File > New File) appelez le par exemple boutonascenseurchiffre0.h et mettez y le code donné par le logiciel Convert. Vous aurez ceci :

10 Pour faire appel à ce fichier, vous avez à votre disposition la fonction : void ssd1963_drawpicture(unsigned int X,unsigned int Y,unsigned int size_x,unsigned int size_y,rom unsigned char *pic) voir description dans le fichier ssd1963.c. Pour notre exemple, on peut utiliser la fonction comme tel : void main(void) InitializeBoard(); // Couleur de l ecran ssd1963_clearzone(0, 0, 480, 272, LightGrey); // Ligne affichee sur l ecran LCD ssd1963_puttext(200, 120, Hello, Black, LightGrey); //Affichage Bouton 0 ssd1963_drawpicture(370, 205, boutonascenseurchiffre0_width, boutonascenseurchiffre0 _HEIGHT, boutonascenseurchiffre0_bmp); while(1)

11 Q2. Modifiez le programme en ajoutant l affichage du bouton 0 sur l écran LCD dans la zone (b). Q3. En vous appuyant sur la question 1 et 2, affichez sur le coté droit de l afficheur les 4 boutons pour les différents étages. Résultat voulu :

12 3. Utilisation de la touchscreen Nous allons maintenant utiliser la touchscreen, pour cela vous avez une fonction donnée : void Decode_TS(unsigned int x, unsigned int y) // Interruption écran tactile if((x > 330)&&(x < 430)) if((y > 0)&&(y < 68)) //a modifier en fonction de vos boutons // ZONE Bouton 3 if((y > 68)&&(y < 136)) //a modifier en fonction de vos boutons // ZONE Bouton 2 if((y > 136)&&(y < 204)) //a modifier en fonction de vos boutons // ZONE Bouton 1 if(y > 204) //a modifier en fonction de vos boutons // ZONE Bouton 0 Q4. Dans le programme principal, créez une fonction qui, lorsqu on appuie sur un des boutons, il reconnait bien le bouton où on a appuyé (faites allumer la LED0 pour le bouton 0 par exemple ). On va maintenant ajouter une zone blanche dans la zone gauche haute (zone (a)) pour afficher l étage où l on est.

13 Code de la zone blanche : //contour de la zone blanche ou apparaitra l étage ou on est ssd1963_putline(159,4,'x',142,black); ssd1963_putline(159,205,'x',142,black); ssd1963_putline(159,4,'y',202,black); ssd1963_putline(301,4,'y',202,black); // trait horizontal haut // trait horizontal bas // trait vertical gauche // trait vertical droite ssd1963_clearzone(160, 5, 140, 200, White); Q5. Rajoutez ce bout de code dans le programme et vérifiez le fonctionnement. Q6. En utilisant la fonction ssd1963_clearzone(), dessinez des chiffres de 0 jusqu à 3, chiffres qui seront affichés dans la zone blanche de la question précédente. Créez un nouveau fichier que vous appellerez Chiffres_LCD.c et mettez y des fonctions pour chaque chiffre, par exemple number_zero() pour le chiffre zéro, number_two pour le deuxième, etc. Exemple de chiffre : Q7. Modifiez le programme de la question Q4 pour que lorsqu on appuie sur un bouton, le numéro de l étage demandé soit indiqué dans la zone blanche.

14 On veut maintenant simuler la montée et descente de l ascenseur via des flèches, une flèche vers le haut pour une montée et une flèche vers le bas pour la descente. Q8. Créer une fonction qui dessine une flèche vers le haut. Rappel : Une flèche est un rectangle avec un triangle Q9. Créer une fonction qui dessine une flèche vers le bas. Vous avez à votre disposition des fonctions qui permettent de gérer la montée ou descente d un étage, ces fonctions sont dans le fichier OtherFuntions.c. Pour faciliter l insertion de ces fonctions dans le main, vous aurez à votre disposition les bouts de code à ajouter dans le fichier Question9.c

15 Fonction TIMER0_ISR modifiée : void TIMER0_ISR(void) // Interruption Timer0 // <editor-fold defaultstate="collapsed" desc="user-description"> if(intconbits.tmr0if) //////////////////////////////////////////////////////////////////////////////// if(flagattenteascenseurouvert==1) compteurtimer0ascenseurouvert++; if(compteurtimer0ascenseurouvert==100) // Si on passe 100 fois dans l'interruption du Timer compteurtimer0ascenseurouvert=0; flagattenteascenseurouvert=0; flagfinascenseurouvert=1; //////////////////////////////////////////////////////////////////////////////// if(ascenseuron==1) compteurtimer0changementetage++; if(compteurtimer0changementetage==100) // Si on passe 100 fois dans l'interruption du Timer compteurtimer0changementetage=0; // On remet à 0 pour recompter flagchangementetage=1; // On lance le flag qui simule l'arrivée à un nouvel étage else compteurtimer0changementetage=0;

16 Q10. En vous appuyant sur la question précédente, créer un programme qui lorsqu on monte il dessine la flèche vers le haut (question Q6) et pour la descente la flèche vers le bas (question Q7) à gauche de la zone blanche. Q11. On veut maintenant que, lors d une montée ou descente, dans la zone du bas (zone (c)), on affiche le texte suivant : Prochain arret : x où x est l étage où l on veut aller. Q12. Ajoutez une image d interdiction de fumer dans la zone du bas à droite. Pour cela utiliser le logiciel Convert. (voir parti Logiciel Convert). Résultat voulu :