Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

Piloter port parallèle avec Excel VBA



  1. #1
    lisette45170

    Exclamation Piloter port parallèle avec Excel VBA


    ------

    Bonjour à tous !
    Je suis sous Windows XP et je souhaiterais utiliser le port parallèle (subd25pts) pour piloter un servo moteur d'imprimante. Comment l'intégrer sous un code VBA avec un userform ? Faut-il utiliser la DLL inpout 32.DLL ?
    Merci d'avance pour votre aide !

    -----

  2. Publicité
  3. #2
    TiClic

    Re : Piloter port parallèle avec Excel VBA

    Il existe au moins deux librairies inpout32.dll, la première date de 2000 (40960 octets) et est incompatible avec l'architexture de Windows NT et XP. On peut l'utiliser, mais il faut installer un driver et c'est lourd.

    La seconde version date de 2003 (32758 octets) et fonctionne sous XP. Tu la trouveras ici

    Tu déclareras tes fonctions dans un module comme ceci :

    Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer
    Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
    Sur ta UserForm, tu vas créer deux boutons (tu nommeras le premier In et le second Out) et deux zones de texte (que tu nommeras InVal et OutVal).

    Code:
    Private Sub Inval_Change()
    
    End Sub
    
    Private Sub OutVal_Change()
    
    End Sub
    
    Private Sub In_Click()
      OutVal.Text = Str(Inp(Val("&H" + InVal.Text)))
    End Sub
    
    
    Private Sub Out_Click()
      Out Val("&H" + Inval.Text), Val(OutVal.Text)
    End Sub
    Si tu entres 378 dans la zone de texte InVal, tu obtiendras 255 dans la zone de texte OutVal.

  4. #3
    lisette45170

    Re : Piloter port parallèle avec Excel VBA

    Je n'arrive pas a obtenir 5V sur le port parallèle pour y brancher un moteur ou un relais !

  5. #4
    lisette45170

    Re : Piloter port parallèle avec Excel VBA

    Merci pour ta réponse TiClic elle m'a été très utile ! Mais j'aimerai aussi savoir comment envoyer 5V sur, par exemple, la broche 2 du port parallèle avec Excel VBA mais toujoirs par l'intermédiaire d'un bouton placé dans un Userform.

    Merci d'avance !

  6. A voir en vidéo sur Futura
  7. #5
    PA5CAL

    Re : Piloter port parallèle avec Excel VBA

    Citation Envoyé par lisette45170 Voir le message
    Je n'arrive pas a obtenir 5V sur le port parallèle pour y brancher un moteur ou un relais !
    Normal. Ça n'a jamais été fait pour fournir de la puissance, mais seulement pour transmettre des signaux logiques TTL (niveau haut mini garanti de 2,4V seulement).

    Il faut donc se contenter de ce que peut produire le port parallèle (en n'utilisant que des circuits et des composants adaptés), ou bien utiliser une source d'alimentation extérieure.

  8. #6
    lisette45170

    Re : Piloter port parallèle avec Excel VBA

    Je souhaiterais en fait piloter un moteur d'imprimante avec Excel VBA par un bouton marche/arrêt dans un Userform. Je sais qu'il faut utiliser la DLL impout32.DLL mais par quels moyens envoyer une tension sur la subd25 afin que mon moteur puisse tourner en avant/arrière.

  9. Publicité
  10. #7
    PA5CAL

    Re : Piloter port parallèle avec Excel VBA

    Oups... Ce n'est peut-être pas vraiment le 5V qui t'intéresse, mais seulement un niveau logique haut.

    Pour fixer un niveau de sortie sur l'une des broches de l'interface, il faut positionner le bit correspondant dans le registre de données (pour les signaux D0 à D7) ou le registre de commande (pour les autres signaux sortant).

    On peut trouver une explication complète sur ce site.

    Par exemple pour positionner la broche 2 (D0) à l'état haut, il faut positionner le bit 0 du registre de données (Data Register) à 1 à l'aide de la fonction Out fournie dans la DLL.

    .
    Dernière modification par PA5CAL ; 13/03/2009 à 18h04.

  11. #8
    PA5CAL

    Re : Piloter port parallèle avec Excel VBA

    Ainsi, si le port parallèle est installé dans la plage d'adresses 378h-37Fh, alors l'instruction

    Out 888, 1

    positionnera la sortie D0 au niveau haut et les sorties D1 à D7 au niveau bas
    (puisque 888 en décimal = 378 en hexadécimal, et 1 = 00000001 en binaire)

  12. #9
    lisette45170

    Re : Piloter port parallèle avec Excel VBA

    Merci de ta réponse je vais m'en contenter pour le moment et j'ai regardé le site que tu m'a conseillé, il va peut être m'aider.
    A bientot et merci de votre aide

  13. #10
    Chris76

    Re : Piloter port parallèle avec Excel VBA

    Citation Envoyé par PA5CAL Voir le message
    Ainsi, si le port parallèle est installé dans la plage d'adresses 378h-37Fh, alors l'instruction

    Out 888, 1

    positionnera la sortie D0 au niveau haut et les sorties D1 à D7 au niveau bas
    (puisque 888 en décimal = 378 en hexadécimal, et 1 = 00000001 en binaire)
    bonjour le fil, si le fil est toujours d'actualité..?
    je voudrais savoir comment s'est déroulée la suite..
    j'ai un projet un peu similaire, la dll et le code dans excel ont l'air de fonctionner sous xp.
    c'est pas mal ça..!

    merci d'avance pour la réponse
    Christian

Discussions similaires

  1. Piloter un contact sec avec un port de sortie d'un Pic
    Par lcoulon dans le forum Électronique
    Réponses: 7
    Dernier message: 08/11/2008, 09h19
  2. piloter moteur pas a pas depuis port parallele
    Par Bouteille51 dans le forum Électronique
    Réponses: 14
    Dernier message: 24/10/2007, 12h07
  3. Piloter du 16v ac avec port imprimante
    Par o0Zz dans le forum Électronique
    Réponses: 17
    Dernier message: 02/12/2005, 12h55
  4. piloter un moteur avec un port serie
    Par taopay dans le forum Électronique
    Réponses: 7
    Dernier message: 18/10/2005, 07h42
  5. pb pour piloter un circuit par le port parallèle
    Par LaMouche dans le forum Électronique
    Réponses: 2
    Dernier message: 25/08/2005, 10h33
Découvrez nos comparatifs produits sur l'informatique et les technologies.