Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Erreur Programme LED + BP PIC16F18345
jo7
Débutant
Débutant
Messages : 67
Enregistré en : février 2018

#11 Message par jo7 » jeu. 8 mars 2018 16:51 lien vers la Data-Sheet : Cliquez ici

La led s'allume et quand je reste appuyer la led s'éteint. On y presque je pense faut juste trouver la bonne logique ! oops

Erreur Programme LED + BP PIC16F18345
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#12 Message par paulfjujo » jeu. 8 mars 2018 17:39 lien vers la Data-Sheet : Cliquez ici

si ta led est connectée entre la sortie et le +VCC
un zero l'allume ..
cherche un peu ..
L'init l'allume deja ..

Led=1; au depart pour l'eteindre !

astuce
#define ON 0
#define OFF 1

Led=OFF;



de meme pour le BP, il est preferable de mettre une pull up (externe) de 2,7K à 4,7K,
et ça aide à la comprenette .
les BP ou switch ne conviennent pas pour les trop faibles courants .. à moins d'avoir des contacts OR .
humour!! ("Au" pas le "|" )
Aide toi, le ciel ou FantasPic t'aidera

Erreur Programme LED + BP PIC16F18345
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#13 Message par Gérard » jeu. 8 mars 2018 21:13 lien vers la Data-Sheet : Cliquez ici

Bonjour,
Sue le schéma, je ne vois pas de résistance entre MCLR et VCC.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Erreur Programme LED + BP PIC16F18345
jo7
Débutant
Débutant
Messages : 67
Enregistré en : février 2018

#14 Message par jo7 » ven. 9 mars 2018 09:21 lien vers la Data-Sheet : Cliquez ici

Bonjour,

Sur la datasheet du PIC16F18345, on a un schéma qui montre la broche MCLR page 22

Erreur Programme LED + BP PIC16F18345
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#15 Message par Jérémy » ven. 9 mars 2018 09:54 lien vers la Data-Sheet : Cliquez ici

Bonjour ,

Oui c'est le minimum de connexion qu'ils préconisent ! SI tu n'as pas activé MCLR , elle sera donc utilisée comme une I/O classique Pas besoin de tout ça. PAr contre Si la broche MCLR est utilisée il te faut une Résistance de pull-up obligatoire. Sans quoi ton PIC risque de reseter aléatoirement.

J'ai vraiment du mal a cerner ou ça coince .

Tu confirmes que tu as fait clignoter ta led au démarrage par exemple , 3 fois de suite toutes les secondes ? ainsi on sait que la led est à l'endroit, l'OSC bien réglé, le PIN de la LED en sortie etc ...
Ensuite tu as mis un Résistance de pull-up sur ton BP ? Donc si le BP est relâché la PIN du PIC voit un "1" , si tu appuies sur le BP elle voit un "0" .
Tu as bien mis la PIN du BP en entrée ?
Tu as bien mis la PIN de la led en sortie ?

Donc le code doit fonctionner . Y'a pas plus simple :

- Si tu appuies ca allume
- Si tu relâche ca éteint

Code : Tout sélectionner

     while(1)   // boucle infinie
     {
       if (BP == 0){       // Si le bouton est appuyé ...
          __delay_ms(30);
           if (BP ==0){
               ledR = 1;
             }
        }
       if (BP == 1){       // Si le bouton est relaché...
          __delay_ms(30);
           if (BP ==1){
               ledR = 0;
             }
        }
    }
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Erreur Programme LED + BP PIC16F18345
jo7
Débutant
Débutant
Messages : 67
Enregistré en : février 2018

#16 Message par jo7 » ven. 9 mars 2018 11:32 lien vers la Data-Sheet : Cliquez ici

test_led.c


Bonjour Jeremy,

J'ai réussi déjà à faire la led c'est un bon début ! :bravo: :bravo: humour!!
Maintenant il faut gérer le bouton poussoir pour commander la LED :-)
J'ai bien configurer les entrées-sorties
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Erreur Programme LED + BP PIC16F18345
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#17 Message par Jérémy » ven. 9 mars 2018 11:40 lien vers la Data-Sheet : Cliquez ici

Merci de mettre ton code entre les balises et non en téléchargement, ce sera plus facile de te repondre !

tu fais clignoter ta LED toutes les 30ms; c'est trop rapide pour la voire clignoter proprement . Fait un delays de 1 seconde pour voir l'OSC est bien configuré .

Qu'est ce que ca donne avec mes lignes au dessus ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Erreur Programme LED + BP PIC16F18345
jo7
Débutant
Débutant
Messages : 67
Enregistré en : février 2018

#18 Message par jo7 » ven. 9 mars 2018 11:52 lien vers la Data-Sheet : Cliquez ici

Ton code au-dessus ne fonctionne pas

Erreur Programme LED + BP PIC16F18345
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 953
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#19 Message par venom » ven. 9 mars 2018 11:54 lien vers la Data-Sheet : Cliquez ici

Bonjour,

Un de mes premier code consister justement a faire allumé une led via un bouton.
Voici le code fonctionnelle :

Code : Tout sélectionner

/*
16F688 8mhz oscillo interne
attention pour faire fonctionner un bouton sur un pic
il faut aller dans " project/edit project/ " et tout mettre a disable
et il faut mettre oscillator a INTOSC
*/

sbit inter at RA5_bit;  // donne un nom a la patte RA5 du microcontorleur "inter"
sbit led at RC0_bit;    // donne un nom a la patte RC0 du microcontorleur "led"
 
void main
() {
    TRISA = 0xFF;      // port A en entrée. Entrée = 1, sortie = 0
    TRISC = 0x00;      // tous les port C en sortie. Entrée = 1, sortie = 0

    while(1){
    // action sur le button brancher en pull down
     if (inter == 1)
     {
       led = 1; // eteint la led
     }
     else
     
{
       led = 0; // allume la led
     }
    }
}


et le montage :
Sans titre.png







@++
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par venom le ven. 9 mars 2018 12:34, modifié 2 fois.
Mon site web
Mon discord : venom#4888

Erreur Programme LED + BP PIC16F18345
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#20 Message par Jérémy » ven. 9 mars 2018 12:05 lien vers la Data-Sheet : Cliquez ici

jo7 a écrit :Source du message Ton code au-dessus ne fonctionne pas

???
SI ta réponse c'est ca. J’arrête la et je laisse la main

@venom :
Voici le code fonctionnelle


Avec :

Code : Tout sélectionner

if (inter = 1)

????

ca devrait etre plutot :

Code : Tout sélectionner

 if (inter == 1)
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 39 invités