RaspFR :: Forum

Forum de la communauté francophone de Raspberry PI.

Vous n'êtes pas identifié(e).

Annonce

Attention !!! Le serveur sera migré d'ici la fin de l'année, une coupure du forum est donc à prévoir dans les semaines à venir.

#1 30-06-2016 10:22:57

Nicolusalvaro
Membre
Inscription : 27-06-2016
Messages : 5

Pca 9685

Bonjour
Je m'appele nicolas et je débute en matière de raspberry
Mon projet était de faire une voiture de vidéo surveillance.
J'ai réussi à l'aide de motion et de Webiopi.
J'aimerai y introduire un bras
Pour se faire, j'ai acheté une carte pca9685 qui permet de gérer 16 servomoteurs.
Dans la bibliothèque adafruit il y a un script exemple qui m'a permis de tester ma carte et donc constater qu'elle fonctionne.
Mon problème est que sortie de ce script je ne sais pas du tout comment faire.
Si quelqu'un sait comment faire...
Merciiiiii
?

Hors ligne

#2 30-06-2016 11:58:14

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Pca 9685

hello,

Tu ne donnes pas beaucoup d'infos (pour moi) sur ce que tu veux faire.
Avec cette carte j'ai fait une caméra(pi) motorisée avec 2 moteurs et elle est pilotée par un Joystick branché sur un autre raspberry.

Je peux donner des infos si c'est un peu ton projet.

@+ Bon courage .F.B.

Hors ligne

#3 30-06-2016 13:39:36

bibi21000
Membre
Inscription : 22-05-2016
Messages : 17
Site Web

Re : Pca 9685

Bonjour,
@fbpy

Il m'intéresse ton code smile

Hors ligne

#4 30-06-2016 13:42:11

Nicolusalvaro
Membre
Inscription : 27-06-2016
Messages : 5

Re : Pca 9685

tout d'abord merci d'avoir pris le temps de me répondre.
j'ai une raspberry pi3 équipé d'une Picam
mon objectif était de faire un robot de vidéo surveillance qui serait pilotable depuis le web
pour le Streaming vidéo j'ai donc utilisé motion et pour le pilotage du robot j'ai utilisé webiopi
J'ai réussi a faire fonctionner le tout puis j'ai eu envie de faire fonctionner des servomoteurs.
En fouinant sur le web je suis tomber sur la carte pca9685 qui permet d'utiliser jusqu’à 16 servomoteurs.
Une fois l’installation effectuée j'ai fait un test avec le script exemple et j'ai pu constater le fonctionnement de la carte.
mais je ne sais pas du tout comment faire maintenant pour faire fonctionner les servomoteurs à la demande et par la suite avec webiopi.
le système du joystick est pas mal du tout mais l'objectif est de l'inclure sur webiopi afin que ça reste accessible de partout.
merci encore

Hors ligne

#5 30-06-2016 16:34:39

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Pca 9685

Nico,

Sur le rasp, j'utilise les sockets

un bout de code

listen_address = ('0.0.0.0', 12345) # ecoute sur toutes les interface sur le port 12345
srv_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # protocole UDP
srv_socket.bind(listen_address)
#print "server enabled"

Là je positionne la cam vers la direction voulue.

pwm = PWM(0x40, debug=False) # initialisation de la carte controleur
pwm.setPWMFreq(60)
pos1=450   ## H/B
pos2=650   ## G/D
servo1=0
servo2=1
pwm.setPWM(int(servo1), 0, int(pos1))
pwm.setPWM(int(servo2), 0, int(pos2))

Après j'écoute ce qui arrive sur le port 12345 et j'envoie la commande "pwm.setPWM(int(servo1), 0, int(pos1))"

Sur l'autre Rasp j'envoie j'envoie sur le port 12345
"clt_socket.sendto("1_"+servo_pos, srv_address)"

Tu peux envoyer cette commande en bash, php, python et peut être "webiopi" je ne connais.

@+F.B.

Un lien webiopi et socket

http://pastebin.com/gN9RzjPB

Dernière modification par FBPY (30-06-2016 16:55:50)

Hors ligne

#6 30-06-2016 21:05:48

Nicolusalvaro
Membre
Inscription : 27-06-2016
Messages : 5

Re : Pca 9685

Merci pour la réponse !!
Je vais étudier ça
Moi perso j'ai une carte adafruit pca9685 et je cherche comment faire fonctionner mes servomoteurs à l'aide de la carte.
Je suis un peu perdu du coup je sort les rames smile
Je cherche sur internet ,sur YouTube. ...
Et pas moyen de trouver un exemple de ce que je veux faire.

Hors ligne

#7 30-06-2016 22:33:11

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Pca 9685

Pout tester, tu crées un script test_servo.py"

#!/usr/bin/python

from Adafruit_PWM_Servo_Driver import PWM
import sys

pwm = PWM(0x40, debug=True)
pwm.setPWMFreq(60)

pwm.setPWM(int(sys.argv[1]), 0, int(sys.argv[2]))

chmod 777 test_servo.py

et la commande "./test_servo.py"  1  200"

Tu fais varier la valeur 200 à 300
le premier paramétre c'est 0 pour le 1ier moteur  1 pour le 2ieme

Dernière modification par FBPY (30-06-2016 22:35:48)

Hors ligne

#8 01-07-2016 08:55:24

Nicolusalvaro
Membre
Inscription : 27-06-2016
Messages : 5

Re : Pca 9685

Voici le code d essaie fourni avec

# Simple demo of of the PCA9685 PWM servo/LED controller library.
# This will move channel 0 from min to max position repeatedly.
# Author: Tony DiCola
# License: Public Domain
from __future__ import division
import time

# Import the PCA9685 module.
import Adafruit_PCA9685


# Uncomment to enable debug output.
#import logging
#logging.basicConfig(level=logging.DEBUG)

# Initialise the PCA9685 using the default address (0x40).
pwm = Adafruit_PCA9685.PCA9685()

# Alternatively specify a different address and/or bus:
#pwm = Adafruit_PCA9685.PCA9685(address=0x41, busnum=2)

# Configure min and max servo pulse lengths
servo_min = 150  # Min pulse length out of 4096
servo_max = 600  # Max pulse length out of 4096

# Helper function to make setting a servo pulse width simpler.
def set_servo_pulse(channel, pulse):
    pulse_length = 1000000    # 1,000,000 us per second
    pulse_length //= 60       # 60 Hz
    print('{0}us per period'.format(pulse_length))
    pulse_length //= 4096     # 12 bits of resolution
    print('{0}us per bit'.format(pulse_length))
    pulse *= 1000
    pulse //= pulse_length
    pwm.set_pwm(channel, 0, pulse)

# Set frequency to 60hz, good for servos.
pwm.set_pwm_freq(60)

print('Moving servo on channel 0, press Ctrl-C to quit...')
while True:
    # Move servo on channel O between extremes.
    pwm.set_pwm(0, 0, servo_min)
    time.sleep(1)
    pwm.set_pwm(0, 0, servo_max)
    time.sleep(1)

merciiii pour ton code!
Quand je rentre du travail j'essaierai le code que tu as posté

Hors ligne

#9 03-07-2016 10:33:11

Nicolusalvaro
Membre
Inscription : 27-06-2016
Messages : 5

Re : Pca 9685

Bon ben c'est officiel après essaie du code ça ne fonctionne pas. ..

Hors ligne

Pied de page des forums