jeu de lumiere
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

jeu de lumiere



  1. #1
    eline.lina

    jeu de lumiere


    ------

    Bonjour ,

    je voudrais créer un jeu de lumière à base de pic 16F84A:
    On veut controler 4 LEDs connectées au PORTA comme suit :
    _ Si on appuis sur SW1 connecté à RB1 , la Led 1 clignote 10 fois avec une période de 4 secondes (2 seconde allumée et 2 seconde éteinte).
    _Si on appuis sur SW2 connecté à RB3, led Led 2 et Led 3 clignotent 4 fois avec une période de 8 secondes (4 seconde allumée et 4 seconde éteinte ).
    _Si on appuis sur SW3 connecté à RB5,Les Led 1 et Led 4 clignotent 4 fois avec une période de 8 secondes (4 seconde allumée et 4 seconde éteinte)
    _Si on appuis sur Sw4 connecté à RB7 , la Led 4 clignotent 7 fois avec une période de 6 seconde ( 3 seconde allumée et 3 seconde éteinte ).



    merci de votre aide.
    ELINE.LINA

    -----

  2. #2
    mp3dux

    Re : jeu de lumiere

    bonjour,

    Et si on appuie les 4 boutons en même temps ?

    Sinon tu bloques où ?
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  3. #3
    eline.lina

    Re : jeu de lumiere

    si on appuie les 4 boutons les leds éteintent

  4. #4
    mp3dux

    Re : jeu de lumiere

    Et tu bloques où ? Tu programmes avec quoi dans quel langage ?
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  5. A voir en vidéo sur Futura
  6. #5
    eline.lina

    Re : jeu de lumiere

    il ne bloque pas c'est boucle infini ... et le programme avec mplab langage c

  7. #6
    eline.lina

    Re : jeu de lumiere

    mplab et isis

  8. #7
    mp3dux

    Re : jeu de lumiere

    Citation Envoyé par eline.lina Voir le message
    il ne bloque pas c'est boucle infini
    Oui je sais mais toi tu bloques où ? Pourquoi t'arrives pas ? Au niveau du langage ou au niveau de l'algorithme...
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  9. #8
    Jack
    Modérateur

    Re : jeu de lumiere

    Il n'y a pas moyen de faire du pas à pas avec mplab? Il faut être plus précis sur les symptômes du problème

    De plus ce fil serait plus à sa place en électronique Je déplacerai si besoin est

  10. #9
    eline.lina

    Re : jeu de lumiere

    Code:
    // Attention de respecter les majuscules et minuscules
    #include <htc.h>
    //---------------------------------E/S et variables generales---------------------
    static volatile unsigned char sortie @0x06;
    volatile bit led1 @ ((unsigned)&PORTB*8)+0;
    volatile bit led2 @ ((unsigned)&PORTB*8)+1;
    volatile bit led3 @ ((unsigned)&PORTB*8)+2;
    volatile bit led4 @ ((unsigned)&PORTB*8)+3;
    volatile bit inter1 @ ((unsigned)&PORTA*8)+0;
    volatile bit inter2 @ ((unsigned)&PORTA*8)+1;
    volatile bit inter3 @ ((unsigned)&PORTA*8)+2;
    volatile bit inter4 @ ((unsigned)&PORTA*8)+3;
    //-----------------------------Variables generales--------------------------------
    char temps;
    //-------------------------------Fonction principale------------------------------
    void main(void) {
    sortie = 0; // Initialisation des pattes du microcontrôleur
    TRISB = 0b11110000;
    OPTION_REG = 0b11000111; //prediviseur à 256 entrée : clock/4
    temps = 0;
    TMR0 = 0;
    while(1){ // La suite du programme s'effectue en boucle
    if(inter1==1&& inter2==0&& inter3==0&& inter4==0){
    if (TMR0 == 250) { ++temps; TMR0 = 0; } // 64ms sont passés
    if (temps == 32) { led1=!led1; temps = 0; } // 1,024 seconde est passé
    ; led2=0; led3=0;led4=0; //action sur inter1 uniquement
    }
    if(inter1==0&& inter2==1&& inter3==0&& inter4==0){
    if (TMR0 == 250) { ++temps; TMR0 = 0; } // 64ms sont passés
    if (temps == 64) { led2=!led2; temps = 0; } // 1,024 seconde est passé
    ; led1=0; led3=0;led4=0;// action sur inter2 uniquement
    }
    if(inter1==0&& inter2==0&& inter3==1&& inter4==0){
    led1=1; if (TMR0 == 250) { ++temps; TMR0 = 0; } // 64ms sont passés
            if (temps == 64) { led2=!led2; temps = 0; } // 1,024 seconde est passé
    ;       if (TMR0 == 250) { ++temps; TMR0 = 0; } // 64ms sont passés
            if (temps == 16) { led3=!led3; temps = 0; } // 1,024 seconde est passé// action sur inter3 uniquement
    ;led4=0;
    }
    if(inter1==0&& inter2==0&& inter3==0&& inter4==1){
    led1=0; led2=0; led3=0; 
    if (TMR0 == 250) { ++temps; TMR0 = 0; } // 64ms sont passés
    if (temps == 16) { led4=!led4; temps = 0; } // 1,024 seconde est passé// action sur inter4 uniquement
    }
    
    
    
    
    }
    }
    c'est comme ça le programme mais il reste que led 1 clignote 10 fois et led 2 clignote 4 fois et led 3et 4 clignotent 7 fois
    aidez mois s'il vous plait c'est urgent et merciiiii
    Dernière modification par gienas ; 26/02/2014 à 16h16. Motif: Ajouté les balises de code obligatoires pour les programmes

  11. #10
    eline.lina

    Re : jeu de lumiere

    ceci sur mplab

  12. #11
    Jack
    Modérateur

    Re : jeu de lumiere

    Je transfère en électronique.

    PS: vu l'absence d'indentation du code, ça ne donne pas très envie de le lire.

  13. #12
    Gérard

    Re : jeu de lumiere

    Citation Envoyé par eline.lina Voir le message
    Bonjour ,

    je voudrais créer un jeu de lumière à base de pic 16F84A:
    On veut controler 4 LEDs connectées au PORTA comme suit :
    _ Si on appuis sur SW1 connecté à RB1 , la Led 1 clignote 10 fois avec une période de 4 secondes (2 seconde allumée et 2 seconde éteinte).
    _Si on appuis sur SW2 connecté à RB3, led Led 2 et Led 3 clignotent 4 fois avec une période de 8 secondes (4 seconde allumée et 4 seconde éteinte ).
    _Si on appuis sur SW3 connecté à RB5,Les Led 1 et Led 4 clignotent 4 fois avec une période de 8 secondes (4 seconde allumée et 4 seconde éteinte)
    _Si on appuis sur Sw4 connecté à RB7 , la Led 4 clignotent 7 fois avec une période de 6 seconde ( 3 seconde allumée et 3 seconde éteinte ).



    merci de votre aide.
    ELINE.LINA
    Tu décomposes ton projet et tu commences par faire fonctionner la séquence 1. Quand ça marche, séquence 2 ...

    C'est un programme de base.

Discussions similaires

  1. La lumière se déplace-t-elle à la vitesse de la lumière ?
    Par inviteebbfa20f dans le forum Physique
    Réponses: 47
    Dernier message: 14/07/2016, 22h45
  2. Réponses: 15
    Dernier message: 13/02/2014, 07h04
  3. Lumière bleu moins rapide que la lumière rouge
    Par invite6efd4888 dans le forum Physique
    Réponses: 24
    Dernier message: 19/09/2011, 18h39
  4. Variateurs lumière 5Ow - Fabriquer console lumière
    Par invitedb7a8445 dans le forum Électronique
    Réponses: 3
    Dernier message: 17/06/2010, 15h37
Découvrez nos comparatifs produits sur l'informatique et les technologies.