IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Raspberry Pi Discussion :

Piloter un vérin grâce à un bouton poussoir


Sujet :

Raspberry Pi

  1. #1
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut Piloter un vérin grâce à un bouton poussoir
    Bonjour,
    J'aimerais piloter un vérin électrique grâce a mon raspberry, pour cela j'utiliserais, afin de monter et descendre un bouton up et down qui est composé de 3 fils, la masse, le fil pour monter et celui pour descendre. Cependant je n'arrive a "piloter" le bouton car lorsque je le branche, il est tous le temps appuye (d'après le petit programme que j'ai fait).

    Auriez vous des idées ?
    Merci bien !

  2. #2
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut mon code pour tester sir le bouton descendre marche
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    import RPi.GPIO as GPIO
    import time
     
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(5, GPIO.IN)
    GPIO.setup(6, GPIO.IN)
     
    if GPIO.input(6)== 0 :
                      print ("monter")
                       time. sleep(0.1)
    if GPIO.input(5)==0:
                       print("descendre")
                       time.sleep(0.1)


    alors que je n'appuie sur rien, il mets monter

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 617
    Points : 56 731
    Points
    56 731
    Billets dans le blog
    40

  4. #4
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    oui j'ai vu ce tuto mais moi il y a deux fils, un pour monter et l'autre pour descendre.. ça me bloque !

  5. #5
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2018
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Mon bouton a un défault...
    je peux faire ça avec un bouton classique 0,1 qui lorsque j'appuie sur 1 il monte et lorsque j'appuie sur 0 il descend ?

  6. #6
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Points : 2 924
    Points
    2 924
    Par défaut
    bonjour .

    Quel type de bouton utilises-tu?
    • Bouton monostable genre bouton poussoir
    • Bouton bistable genre interrupteur


    Quel montage as-tu réalisé?
    Y a-t-il des résistances de pull up/down sur ton/tes bouton(s) ou est-ce que tu laisses tes broches en l'air?

    Les tests à effectuer seront différents en fonction de tes choix électromécaniques. Cela dit, si ta problématique réside uniquement dans le pilotage aller/retour du vérin, un bête bouton va et vient fera l'affaire.

    Dans tous les cas, il ne faudra pas que tu oublies la gestion des fins de course pour ne pas détruire ton matériel.

    Amicalement,
    naute.

  7. #7
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Points : 2 924
    Points
    2 924
    Par défaut
    Bonjour .

    Peut-être pourrais-tu essayer ceci :

    Maquette réalisée avec Fritzing
    Nom : deplacement_verin.png
Affichages : 1150
Taille : 85,2 Ko
    Schéma réalisé avec Kicad
    Nom : schéma_kicad.png
Affichages : 1280
Taille : 15,0 Ko

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    #!/usr/bin/python
    # coding: utf8
     
    # Importation des modules utilisés
    import RPi.GPIO as GPIO
    import time
     
    GPIO.setmode(GPIO.BCM) # Choix du mode d'assignation des broches
    GPIO.setup(5, GPIO.IN) # Déclaration de la broche 5 en entrée
    GPIO.setup(6, GPIO.IN) # Déclaration de la broche 6 en entrée
     
    print('Stop') # Aucune action au démarrage
    state5 = GPIO.input(5) # État de la broche 5 au démarrage
    state6 = GPIO.input(6) # État de la broche 6 au démarrage
    while True: # Début de la boucle infinie
    	if ((GPIO.input(5) != state5) or (GPIO.input(6) != state6)): # Si une des broche a changé d'état (= pression sur un des boutons)
    		state5 = GPIO.input(5) # On stocke le nouvel état pour le prochain test
    		state6 = GPIO.input(6) # On stocke le nouvel état pour le prochain test	
    		if state5 == 0: # Si le bouton "Monter" est enfoncé
    			print("Monter") # On affiche "Monter" (ou on positionne la broche qui pilote la montée à l'état actif)
    		else:
    			if state6 == 0: # Si le bouton "Descendre" est enfoncé
    				print("Descendre") # On affiche "Descendre" (ou on positionne la broche qui pilote la montée à l'état actif)
    			else: # sinon
    				print('Stop') # On affiche "stop" (ou on positionne les 2 broches à l'état inactif)
    	time.sleep(0.1)

    Je n'ai pas testé le code, n'ayant pas de Raspberry sous la main en ce moment, mais on ne devrait pas être loin.

    Amicalement,
    naute.

  8. #8
    Rédacteur

    Avatar de naute
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2009
    Messages
    708
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mars 2009
    Messages : 708
    Points : 2 924
    Points
    2 924
    Par défaut
    Bonjour .

    Ayant de nouveau un Raspberry Pi disponible, j'ai exécuté le code sous Geany : Il fonctionne parfaitement.

    Amicalement,
    naute

    Edit.

    Voilà ce que ça donne dans un shell SSH ouvert sur ma Raspberry Pi :

    Lancement du script deplacement_verin.py. Au démarrage, la commande est bien sur stop. Le vérin ne bouge pas.
    Nom : Capture du 2018-09-04 11-56-52.png
Affichages : 971
Taille : 28,3 Ko
    Appui sur la touche Monter. Le déplacement du vérin est activé vers le haut.
    Nom : Capture du 2018-09-04 11-57-12.png
Affichages : 960
Taille : 29,2 Ko
    Relâchement de la touche Monter. Le vérin est arrêté.
    Nom : Capture du 2018-09-04 11-57-27.png
Affichages : 968
Taille : 29,9 Ko
    Appuis sur la touche Descendre. Le déplacement du vérin est activé vers le bas.
    Nom : Capture du 2018-09-04 11-57-42.png
Affichages : 1046
Taille : 31,0 Ko
    Relâchement de la touche Descendre. Le vérin est arrêté.
    Nom : Capture du 2018-09-04 11-57-56.png
Affichages : 964
Taille : 31,7 Ko

    Ça a l'air de correspondre à ce que tu cherches.

Discussions similaires

  1. J'ai besoin de bouton poussoir
    Par lgjean dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/10/2006, 10h06
  2. [VBA-E] incrémenter des valeurs excel grâce à des boutons
    Par keiserjo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/07/2006, 11h32
  3. Menu Déroulant activé grâce à un bouton
    Par ero-sennin dans le forum C++Builder
    Réponses: 9
    Dernier message: 07/07/2006, 12h26
  4. Source LaTeX : faire un bouton poussoir dans le PDF
    Par pierrot_latex dans le forum Editeurs / Outils
    Réponses: 3
    Dernier message: 24/02/2006, 14h52
  5. Réponses: 6
    Dernier message: 04/08/2004, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo