[Programmation] comment faire une alimentation pour une matrice programmable pour 9 led puissants ? - Page 3
Répondre à la discussion
Page 3 sur 3 PremièrePremière 3
Affichage des résultats 61 à 66 sur 66

comment faire une alimentation pour une matrice programmable pour 9 led puissants ?



  1. #61
    DAT44

    Re : comment faire une alimentation pour une matrice programmable pour 9 led puissants ?


    ------

    Bonjour mag1,
    Citation Envoyé par mag1 Voir le message
    Bonjour,

    Je ne sais pas où en est top_nullus dans cette histoire.

    En résumé, alimenter 9 groupes de leds de 12 V matricées avec 6 fils.

    Une solution picaxe, le schéma proposé, et le code correspondant.

    Le code explore les 10 possibilités: 9 en matriçage et tout éteint.
    Un appui court (<1 s) incrémente les niveaux.
    On peut changer de sens par un appui long. Ex Les appuis courts incrémentent, un appui long, les appuis courts décrémentent, et l'inverse.

    Le code:

    Code:
    #picaxe 14M2
    dirsB=%111111		;toutes les pins B en sorties
    symbol niveau=b1	;nomination var b1
    symbol sens=bit1	;nomination bit1
    pullup %100000000	;R pullup sur C.3 (poussoir)
    setint %000,%001	;interruption sur C.0, niveau 0
    	niveau =1		;initialisation niveau "tout éteint"
    ;**********************************************************
    	Do				;boucle sur le niveau
    		select case niveau
    		case 1
    			pinsB=%000000	;tout éteint
    		case 2
    			pinsB=%100100	;1L 1C
    		case 3
    			pinsB=%100110	;1L 2C
    		case 4
    			pinsB=%100111	;2L 1C
    		case 5
    			pinsB=%110100	;2L 1C
    		case 6
    			pinsB=%110110	;2L 2C
    		case 7
    			pinsB=%110111	;2L 3C
    		case 8
    			pinsB=%111100	;3L 1C
    		case 9
    			pinsB=%111110	;3L 2C
    		case 10
    			pinsB=%111111	;3L 3C
    		endselect		
    	loop
    ;********************************************************
    interrupt:
    	time=0		;raz time (compte seconde)
    	do
    	pause 1			;pause pour simu, cause mauvaise simulation de time (à supprimer)
    	loop while pinC.0=0
    	if time>0 then		;si appui plus de 1 s
    		sens=not sens	;on inverse le sens
    	endif
    	if sens=0 then		;sens = 0
    		inc niveau		;on incrément
    		else dec niveau	;sinon on décrémente
    	endif
    	if niveau >10 then	;cycle max =10
    		niveau=1
    	endif
    	if niveau <1 then	;cycle min=1
    		niveau=10
    	endif	
    	setint %000,%001	;interrup sur C.0, niveau 0
    	return
    Si il y a des questions, j'ai des réponses

    MM
    le cahier des charge initial était :

    Maintenant, j'envisage un seul bouton poussoir pour tout faire :
    - appui long c'est pour éteindre ou allumer au niveau 9
    - appui court isolé c'est toujours pour descendre d'un niveau, si c'est éteint, alors on allume au niveau 1
    - appui court répété c'est toujours pour descendre progressivement jusqu'au niveau 1 puis monter progressivement jusqu'au niveau 9 puis redescendre progressivement jusqu'au niveau 1 puis monter progressivement jusqu'au niveau 9 et ainsi de suite (sans jamais éteindre).

    sur ton code, en impulsion courte après 10 on retombe a 1 , normalement on doit changer de sens(décrément) et passé a 9, non ?

    -----

  2. #62
    mag1

    Re : comment faire une alimentation pour une matrice programmable pour 9 led puissants ?

    Citation Envoyé par DAT44 Voir le message
    Bonjour mag1,

    le cahier des charge initial était :

    Maintenant, j'envisage un seul bouton poussoir pour tout faire :
    - appui long c'est pour éteindre ou allumer au niveau 9
    - appui court isolé c'est toujours pour descendre d'un niveau, si c'est éteint, alors on allume au niveau 1
    - appui court répété c'est toujours pour descendre progressivement jusqu'au niveau 1 puis monter progressivement jusqu'au niveau 9 puis redescendre progressivement jusqu'au niveau 1 puis monter progressivement jusqu'au niveau 9 et ainsi de suite (sans jamais éteindre).

    sur ton code, en impulsion courte après 10 on retombe a 1 , normalement on doit changer de sens(décrément) et passé a 9, non ?
    Bonjour,

    Il est vrai que ce programme ne répond pas au cahier des charges. En voici un qui y répond exactement:

    Les niveaux sont ceux retenus par le demandeur
    ON/OFF sur appui long

    Incrémentation et décrémentation avec changement de sens aux deux extrémités sur appui court
    Passage en niveau le plus bas par appui court sur tout éteint.
    Bref comme demandé quoi...

    Code:
    #picaxe 14M2
    dirsB=%111111		;toutes les pins B en sorties
    symbol niveau=b1	;nomination var b1
    symbol sens=bit1	;nomination bit1
    pullup %100000000	;R pullup sur C.3 (poussoir)
    setint %000,%001	;interruption sur C.0, niveau 0
    	niveau =1		;initialisation niveau "tout éteint"
    ;**********************************************************
    	Do				;boucle sur le niveau
    		select case niveau
    		case 1
    			pinsB=%000000	;0L 0C tout éteint
    		case 2
    			pinsB=%100100	;1L 1C
    		case 3
    			pinsB=%100110	;1L 2C
    		case 4
    			pinsB=%110001	;2L 1C
    		case 5
    			pinsB=%111100	;3L 1C
    		case 6
    			pinsB=%110110	;2L 2C
    		case 7
    			pinsB=%111011	;3L 2C
    		case 8
    			pinsB=%110111	;2L 3C		
    		case 9
    			pinsB=%111111	;3L 3C tout allumé
    		endselect		
    	loop
    ;********************************************************
    interrupt:
    	
    ;**** ON/OFF sur appui long: >1s
    	time=0		;raz time (compte seconde)
    	do
    		if time>0 then				;appui long si time>0		
    			if pinsB=0 then			;on est tout éteint
    				pinsB=%111111		;on passe tout allumé			
    				niveau= 9			;pour le prog principal
    				goto sortie			;sortie appui long				
    				else				;on est tout éteint
    				pinsB=%000000 		;on passe tout éteint
    				niveau=0			;pour prog principal
    				goto sortie			;sortie appui long							
    			endif		
    		endif		
    		pause 1			;pour simu, cause mauvaise simulation de time, à supp dans la vraie vie
    	loop while pinC.0=0
    ;***** appui court (time<0) sur éteint ***********
    	if pinsB=0 then		;si tout éteint
    		niveau=2		;on passe en niveau 2
    		sens=0			;sens croissant
    		goto sortie		;on sort
    	endif 
    ;***** appui court sur allumé càd hors des cas précédents
    	if sens=0 then			;en sens incrémentation	
    		inc niveau			;on incrémente
    	 	if niveau >9 then	;on était au max
    			sens=1			;on change de sens
    			niveau=8		;on redescent
    		endif
    			else			;cad sens=1, décroissant
    		dec niveau			;on décrémente
    		if niveau <2 then	;on était au min	
    			sens=0			;on change de sens
    			niveau=2		;on remonte
    		endif		
    	endif					;fin traitement, on sort
    	
    sortie:
    	do loop while pinC.0=0	;en appui long, il faut finir par enlever le doigt...
    	setint %000,%001		;interrup sur C.0, niveau 0
    	return					;retour prog principal
    Dernière modification par mag1 ; 12/04/2016 à 13h37.
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  3. #63
    DAT44

    Re : comment faire une alimentation pour une matrice programmable pour 9 led puissants ?

    Bonjour,
    merci mag1, c'est beau !
    Je vais récupérer une partie de ton code pour l’éclairage de mon plan de travail dans ma cuisine, merci encore ...
    Dernière modification par DAT44 ; 12/04/2016 à 20h46.

  4. #64
    mag1

    Re : comment faire une alimentation pour une matrice programmable pour 9 led puissants ?

    Citation Envoyé par DAT44 Voir le message
    Bonjour,
    merci mag1, c'est beau !
    Je vais récupérer une partie de ton code pour l’éclairage de mon plan de travail dans ma cuisine, merci encore ...
    Bonjour,

    Merci, mais c'est quand même du vite fait avec des détises dans les commentaires :
    "else ;on est tout éteint", alors que c'est le contraire
    "time<0 " au lieu de time=0

    Et si ça peut servir, tant mieux..

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

  5. #65
    invitedb8ff2da

    Re : comment faire une alimentation pour une matrice programmable pour 9 led puissants ?

    Bonjour Mag1,

    J'ai beaucoup apprécié ton implication dans mon projet et je t'en remercie.

    Par facilité, plutôt que de faire une recherche, je le reconnais, je te demande quel programme as-tu utiliser pour faire le schéma que tu m'as proposé et fait-il aussi le circuit imprimé ?
    Où et comment puis-je me le procurer ?

    Je sais comment je vais réaliser cette alimentation, j'ai encore quelques "personnalisations" à faire sur le programme.
    En principe, je donnerai le code final ici avec mes commentaires. Il y aura certainement une optimisation à faire.

    J'ai aussi d'autres projets en tête et je commanderai en une seule fois tous les composants afin de réduire les frais d'expédition.

    J'ouvrirai un autre post pour chacun d'eux qui me posera un problème de programmation / conception / réalisation.

    Maintenant, chaque fois que je regarde un appareil, j'imagine quel pourrait être son code (micro-onde, lave linge ou lave vaisselle, etc.) et si j'en aurai un meilleur à "fabriquer".

    Il y a quelques années, j'avais ajouté une fonction "sieste" à mon radio-réveil juste en ajoutant une puce logique ...
    A l'arrêt, il est possible de le mettre en marche pour une durée déterminée.
    La fonction "sieste", c'est le contraire.
    Plus besoin de reprogrammer l'heure du réveil à chaque fois.

  6. #66
    mag1

    Re : comment faire une alimentation pour une matrice programmable pour 9 led puissants ?

    Bonjour,

    Ok, faudra nous tenir au courant de tous ces projets.

    Pour les logiciels que j'utilise, tout est sur cette page (faudrait aussi que j'ajoute ma liste d'empreintes).
    http://electromag1.wifeo.com/fabriqu...s-imprimes.php

    C'est peut être pas les plus performants (pas de routage, etc), mais ils sont gratuits, de prise en main rapide et largement suffisants (pour moi)

    A suivre

    MM
    Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...

Page 3 sur 3 PremièrePremière 3

Discussions similaires

  1. [Paris] Aimants puissants pour bricoler?
    Par littlebigman dans le forum Bricolage et décoration
    Réponses: 4
    Dernier message: 16/03/2012, 21h27
  2. comment faire pour calculer le prix du chauffage pour 2 appartements
    Par invitea4965a42 dans le forum Habitat bioclimatique, isolation et chauffage
    Réponses: 3
    Dernier message: 05/03/2012, 08h49
  3. Alimentation pour des leds à faire clignoter
    Par invite947c2c97 dans le forum Électronique
    Réponses: 1
    Dernier message: 28/06/2009, 09h13
  4. Réponses: 0
    Dernier message: 05/03/2009, 22h14
  5. Comment faire pour etre ferme -pilote pour le Bio-Carburant
    Par invitee65af692 dans le forum Environnement, développement durable et écologie
    Réponses: 0
    Dernier message: 23/05/2008, 13h44
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...