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

Modification d'un chenillard à leds
venom
Avatar de l’utilisateur
Passioné
Passioné
Messages : 442
Âge : 33
Enregistré en : avril 2016
Localisation : . <------ ici
Contact :

#1 Message par venom » jeu. 24 août 2017 22:42

Bonjour,

J'ai une petite question, j'ai déjà fait un chenillard mais j'aurais voulu savoir si il était possible de modifier le délai via un potentiomètre brancher sur le pic ?
Car pour le coup, il faut reprogrammer si l'on souhaite modifier le délai ?

Cordialement.



 ! Message de modération :
Bonjour à tous,
J'ai déplacé lze sujet dans la bonne catégori. La suite des tutos est réservée aux commentaires sur le tuto en question. Pour les questions on passe sur le forum :wink:



@++
En fait tout est une question de BIT ? :-D

Faire un chenillard à leds
cyril13110
Passioné
Passioné
Messages : 479
Âge : 36
Enregistré en : avril 2016
Localisation : 13

#2 Message par cyril13110 » jeu. 24 août 2017 23:22

venom a écrit :Bonjour,

J'ai une petite question, j'ai déjà fait un chenillard mais j'aurais voulu savoir si il était possible de modifier le délai via un potentiomètre brancher sur le pic ?
Car pour le coup, il faut reprogrammer si l'on souhaite modifier le délai ?

@++


salut a tous,
petit montage simple mais qui peut toujours servir sur des montages plus complexes et qui donne un exemple bien detailler de decalage de bit parfois tres utiles.
pour la gestion du rebont du bp perso je compte les rebonds et le basculement du bit intéressé se fait sur une valeur que je paramètre, en generale je mets 2 ou 3 ca va dependre de la réactivité souhaité, mais ca fonctionne tres bien.

Code : Tout sélectionner

'gestion alumage forcée
    if (portb.6=1) and (comptpb6<20) then
       inc(comptpb6)
    end if
    if (portb.6=0)then
        comptpb6=0
    end if
    if (comptpb6=3) then
       manu_on = not manu_on
    end if
  'fin gestion alumage forcée


oui venom tu peux parametrer un delai via un potar et une entree ana. il faut juste convertir en format utilisable la valeur ana ainsi récupéré et l'utiliser.
exemple tres simple, ton entrée ana evolue de 0 a 1024, ton timer 1 est sur 8 bits soit 255. la convertion est basic tu divise pas 4 la valeur ana tu l'arrondi et le resultat alimente le timer.
ca cest la théorie, en pratique tu fais un decalage de la valeur ana vers la droite de 2 bits, et tu recopie le resultat dans le timer. ca reviens au meme et le tour est joué.....

Modification d'un chenillard à leds
Jérémy
Administrateur du site
Administrateur du site
Messages : 2231
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » ven. 25 août 2017 08:58

Bonjour à tous,
j'aurais voulu savoir si il était possible de modifier le délai via un potentiomètre brancher sur le pic ?
Car pour le coup, il faut reprogrammer si l'on souhaite modifier le délai ?


Oui effectivement pour changer le délai dans ce tuto , il faut reprogrammer le PIC.

Bien évidemment on peut varier la temporisation pour un potar .

Il te suffit de créer une variable qui remplacera le temps de pause. on l’appellera par exemple " Pause" :-D
Ensuite tu branches ton potar sur une entrée analogique, et tu lis et stock cette valeur dans la variable "Pause".
Tu obtiendras donc une valeur entre 0 et 1024 si tu est sur 10bit pour la lecture analogique.
Je te conseille toute fois de convertir cette valeur lue brute , en une donnée plus parlante et moins sensible au varations de lecture. :wink:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Modification d'un chenillard à leds
venom
Avatar de l’utilisateur
Passioné
Passioné
Messages : 442
Âge : 33
Enregistré en : avril 2016
Localisation : . <------ ici
Contact :

#4 Message par venom » ven. 25 août 2017 13:42

Merci pour vos explications. Sûrement mon prochain projet. Je souhaité faire un petit gyrophare a led avec pic. Comme nous sommes sur un forum de pic :-)

