MikroElektronika Easypic - Page 2
Répondre à la discussion
Page 2 sur 3 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 62

MikroElektronika Easypic



  1. #31
    flyingrock

    Re : MikroElektronika Easypic


    ------

    Bonsoir,

    Tu as le schéma ici ---> http://www.mikroe.com/pdf/easypic4/easypic4_manual.pdf

    @+

    -----

  2. #32
    invite03481543

    Re : MikroElektronika Easypic

    Voici la doc de ta carte easypic4, tu y trouveras tout ce qu'il te faut sur les dipswitchs et les cavaliers pour configurer ta carte selon ton programme.
    Chez eux "cartes de développement" prend tout son sens...
    @+

    easypic4_manual.pdf

    PS: je poste le pdf, ainsi il est hébergé par le forum et dans 5 ans cette doc y sera encore et probablement plus sur le site du fabricant.
    Dernière modification par HULK28 ; 27/12/2012 à 22h08.

  3. #33
    Nowotny

    Re : MikroElektronika Easypic

    Pour commencer merci, j'ai bien tout réinstaller comme il le faut.
    Mais les ennuis ne sont pas terminés, une fois tout installé, au moment de tester les exemples, je compile et là Nom : MCU.jpg
Affichages : 107
Taille : 44,0 Ko après recherche cela proviendrait du port USB en lui meme qui ne délivre que 3.3V au lieu des 5 requis comment régler cet ultime problème ?

  4. #34
    flyingrock

    Re : MikroElektronika Easypic

    C'est pas plutôt ton PIC qui serait trop récent par rapport au firmware de la carte ?

  5. #35
    flyingrock

    Re : MikroElektronika Easypic

    Encore moi .....

    Quand ta carte est branchée à ton PC et sous tension tu ouvres "MikroProg Suite" et tu regardes si ton PIC est dans la liste.

    C'est quoi la référence de ton µcontroleur ?

  6. #36
    Nowotny

    Re : MikroElektronika Easypic

    Citation Envoyé par flyingrock Voir le message
    C'est quoi la référence de ton µcontroleur ?
    J'ai un microcontroller du type PIC16F877, qui est bien répertorié dans la liste de MicroProg Suite.

  7. #37
    flyingrock

    Re : MikroElektronika Easypic

    t'as bien installé le bon driver qui correspond a ta carte ?

  8. #38
    Nowotny

    Re : MikroElektronika Easypic

    Sur le CD dont je dispose j'ai pris le driver qui se nomme : USB18PRG-Vista-x64, donc compatible a priori avec Windows7 64 bits que j'ai.

  9. #39
    flyingrock

    Re : MikroElektronika Easypic

    A priori c'est le bon driver https://www.mikroe.com/forum/viewtopic.php?f=12&t=26146

    Es tu certain que les exemples que tu as essayés sont compatibles avec le 16f877 ?

  10. #40
    Nowotny

    Re : MikroElektronika Easypic

    J'espérais que oui mais en feuilletant les forums : notamment celui du fabriquant, je me suis aperçu que je me trompais, mais sur le site suivant des exemples plutôt sympas sont donnés, encore une fois, je télécharge, et voulant tester, je m'aperçois que les fichiers ne sont pas compatibles avec MikroC. Que faire?

  11. #41
    flyingrock

    Re : MikroElektronika Easypic

    C'est normal ils sont écrits en MikroPascal a toi de les retranscrire en C.
    Sinon tu injectes directement le .hex dans ton PIC je crois que tu peux les télécharger sur le site
    ou tu les demandes a l'auteur.

  12. #42
    Nowotny

    Re : MikroElektronika Easypic

    Alors oui, enfin quelque chose qui marche, j'ai téléchargé electronique_led_clignotante_1 6f877_001.zip décompressé puis directement implanté le fichier hex dans le pic à l'aide de mikroProg et ça marche, j'ai une ligne de leds qui clignotent
    de même avec le 7 segments ça a l'air de fonctionner, enfin au moins je peux agir sur le fonctionnement de la carte.
    Ma question est la suivante, étant donné que j'arrive uniquement à programmer via le fichier .hex et que mikroC ne propose pas de sauvegarde sous l'extension .hex, comment donc implanter mes futurs programmes dans ma carte? Finalement comment les convertir en .hex?

  13. #43
    invite03481543

    Re : MikroElektronika Easypic

    Lorsqu'on developpe un projet, il faut creer un projet, ca parait evident et pourtant...
    Tu ouvres ton IDE (Interface De Developpement), l'environnement de programmation en somme, puis tu fais "new project", un fichier mcppi va etre creer, l'IDE te demande alors quel micro tu comptes utilise, quel valeur de quartz, le dossier de destination, bref tout ce qu'il faut pour creer un dossier ou tes fichiers vont etre stockes, y compris ton hex lorsqu'un compilation realisee avec succes sera executee.
    Il faut commencer par un petit projet, genre je fais clignoter une led, et a chaque fois que tu changes de projet tu recrees un nouveau dossier projet, ainsi tu peux rappeler chacun de tes projets, l'IDE s'ouvrira la ou tu t'etais arrete precedemment.

    A chaque compilation reussie, ton hex est sauvegarde dans ce dossier automatiquement, c'est pour ca qu'il ne te demande rien, c'est la que tous les fichiers que tu vas creer (c, h) doivent etre stockes, ils le sont automatiquement si tu les crees depuis ton projet.
    Si tu veux recuperer un fichier C cree ailleurs, tu fais un copier-coller et bien sur tu le colles dans le dossier projet, il apparaitra dans l'IDE en faisant file -> open puis tu va chercher le fichier que tu veux ouvrir.
    Si tu souhaites inclure le fichier dans ta compilation il faut utiliser les onglets lateraux a droite et prendre l'onglet "project manager" puis "add files".

    Commence par un petit projet et familiarise toi avec l'IDE en faisant des essais, tu ne risque rien d'essayer.
    @+

  14. #44
    Nowotny

    Re : MikroElektronika Easypic

    Youpi ! ça marche ! Ahlala le manque de rigueur, mon péché. Merci beaucoup en tout cas
    J'ai maintenant ma petite led qui clignote,je passe à la commande du lcd (soyons fou)
    Code:
    void main() {
    TRISB=0;
    Lcd_Init();
    Lcd_Cmd(_Lcd_CLEAR);
    Lcd_Cmd(_Lcd_CURSOR_OFF);
    Lcd_Out(1,1,"salut");
    }
    Mais il me semble que mon initialisation n'est pas complète car j'ai le message d'erreur suivant : Nom : Errors.jpg
