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

COMPTEUR POUR VOITURE AVEC PIC16F88
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#1 Message par JEJE89000 » ven. 30 oct. 2015 18:55

Bonjour j ai un souci avec mon compteur vitesse car tableau de bord hs . Le principe marche bien mais je n arrive pas a faire la conversion Volt KMH

Merci de m aider je suis nouveau dans la programmation de PIC

Code:

/*Header******************************************************/

// LCD module connections
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;
// End LCD module connections

unsigned char ch; //
unsigned int adc_rd; // Declare variables
char *text; //
long tlong; //

void main() {
INTCON = 0; // All interrupts disabled
ANSEL = 0x04; // Pin RA2 is configured as an analog input
TRISA = 0x04;
ANSEL = 0; // Rest of pins are configured as digital

Lcd_Init(); // LCD display initialization
Lcd_Cmd(_LCD_CURSOR_OFF); // LCD command (cursor off)
Lcd_Cmd(_LCD_CLEAR); // LCD command (clear LCD)

text = "Peugeot "; // Define the first message
Lcd_Out(1,1,text); // Write the first message in the first line
text = ""; // Define the second message
Lcd_Out(2,1,text); // Define the first message

ADCON1 = 0x82; // A/D voltage reference is VCC
TRISA = 0xFF; // All port A pins are configured as inputs
Delay_ms(30);

Lcd_Cmd(_LCD_CLEAR); // LCD command (clear LCD)

while (1) {
text = "KMH:"; // Define the third message
Lcd_Out(1,4,text);
adc_rd = ADC_Read(2) / 3,5; // A/D conversion. Pin RA2 is an input.
Lcd_Out(2,4,text); // Write result in the second line

Delay_us(3);
}
}

COMPTEUR POUR VOITURE AVEC PIC16F88
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#2 Message par Jérémy » ven. 30 oct. 2015 19:04

Hello JEJE89000 ,

Je te souhaite la bienvenue sur le Fofo . et je te propose d'entrée de jeu de vite jeter un oeil sur les régles du forum que tu trouveras ici

Notamment pour mettre ton code entre les balises prévues a cet effet !

humour!! as tu problème avec ta touche ' (apostrophe) il n'y en a pas dans ton message :D

Si tu débute, ce forum est fait pour toi . Mais pour obtenir des réponses, tu dois toi aussi fournir un minimum de taf.
Comme par exemple donnez le lien de ton PIC ? plutôt important , j'ai passé pas mal de temps pour créer une aide pour faire ca, regarde ici, ça te paraitra super facile, j'en suis sur.

Un schéma ça aide vachement aussi, car régulièrement les problèmes viennent du hard !
Il manque aussi le logiciel avec lequel tu programme ?

Je me penche sur ton soucis dès que tu aurais fais le nécessaire :lol:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

COMPTEUR POUR VOITURE AVEC PIC16F88
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » ven. 30 oct. 2015 19:19

Je viens de regarder grossièrement ton code ,

Il y as des erreurs de fou ? tu as fais du copier collé ? Désolé , je suis de nature plutôt franche !

La premiere choses se situe ici .

Code : Tout sélectionner

ANSEL 0x04// Pin RA2 is configured as an analog input
TRISA 0x04;
ANSEL 0// Rest of pins are configured as digital 


Tu met la PIN RA2 en analogique avec ANSEL = 0x04 et de ux lignes plus tard tu la passe en numérique : ANSEL = 0; Forcement ta lecture analogique ne fonctionnera jamais.

Je ne vois aucune initialisation de la lecture analogique
C'est en faisant des erreurs, que l'on apprend le mieux !!!

COMPTEUR POUR VOITURE AVEC PIC16F88
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#4 Message par JEJE89000 » ven. 30 oct. 2015 20:29

Désolé j ai oublie d envoyer le datasheet c est un pic16f88 avec la config suivante : mclr on. Boren on oscillateur interne règle a 4mhz
Si j ai réussi a bien programmer mais la aussi je crois que j ai des difficultés mais j essaye de les résoudre tout seul

COMPTEUR POUR VOITURE AVEC PIC16F88
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#5 Message par paulfjujo » sam. 31 oct. 2015 11:35

bonjour,


il vaudrait mieux eviter de poster sur plusieurs forum en meme temps
et eviter les doublons ou dispertions.
ou au moins le signaler..

dans ce dernier code posté..

Code : Tout sélectionner

adc_rd = ADC_Read(2) / 3,5; // A/D conversion. Pin RA2 is an input.  


eviter de diviser un entier par un flottant
et qui plus est specifier la virgule par un point ...

On doit specifier une zone RAM avant d'utiliser un pointeur
sinon on arrose n'importe ou..
cette erreur peut passer inapercue avec un petit programme
mais fout le boxon des qu'on utilise pas mal de RAM.

Code : Tout sélectionner


float kmh
;
char Text[24]; //
....
adc_rd = ADC_Read(2) ;
kmh= (float) adc_rd / 3.5;  
strcpy
(Text, "kmh :          ");               // Define the 2nd message
Lcd_Out(2,1,Text);
floatToStr(kmh,text+);
Text[16]=0; // maxi =taille LCD
 Lcd_Out(2,1,Text);     
 Delay_ms
(10);   // <- à reduire si besoin est

Aide toi, le ciel ou FantasPic t'aidera

COMPTEUR POUR VOITURE AVEC PIC16F88
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#6 Message par Jérémy » sam. 31 oct. 2015 13:28

il vaudrait mieux eviter de poster sur plusieurs forum en meme temps
et eviter les doublons ou dispertions.

C'est de ma faute Paulfjujo, je lui ai indiqué que le forum existait !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

COMPTEUR POUR VOITURE AVEC PIC16F88
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#7 Message par JEJE89000 » sam. 31 oct. 2015 18:15

:( Désolé mais j avais commencé sur l autre site mais j ai reçu un mail pour me dire que celui la existait .
Bon sinon mon programme marche merci juste le delai de réponse du LCD qui est un peut long
Merci a vous je posterais sur celui la a l avenir désolé

COMPTEUR POUR VOITURE AVEC PIC16F88
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#8 Message par JEJE89000 » dim. 1 nov. 2015 09:29

Bonjour je voudrais savoir qu est ce que je peux faire de bien il me reste des pic16f628a, pic16f88, pic16f777.
Je me suis déjà fais mon compteur, une alarme pour ma maison et un dé électronique .
Si vous avez des idées a me donner pour un prochain sujet. Merci !

COMPTEUR POUR VOITURE AVEC PIC16F88
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#9 Message par Jérémy » dim. 1 nov. 2015 10:07

Bonjour JEJE89000,

Merci d'ouvrir un autre post pour une nouvelle question ? Sinon ca va vite devenir la zizanie !

De plus merci de publier le code qui fonctionne bien, cela pourrait aider d'autre personnes , et c'est le principe du forum, tu travaille pour toi mais ca aide les autres !

Concernant les idées y'en as des millions, tu dépend de la complexité, du budget, du temps, et du niveau etc ......
C'est en faisant des erreurs, que l'on apprend le mieux !!!

COMPTEUR POUR VOITURE AVEC PIC16F88
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#10 Message par JEJE89000 » lun. 2 nov. 2015 13:10

De que sa sera fini d être installer dans la voiture je le poste car je veux être sur que sa fonctionne
A bientôt


Retourner vers « Langage C »

Qui est en ligne

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