J'ai fait et réussi une simu Isis avec un ne555 et cd4017. Mais avec un pic et potar le montage serait d'avantage réduit :wink:

A bientôt pour la suite du projet exit





@++
En fait tout est une question de BIT ? :-D

Modification d'un chenillard à leds
Jérémy
Administrateur du site
Administrateur du site
Messages : 2231
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#5 Message par Jérémy » ven. 25 août 2017 13:57

Cool ce sera avec plaisir !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Modification d'un chenillard à leds
venom
Avatar de l’utilisateur
Passioné
Passioné
Messages : 442
Âge : 33
Enregistré en : avril 2016
Localisation : . <------ ici
Contact :

#6 Message par venom » sam. 2 sept. 2017 00:32

Bonjour a tous,

Bon j'ai plutôt bien avancé de mon coté (ça fonctionne sur breadbord) 8-) et du premier coup :langue:
J'ai découvert une nouvelle fonction sous mikroc qui ma grandement facilité la tache, c'est la fonction VDelay_ms Du coup dans mon code je fait comme ceci : VDelay_ms(ADC_Read(0))

Par contre j'ai quand même rencontrer un petit souci. J'avoue ne pas avoir tout compris du décalage de bits (pas assez de notion dans le domaine) Le problème c'est que je pilote 10 leds, donc elles ne sont pas toutes sur le port B. Avec le décalage de bits je n'arrivais pas a faire aller les 10. :oops:

J'ai donc fait un code complétement différant des codes ci-dessus mais ça fonctionne. (Le code est surement pas parfait au passage)

Code : Tout sélectionner

///////////////////////////////
//     name : gyrophare      //
//      create : venom       //
//     date : 26/08/2017     //
//    pic : 16f88 8MHz      //
///////////////////////////////


unsigned int temp_res;
bit sens;


void main() {
//#################################     CONFIGURATION    #########################################
ANSEL = 0b00000001;
OSCCON = 0b01110000;  //Frequence  oscillateur interne.  8 MHz


TRISA = 0b00000001;   // Configure tout le PORT A en sortie, ce sont nos sorties de LEDs, sauf RA0 qui est en entree analog
TRISB = 0b00000000;   // Configure tout le PORT B en sortie, ce sont nos sorties de LEDs.

PORTA = 0b00000001;
PORTB = 0b00000000;

while(
1)
    {
    temp_res = ADC_Read(0);

     RA3_bit = 1; // allumer le port RC0
      VDelay_ms(temp_res);
     RA3_bit = 0; // eteint le port RC0
     RA4_bit = 1; // allumer le port RC1
      VDelay_ms(temp_res);
     RA4_bit = 0; // eteint le port RC1
     RB0_bit = 1; // allumer le port RC2
      VDelay_ms(temp_res);
     RB0_bit = 0; // eteint le port RC2
     RB1_bit = 1; // allumer le port RC3
      VDelay_ms(temp_res);
     RB1_bit = 0; // eteint le port RC3
     RB2_bit = 1; // allumer le port RC4
      VDelay_ms(temp_res);
     RB2_bit = 0; // eteint le port RC4
     RB3_bit = 1; // allumer le port RC5
      VDelay_ms(temp_res);
     RB3_bit = 0; // eteint le port RC5
     RB4_bit = 1; // allumer le port RC4
      VDelay_ms(temp_res);
     RB4_bit = 0; // eteint le port RC4
     RB5_bit = 1; // allumer le port RC3
      VDelay_ms(temp_res);
     RB5_bit = 0; // eteint le port RC3
     RB6_bit = 1; // allumer le port RC2
      VDelay_ms(temp_res);
     RB6_bit = 0; // eteint le port RC2
     RB7_bit = 1; // allumer le port RC1
      VDelay_ms(temp_res);
     RB7_bit = 0; // eteint le port RC1
    }
}


Une photo du schéma :
Sans titre.png


Et en prime une petite vidéo test :
Vidéo

Désolé je ne suis pas du tout équipe pour de la vidéo. oops

Dites moi ce que vous en pensez, Merci.