Affichages : 95
Taille : 131,7 Ko
    De plus dans mes cours de 1ère, pour initialiser le lcd, on se contenter de mettre "Lcd_Initi(&PORTB);" commande qui ne fonctionne visiblement plus. Qu'est-ce que j'ai mal fait?

  15. #45
    invite03481543

    Re : MikroElektronika Easypic

    Tu n'as pas declare la configuration des ports gerant ton LCD...

    Code:
    sbit LCD_RS at LATB4_bit;
    sbit LCD_EN at LATB5_bit;
    sbit LCD_D4 at LATB0_bit;
    sbit LCD_D5 at LATB1_bit;
    sbit LCD_D6 at LATB2_bit;
    sbit LCD_D7 at LATB3_bit;
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    
    void main(){
      TRISB = 0;                          
      Lcd_Init();                        
      Lcd_Cmd(_LCD_CLEAR);               
      Lcd_Cmd(_LCD_CURSOR_OFF);        
      Lcd_Out(1,1,"salut");                   }

  16. #46
    Nowotny

    Re : MikroElektronika Easypic

    Alors j'ai adapté ce que tu m'a donné, j'ai donc :
    Code:
    sbit LCD_RS at RB4_bit;
    sbit LCD_EN at RB5_bit;
    sbit LCD_D4 at RB0_bit;
    sbit LCD_D5 at RB1_bit;
    sbit LCD_D6 at RB2_bit;
    sbit LCD_D7 at RB3_bit;
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    
    void main(){
      TRISB = 0;
      Lcd_Init();
      Lcd_Cmd(_LCD_CLEAR);
      Lcd_Cmd(_LCD_CURSOR_OFF);
      Lcd_Out(1,1,"salut");
      }
    Du coup plus d'erreur de compilation, mais lorsque j'implante, rien ne change.

  17. #47
    invite03481543

    Re : MikroElektronika Easypic

    Surement un cavalier mal place sur ta carte
    Ou le contraste au minimum.

  18. #48
    invite03481543

    Re : MikroElektronika Easypic

    Apres verification sur l'EASYPIC4 la configuration du LCD se fait avec le portD, donc il faut modifier le code en prenant:

    D4---D7 du LCD sur PortD4----D7 du PIC puis prendre D2 du PIC pour RS de l'afficheur et D3 du PIC pour E de l'afficheur.
    Tout devrait rentrer dans l'ordre.
    Tout est a la page 23 de la doc que je t'ai poste....

  19. #49
    flyingrock

    Re : MikroElektronika Easypic

    Oups j'ai rien dit.....
    Dernière modification par flyingrock ; 30/12/2012 à 11h46.

  20. #50
    Nowotny

    Re : MikroElektronika Easypic

    D'une part je tenais à remercier Hulk et flyingrock pour leur incroyable patience, gabuzo aussi. Je poste le code qui marche comme ça les prochains dans mon cas auront un exemple de ce qui a marché chez moi :
    Code:
    sbit LCD_RS at RD2_bit;
    sbit LCD_EN at RD3_bit;
    sbit LCD_D4 at RD4_bit;
    sbit LCD_D5 at RD5_bit;
    sbit LCD_D6 at RD6_bit;
    sbit LCD_D7 at RD7_bit;
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    
    void main(){
      TRISD = 0;
      Lcd_Init();
      Lcd_Cmd(_LCD_CLEAR);
      Lcd_Cmd(_LCD_CURSOR_OFF);
      Lcd_Out(1,1,"salut");
      while(1);
      }
    Mais mon ambition est encore un peu plus élevée, il s'agit de lier Conversion analogique numérique et Lcd, je voudrais en fait afficher la valeur de la conversion sur le Lcd.
    du coup j'ai bien fait un programme combinant les deux :
    Code:
    sbit LCD_RS at RD2_bit;
    sbit LCD_EN at RD3_bit;
    sbit LCD_D4 at RD4_bit;
    sbit LCD_D5 at RD5_bit;
    sbit LCD_D6 at RD6_bit;
    sbit LCD_D7 at RD7_bit;                      //le lcd est sur le portD
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    
          unsigned int temp_res;
    
    void main() {
    ADCON1=0X80;
    TRISA=0xFF; //on met le portA en entrée car les deux potentiomètres sont situés sur le PortA
    TRISD=0; //LCD en sortie
    do{
    temp_res=Adc_Read(3);//on lit la valeur du potentiomètre relié à l'entrée A3
    Lcd_Init();
      Lcd_Cmd(_LCD_CLEAR);
      Lcd_Cmd(_LCD_CURSOR_OFF);
      Lcd_Chr(1,1,"temp_res");
    }
    while(1);
    }
    Mais comme Hulk l'a déjà noté ici mon programme s'avère trop naïf, bien qu'il n'y ait pas d'erreur de compilation, il ne répond pas à ce que j'espérais. Je pense que le souci se situe au niveau de la variable temp_res qui n'est pas un texte à proprement parler. J'ai essayé avec Lcd8_Out mais la fonction n'a plus l'air d'être en usage.
    Merci d'avance pour le déblocage.

  21. #51
    invite03481543

    Re : MikroElektronika Easypic

    Oui c'est normal que ca ne fonctionne pas

    La valeur que tu lis est une valeur numerique et toi tu veux afficher un texte, il faut donc que tu convertisses celle-ci pour pouvoir envoyer ta chaine sur le LCD.

    Voici comment faire:

    Code:
    char txt[5];  // on declare un tableau de type char
    .........
    Lcd_Init();
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);
     
    do{
    temp_res=Adc_Read(3);//on lit la valeur du potentiomètre relié à l'entrée A3
    WordToStr(temp_res, txt);  // conversion d'un entier non signe en chaine de caracteres
     Lcd_Out(1,1,txt);
    Delay_ms(100);
    }
    while(1);
    cela t'affichera la valeur de la conversion analogique donc une valeur entre 0 et 1023.
    Il suffira d'ecrire une formule intermediaire pour avoir la valeur en Volt.
    Je te laisse chercher.
    Dernière modification par HULK28 ; 30/12/2012 à 15h17.

  22. #52
    invite03481543

    Re : MikroElektronika Easypic

    Il est souvent utile de moyenner quand tu fais une mesure analogique pour avoir une valeur plus stable.
    Dans ce cas tu peux ecrire un truc du genre:

    Code:
    unsigned int result=0, moyenne;
    char moy_ADCmesure[5];
    
    for (n=0; n<10; n++)
         {
         temp_res=Adc_Read(3);//on lit la valeur du potentiomètre relié à l'entrée A3
         result= result + temp_res;
         }
    
    moyenne=(int)result/n;
    
    WordToString(moyenne, moy_ADCmesure);
    LCD_Out(1,1, moy_ADCmesure);
    Dernière modification par HULK28 ; 30/12/2012 à 15h40.

  23. #53
    Nowotny

    Re : MikroElektronika Easypic

    Citation Envoyé par HULK28 Voir le message
    Code:
    char txt[5];  // on declare un tableau de type char
    .........
    Lcd_Init();
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);
     
    do{
    temp_res=Adc_Read(3);//on lit la valeur du potentiomètre relié à l'entrée A3
    WordToStr(temp_res, txt);  // conversion d'un entier non signe en chaine de caracteres
     Lcd_Out(1,1,txt);
    Delay_ms(100);
    }
    while(1);
    Merci beaucoup cela fonctionne très bien, j'ai tenté de convertir en tension par une multiplication par 5/1024, il m'affiche uniquement le chiffre des unités. j'ai donc tenté 5000*1024 et là l'affichage se fait sur deux cases mais est aléatoire, maintenant en faisant la multiplication avec 5/1024*1000, j'obtiens respectivement 0, 1000, 2000,..., 4000. (j'ai pas risqué de forcé pour atteindre 5000). Donc il apparait donc que la variable n'est pas assez grande pour contenir la valeur à laquelle je veux l'affecter j'ai donc poser une variable intermédiaire que j'ai appellé "tension" et j'ai vu les choses en grand car j'ai posé: "signed long int tension; " mais là encore j'ai uniquement un affichage sur deux cases du lcd.

  24. #54
    invite03481543

    Re : MikroElektronika Easypic

    C'est juste qu'il faut changer de variable et prendre "float" car ton resultat n'est plus un entier
    Puis faire une conversion avec FloatToStr.

  25. #55
    invite03481543

    Re : MikroElektronika Easypic

    Ca donne ca en code:

    Code:
    char txt[15];  // on declare un tableau de type char contenant 15 caracteres
    float result;   // result est une variable decimale de type float.
    .........
    Lcd_Init();
    Lcd_Cmd(_LCD_CLEAR);
    Lcd_Cmd(_LCD_CURSOR_OFF);
     
    do{
    temp_res=Adc_Read(3);//on lit la valeur du potentiomètre relié à l'entrée A3
    result=temp_res*5/1024;
    FloatToStr(result, txt);  // conversion d'un entier non signe en chaine de caracteres
     Lcd_Out(1,1,txt);
    Delay_ms(100);
    }
    while(1);

  26. #56
    Nowotny

    Re : MikroElektronika Easypic

    Mille merciS, c'est vraiment gentil de ta part. Chez moi il a pas aimé le *5/1024 du coup je l'ai remplacé par la valeur approchée c'est à dire 0,0048828125 et là ça marche, juste un décallage de puissance de dix que je n'arrive pas à éviter mais l'essentiel est là :
    Code:
    sbit LCD_RS at RD2_bit;
    sbit LCD_EN at RD3_bit;
    sbit LCD_D4 at RD4_bit;
    sbit LCD_D5 at RD5_bit;
    sbit LCD_D6 at RD6_bit;
    sbit LCD_D7 at RD7_bit;                      //le lcd est sur le portD
    sbit LCD_RS_Direction at TRISB4_bit;
    sbit LCD_EN_Direction at TRISB5_bit;
    sbit LCD_D4_Direction at TRISB0_bit;
    sbit LCD_D5_Direction at TRISB1_bit;
    sbit LCD_D6_Direction at TRISB2_bit;
    sbit LCD_D7_Direction at TRISB3_bit;
    
    char txt[15]; // on déclare un tableau du type char
    unsigned int temp_res;
    float tension;   // result est une variable decimale de type float.
    void main() {
    ADCON1=0X80;
    TRISA=0xFF; //on met le portA en entrée car les deux potentiomètres sont situés sur le PortA
    TRISD=0; //LCD en sortie
    Lcd_Init();
      Lcd_Cmd(_LCD_CLEAR);
      Lcd_Cmd(_LCD_CURSOR_OFF);
      
    do{
    //on lit la valeur du potentiomètre relié à l'entrée A3
    tension=Adc_Read(3)*(0.0048828125);
    
    FloatToStr(tension, txt);  // conversion d'un entier non signe en chaine de caracteres
    Lcd_Out(1,1,txt);
    Delay_ms(100);
    }
    while(1);
    }
    J'ai supprimé l'intermédiaire temp-res car il est inutile et le temp_réssé
    Dernière modification par Nowotny ; 31/12/2012 à 00h50.

  27. #57
    Nowotny

    Re : MikroElektronika Easypic

    Bonjour et bonne année à tous, c'est encore moi, une toute dernière question, est-il technologiquement faisable de relier des câbles à la carte EasypiC4, j'entends faire arriver un câble en cuivre pour récupérer la tension et la convertir en numérique? Je ne vois absolument de connectique pour ce type d'usage sur la carte, d'où ma question.
    Merci d'avance pour vos très bonnes réponses.
    Cordialement, Arthur.

  28. #58
    eSb`

    Re : MikroElektronika Easypic

    Tu veux dire quoi par "câble" ? Tu as accès à tous les PORT de ton PIC sur les "header" à la droite de l'EasyPIC.

  29. #59
    invite03481543

    Re : MikroElektronika Easypic

    Soit tu soudes dessus, soit (plus propre) tu mets un connecteur femelle avec une nappe par exemple ou des clips dans un connecteur femelle qui iront sur les "headers" comme l'a explique eSb.

  30. #60
    Nowotny

    Re : MikroElektronika Easypic

    Citation Envoyé par HULK28 Voir le message
    tu mets un connecteur femelle avec une nappe
    On trouve ça où? je vais voir dans un magasin d'éléctronique demain, mais sur Internet j'ai rien déniché. Une idée du prix?
    Encore merci.
    Dernière modification par Nowotny ; 03/01/2013 à 21h45.

Page 2 sur 3 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. Commande chez Mikroelektronika
    Par flyingrock dans le forum Électronique
    Réponses: 3
    Dernier message: 21/05/2011, 20h08
  2. Forum Mikroelektronika en français
    Par Gérard dans le forum Électronique
    Réponses: 3
    Dernier message: 28/04/2011, 20h37
  3. easypic 6
    Par kevin8z dans le forum Électronique
    Réponses: 22
    Dernier message: 02/04/2010, 20h12
  4. PIC sur MIKROELEKTRONIKA
    Par phill38 dans le forum Électronique
    Réponses: 2
    Dernier message: 04/11/2008, 10h16
  5. Mikroelektronika tracking
    Par inviteff7a2099 dans le forum Électronique
    Réponses: 15
    Dernier message: 31/07/2008, 19h21
Découvrez nos comparatifs produits sur l'informatique et les technologies.