Bonjour à tous,
Dans mon projet que je dois réaliser, il y a une partie programmation C. N'ayant pas de notions dans la langage C, je souhaite tout de même créer un programme qui me permettait d'allumer une LED lorsque la valeur de la tension est correcte.
Pour cela, j'utilise un microcontrôleur PIC 18F2550.
Voici le schéma de réalisation que j'ai pu trouver sur le net ainsi que son programme C (ce programme permet de faire clignoter deux LEDs):
#include <p18f2550.h>
#pragma config WDT = OFF // watchdog timer OFF
#pragma config PWRT = ON // power-up timer ON
#pragma config BOR = ON // brown-out detect ON
#pragma config FOSC = HS // oscillator HS (quartz 4 MHz)
#pragma config PBADEN = OFF // PORTB<4:0> pins are configured as digital I/O on Reset
#pragma config LVP = OFF // low voltage programming OFF
void temporisation (int max)
{
// boucle de temporisation
int i ;
for (i = 0 ; i < max ; i++) ;
}
void main (void)
{
// Initialisation
TRISB = 0x00 ; // Configuration en sortie des broches RB0 à RB7 du port B
PORTB = 0xFF ; // On éteint les LEDs
while (1)
{
// On éteint la LED 0
PORTBbits.RB0 = 1 ; // RB0 = 1
// On éteint la LED 1
PORTBbits.RB1 = 1 ; // RB1 = 1
// Temporisation
temporisation (7500) ;
// On allume la LED 0
PORTBbits.RB0 = 0 ; // RB0 = 0
// Temporisation
temporisation (7500) ;
// On éteint la LED 0
PORTBbits.RB0 = 1 ; // RB0 = 1
// On allume la LED 1
PORTBbits.RB1 = 0 ; // RB1 = 0
// Temporisation
temporisation (7500) ;
// On allume la LED 0
PORTBbits.RB0 = 0 ; // RB0 = 0
// Temporisation
temporisation (7500) ;
}
}
Je dois remplacer la partie rouge du code C par ce que je veux faire (allumer LED verte lorsque la valeur mesurée est dans la plage de valeurs souhaitée / allumer LED rouge lorsque la valeur mesurée est en dehors de la plage de valeurs souhaitée).
Voici concrètement ce que je dois réaliser : Je fais une mesure de tension avec un multimètre et si la tension est correcte, c'est à dire si elle rentre dans la plage de tension, la LED verte s'éclaire, sinon c'est la LED rouge qui s'éclaire (LED vert éteinte). Il faut imaginer ce montage dans une boite (alim et multimètre intégrés dans la boite).
Je sais que vous n'allez pas me donner le code en entier, et je comprends très bien. C'est pourquoi je voudrai, afin de bien commencer le programme, savoir comment déclarer cette plage de valeurs : x compris entre 0v et +/- 0.03v.
Une fois cette plage déclarée, je pourrai poursuivre avec une condition "if" afin de dire si la LED verte dois s'éclairer ou pas.
-----