@++
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
En fait tout est une question de BIT ? :-D

Modification d'un chenillard à leds
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 1135
Âge : 68
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#7 Message par paulfjujo » sam. 2 sept. 2017 20:21

bonsoir Venom, et à tous

:+1: bonne recherche pour utiliser VDelay_ms !


une sugestion pour simplifier ton programme
et aborder les decalages ..
et aussi utiliser eventuellement Timer1 16 bits pour les delais ?

cela implique une modif hardware :
Cabler les leds de 1 à 8 sur RB0 ..RB7
puis Led 9 et 10 respectivement sur RA0 et RA1
ce qui implique de deplacer le potar sur entree Ana RA2
de ce fait on obtient un gros registre à decalage de 10 bits
en poussant à droite un bit de RB .. qui tombe ensuite dans RA
et on boucle au 10em

je ne vais pas te donner la (une) solution ..
à toi de voir si cela t'interesse.


on pourrait laisser aussi, le cablage tel quel, mais la simplification ne serait pas optimale.
un Challenge .. avec les decalages..!
Aides toi, le ciel ou Fantastpic t'aideras

Modification d'un chenillard à leds
Jérémy
Administrateur du site
Administrateur du site
Messages : 2231
Âge : 39
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#8 Message par Jérémy » dim. 3 sept. 2017 10:24

Sympa Venom ton chenillard, tu as bien bossé !

Le bon programme est celui que tu comprends ! Bien sur on peut toujours optimisé mais parfois ce n'est pas nécessaire surtout en compliquant.

:bravo:
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Modification d'un chenillard à leds
venom
Avatar de l’utilisateur
Passioné
Passioné
Messages : 442
Âge : 33
Enregistré en : avril 2016
Localisation : . <------ ici
Contact :

#9 Message par venom » dim. 3 sept. 2017 13:18

Bonjour a tous,

Merci pour vos encouragements.
Le décalage de bits m'intéresse (même si mon code fait ce que je souhaite). Je regarderai a l'occasion comment faire avec avec décalage de bits. C'est je pense une technique qui mérite d'être abordé (comme ça je je comprendrai d'avantage cette technique)
Pour ce qui est du potar pas de souci de déplacement sur breadbord. :langue:






@++
En fait tout est une question de BIT ? :-D

Modification d'un chenillard à leds
venom
Avatar de l’utilisateur
Passioné
Passioné
Messages : 442
Âge : 33
Enregistré en : avril 2016
Localisation : . <------ ici
Contact :

#10 Message par venom » sam. 14 oct. 2017 23:01

Bonjour a tous,

J’espère que vous allez bien ? Malgré mon silence l’électronique reste pas loin de moi :wink:
En faite je préfère faire un projet a fond plutôt que d'en lancer plusieurs.(d’où mon silence) j'ai reçu les pièces que j'attendais pour ce gyrophare.

Je rencontre néanmoins un souci :oops: Je suis partie sur l’idée de créer ce gyrophare avec des rubans de les adhésif. (je pense que vous voyaient de quoi je parle ) Ces ruban fonctionne au minimum par paquet de 3 leds. (re-coupable)

Donc si nous reprenons mon schéma j'aurais 8 languettes de 3 leds. Le problème c'est que les rubans fonctionne sous 12V. Comment faire niveau alimentation ? sachant que je souhaite faire un gyro portable donc sur batterie ou pile.

Ma réel question est : comment a partir d'une pile ou une batterie avoir du 12V pour les rubans et du 5V pour le pic :? :mur: Quel est la meilleur methode pour combiner les 2 ? sachant qu'un pic ne peut pas envoyé du 12V. Donc je suis un peut perdu sur le coup.

Merci a tous. Ci-joint un petit schéma du gyro très basic.
Image
G = groupe


ou si non même si sa n'est pas très conseillé, pensez vous que c'est possible de mettre 3 leds 5mm en série pour remplacer les bandeau de led ? ça simplifierait la chose :sifflotte: :-D





@++
En fait tout est une question de BIT ? :-D


Retourner vers « Langage C »

Qui est en ligne

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