Bonjour,
j'ai un petit projet qui fonctionne sous arduino avec un shift register 74hc595 qui me permet de commander de nombreuse led avec seulement 3 sorties.
Exemple http://www.zem.fr/decouverte-du-composa ... -register/
Est il possible de commander le shift register avec un automate siemens ?
pour les tensions de sorties, il suffit de faire un pont diviseur mais je n'arrive pas à trouver comment coder les impulsions sous step7
Vincent
multiplexage des sorties
Re: multiplexage des sorties
Bonjour
un peu de mal a comprendre le fonctionnement du shift register 74hc595
peux tu en dire plus !!!
un peu de mal a comprendre le fonctionnement du shift register 74hc595
peux tu en dire plus !!!
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: multiplexage des sorties
Salut.
Il te suffit de relier les pins qui vont bien à des sorties..
puis d'appeler ces fonctions comme tu le désires.
En fait, refaire en siemens les fonctions que tu vois en exemple en arduino.
Sâche que l'arduino pédale certainement plus vite qu'un automate...quoique les automates pédalent fort quand même !
Réponse oui bien sûr.
Il te suffit de relier les pins qui vont bien à des sorties..
puis d'appeler ces fonctions comme tu le désires.
En fait, refaire en siemens les fonctions que tu vois en exemple en arduino.
Sâche que l'arduino pédale certainement plus vite qu'un automate...quoique les automates pédalent fort quand même !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
Re: multiplexage des sorties
Bonjour,
Merci déjà pour vos réponses.
La plus grande difficultée et de coder un signal carré en sortie qui correspond à un nombre en binaire
exemple je veux allumer la lampe 1 4 7 il me faut le signal 1001001 -__-__- et un signal clock.
je n'ai pas d'idée pour générer ce signal, j'ai regardé avec le générateur d'impulsion mais il ne donne qu'un signal carré
Vincent
Merci déjà pour vos réponses.
La plus grande difficultée et de coder un signal carré en sortie qui correspond à un nombre en binaire
exemple je veux allumer la lampe 1 4 7 il me faut le signal 1001001 -__-__- et un signal clock.
je n'ai pas d'idée pour générer ce signal, j'ai regardé avec le générateur d'impulsion mais il ne donne qu'un signal carré
Vincent
Re: multiplexage des sorties
ah ca c pas très complique, il faut
- créer un top horloge
- tu prend le bit zéro du mot que tu transfert dans le signal
- a chaque top horloge tu fait un décalage a droite sur ton mot
- tu prend le bit zéro du mot que tu transfert dans le signal
etc.....
- créer un top horloge
- tu prend le bit zéro du mot que tu transfert dans le signal
- a chaque top horloge tu fait un décalage a droite sur ton mot
- tu prend le bit zéro du mot que tu transfert dans le signal
etc.....
-
philou77
- Mi homme - Mi automate

- Messages : 2142
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: multiplexage des sorties
comme je te l'ai dit, il te suffit de créér une fonction d'écriture..
tu passe ta valeur (1 4 7 dans ton exemple) dans un mot (la led 1 vaut 1, la led 2 vaut 2, la led 3 vaut 4, etc...)
t'additionne les leds à 1 pour avoir ta valeur.
Tu appelles ta fonction qui :
1 - descend le Rclk à 0 (attention, les automates n'activent réellement les sorties qu'à la fin du cycle ! )
2 - positionne ta 1ere sortie (bit 0 de ton mot) (SER) (attention, les automates n'activent réellement les sorties qu'à la fin du cycle ! )
3 - Remonte le Rclk à 1(attention, les automates n'activent réellement les sorties qu'à la fin du cycle ! )
4 Décale ton mot d' bit vers la droite...
Recommence 8 fois !
et voilà
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! 
- itasoft
- Mi homme - Mi automate

- Messages : 7806
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: multiplexage des sorties
slts,
autre exemple (Unity)
(*
Si chaque bit du mot %MW2 représente une lampe
mettre dans %MW0 le n° de la lampe à allumer (0à15)
*)
%MW2 := REAL_TO_INT(EXPT_REAL_INT(2.0,%MW0));
autre exemple (Unity)
(*
Si chaque bit du mot %MW2 représente une lampe
mettre dans %MW0 le n° de la lampe à allumer (0à15)
*)
%MW2 := REAL_TO_INT(EXPT_REAL_INT(2.0,%MW0));
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr

