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 ---
- 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 ---
Modérateur : Jérémy
thermomètre afficheur 7 segments
Bonjour a tous,
Bon je ne sais pas si c'est un problème de code ou de microcontrolleur. J'ai passé une bonne partie du weekend a chercher, tester differantes formules pour avoir un bon résultat. Sans succès.
Pour ce qui est de l’entrée analogique, je ne sais pas si c'est elle le souci car j'ai le même souci sur toutes les entrées. des que je relie le Vout du MCP9700 au pic (sur n'importe quel entrée ana), le multimètre chute de 700 a 100 instantanément.
Donc je coince. je ne sais pas si c'est du au code ou au pic. Car quand le pic n'a pas de code la tension ne chute pas.
Ps : mon dernier code est disponible sur mon premier message page 1 Même si pour le moment mon but est de savoir pourquoi sa chute.
Merci
@++
Bon je ne sais pas si c'est un problème de code ou de microcontrolleur. J'ai passé une bonne partie du weekend a chercher, tester differantes formules pour avoir un bon résultat. Sans succès.
Pour ce qui est de l’entrée analogique, je ne sais pas si c'est elle le souci car j'ai le même souci sur toutes les entrées. des que je relie le Vout du MCP9700 au pic (sur n'importe quel entrée ana), le multimètre chute de 700 a 100 instantanément.
Donc je coince. je ne sais pas si c'est du au code ou au pic. Car quand le pic n'a pas de code la tension ne chute pas.
Ps : mon dernier code est disponible sur mon premier message page 1 Même si pour le moment mon but est de savoir pourquoi sa chute.
Merci
@++
thermomètre afficheur 7 segments
thermomètre afficheur 7 segments
Merci paul,
Malheureusement ça reste pareil. J'ai donc pris le taureau par les cornes (je ne vous dit pas l’état de la pièce ou je travail)
Je me suis amusé a mettre en commentaire chaque lignes pour voir celle qui fait chuter la valeur du multimètre.
Résultat est : la ligne TRISA = 0x00000100; // port A2 en entrée. Entrée = 1, sortie = 0 Pourquoi je ne sais pas. Sans cette ligne le multimètre ne chute pas. Mais les 7seg ne fonctionne pas forcement
Voir aussi du côté des options du compilateur.
@++
Malheureusement ça reste pareil. J'ai donc pris le taureau par les cornes (je ne vous dit pas l’état de la pièce ou je travail)
Je me suis amusé a mettre en commentaire chaque lignes pour voir celle qui fait chuter la valeur du multimètre.
Résultat est : la ligne TRISA = 0x00000100; // port A2 en entrée. Entrée = 1, sortie = 0 Pourquoi je ne sais pas. Sans cette ligne le multimètre ne chute pas. Mais les 7seg ne fonctionne pas forcement
Voir aussi du côté des options du compilateur.
@++
thermomètre afficheur 7 segments
thermomètre afficheur 7 segments
Merci paul,
J'ai tellement fait de modification de code que je ne savais plus ce que javais modifier et non.
Maintenant ça fonctionne, plus de chute du multimètre. Donc avec le code en page 1 je commence a voir des résultats s'afficher sur mes 7seg
Donc déjà un grand merci a tous pour votre aide et votre patience.
Reste maintenant a peaufiné le code car les valeurs varient trop souvent (les 7seg changent d’état trop souvent sa créer des clignotements et des mélanges de chiffres).
Je ne sais pas si c'est possible de faire un timer ou une procédure qui récupérerait la valeur genre toutes les 30 secondes ? car la c'est a chaque boucle
@++
J'ai tellement fait de modification de code que je ne savais plus ce que javais modifier et non.
Maintenant ça fonctionne, plus de chute du multimètre. Donc avec le code en page 1 je commence a voir des résultats s'afficher sur mes 7seg
Donc déjà un grand merci a tous pour votre aide et votre patience.
Reste maintenant a peaufiné le code car les valeurs varient trop souvent (les 7seg changent d’état trop souvent sa créer des clignotements et des mélanges de chiffres).
Je ne sais pas si c'est possible de faire un timer ou une procédure qui récupérerait la valeur genre toutes les 30 secondes ? car la c'est a chaque boucle
@++
thermomètre afficheur 7 segments
-
Jérémy
Administrateur du site- Messages : 2725
- Âge : 45
- Enregistré en : juillet 2015
- Localisation : Dans le sud
- Contact :
Bonjour à tous,
Génial !!!
C'est possible est même conseillé !
L'idée et de faire une fonction, qui lis la tension analogique, qui la convertisse, et qui l'affiche . Ensuite tu appelle cette focntion toute les 30 secondes par exemple via un timer sur interruption !
Comme ca pendant les 30 secondes tu peux faire autre chose !
Ta persévérance à payée !
Génial !!!
Je ne sais pas si c'est possible de faire un timer ou une procédure qui récupérerait la valeur genre toutes les 30 secondes ? car la c'est a chaque boucle
C'est possible est même conseillé !
L'idée et de faire une fonction, qui lis la tension analogique, qui la convertisse, et qui l'affiche . Ensuite tu appelle cette focntion toute les 30 secondes par exemple via un timer sur interruption !
Comme ca pendant les 30 secondes tu peux faire autre chose !
Ta persévérance à payée !
thermomètre afficheur 7 segments
thermomètre afficheur 7 segments
thermomètre afficheur 7 segments
Bonjour a tous,
Merci pour vos encouragement et les méthodes pour amélioré mon affichage.
J'ai pour le moment opté pour une boucle for comme la suggérer Gérard.(assez simple pour mon niveau)
J'ai mis a jour le code en page 1, et j'y ai ajouté le calcul de Paul qui est :
A la seul différence, c'est que j'ai du modifier la ligne L = L-50 par L = L-42 pour qu'au alentour de 700mV j'obtiens un affichage de 20° D’après vous est-ce normale ?
Et mon autre problème c'est que passer 710mV donc 21° mes afficheurs montent bien 21° mais au delà mes 7seg n'affichent plus rien. ils sont éteint.
Mais bon sa avance sa avance.
@++
Merci pour vos encouragement et les méthodes pour amélioré mon affichage.
J'ai pour le moment opté pour une boucle for comme la suggérer Gérard.(assez simple pour mon niveau)
J'ai mis a jour le code en page 1, et j'y ai ajouté le calcul de Paul qui est :
Code : Tout sélectionner
L = ADC_Read(2)*500;
L = L>>10;
L = L-50
temp_res = L ;
A la seul différence, c'est que j'ai du modifier la ligne L = L-50 par L = L-42 pour qu'au alentour de 700mV j'obtiens un affichage de 20° D’après vous est-ce normale ?
Et mon autre problème c'est que passer 710mV donc 21° mes afficheurs montent bien 21° mais au delà mes 7seg n'affichent plus rien. ils sont éteint.
Mais bon sa avance sa avance.
@++
thermomètre afficheur 7 segments
- paulfjujo
Expert- Messages : 2597
- Âge : 73
- Enregistré en : juillet 2015
- Localisation : 01800
- Contact :
A la seul différence, c'est que j'ai du modifier la ligne L = L-50 par L = L-42
pour qu'au alentour de 700mV j'obtiens un affichage de 20° D’après vous est-ce normale ?
cela represente 8°C d" ecart .. c'est hors norme ..
ordre sequence à modifier, OSCON en premier,
ADC Init, apres init des registres
Code : Tout sélectionner
void main() {
OSCCON = 100; //Fréquence pour oscillateur interne. oscillateur 1 MHz
TRISA = 0b00000100; // port A2 en entrée. Entrée = 1, sortie = 0
TRISB = 0b00000000; // tous les port B en sortie. Entrée = 1, sortie = 0
PORTA.RA0 = 0; //Disable digit 1
PORTA.RA1 = 0; //Disable digit 2
CMCON=0; // inhibe les comparateurs
ANSEL = 0b00000100; // Configure AN2 en analog
ADC_Init(); // Initialise module ADC
Delay_ms(100);
while(1)
{
... etc ..
Et mon autre problème c'est que passer 710mV donc 21°
mes afficheurs montent bien 21° mais au delà mes 7seg n'affichent plus rien. ils sont éteint
je ne vois pas le rapport ...
essaie de faire afficher une variable de 0 à 99 , pour verifier l'affichage ..
et une led qui change d'etat à chaque tour de programme
pour verifier si il tourne toujours quand l'affichage s'eteint .
As-tu la possiblité de connecter l'UART du PIC sur un terminal
cela aiderait bien à differencier les problemes
acquisiton ADC
ou Affichage
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 94 invités