Aller au contenu


Contenu de la.couenne

Il y a 22 élément(s) pour la.couenne (recherche limitée depuis 03-avril 13)


#84619 Mon projet: CubDog

Posté par la.couenne sur 11 juin 2017 - 09:51 dans Robots roulants, chars à chenilles et autres machines sur roues

Re tous :)

 

Alors j'ai bien reçue ma fiche à monter soit-même, mais sans pince à sertir c'est juste impossible :(

 

Les connecteurs sont tellement proches, j'ai toujours eu 2 voir même 3 fils qui se touchent...

 

fiche.png

 

Du coup j'ai pris un fils HDMI qui se roule, j'ai enlevé l'enrouleur, et mis le tout comme ça:

fiche2.png

C'est un fils plat, donc il est très souple et facile à installer..

 

Voilou pour les dernières infos   :bye:




#84324 Mon projet: CubDog

Posté par la.couenne sur 03 juin 2017 - 03:10 dans Robots roulants, chars à chenilles et autres machines sur roues

Cool Melmet, j'ai commandé une prise HDMI à monter soit-même, je n'ai pas pris la pince à sertir à 300 balles, on verra ce que ça donne sans  :lol:

 

Sinon Path j'avais oublié de répondre à ta question sur où trouver les Makeblock, ici y a les revendeurs officiels:

http://www.makeblock.com/distributors

 

A++




#84279 Mon projet: CubDog

Posté par la.couenne sur 02 juin 2017 - 09:16 dans Robots roulants, chars à chenilles et autres machines sur roues

Donc pour faire tourner la tête j'utilise le module PCA9685 , que je branche de cette façon:

schema.png

 

Pour installer OpenCV sur le raspberry, dans la console taper:

 sudo apt-get install python-opencv

 sudo apt-get install libopencv-dev

 

Et maintenant pour la détection du visage en Python avec OpenCV:

#!/usr/bin/python
# suivi du regard
import Adafruit_PCA9685  # Le module PCA9685 pour le ctrl des servo
import cv2  # OpenCV pour le ttt des img
#import numpy as np
import time


pwm = Adafruit_PCA9685.PCA9685()  # Initialiser en utilisant l adresse I2C par defaut (0x40)
pwm.set_pwm_freq(60)  # Set frequency to 60hz, good for servos
# Ebat max des servo:
servo_max_droit = 250
servo_max_gauche = 550
servo_max_haut = 500
servo_max_bas = 900

# on recentre les 2 servo:
pwm.set_pwm(0, 0, 400) # pour horizontal: (num_du_servo_0, 0, impulsions)
pwm.set_pwm(1, 0, 600) # pour vertical: (num_du_servo_1, 0, impulsions)
servo_actuel_horizontal = 400  # on modifiera cette variable pour deplacer la tete
servo_actuel_vertical = 600
time.sleep(1)

# Chemin du fichier .xml qui contient des modeles de visages (classifier)
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

capture = cv2.VideoCapture(0) # flux de la webcam (utiliser VideoCapture(1) pour faire plusieurs flux)

while 1:
    ret, img = capture.read() # on recupere une image du flux video
    #image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # on la met en nuances de gris pour gagner du temps de traitement
    image = img # tester si c est vraiment utile de ne pas la laisser en couleur...

    newsize = (int(image.shape[1]/1.5), int(image.shape[0]/1.5)) # nouvelle taille: essayer entre 1.5 et 2
    image = cv2.resize(image, newsize) # fonction qui redimensionne pour gagner en temps de calcul

    # la fonction detectMultiScale retourne les positions de visages detecter avec les modeles contenu dans le .xml
    faces = face_cascade.detectMultiScale(image, 1.4, 3) # voir internet pour les differents parametres


    for (x,y,w,h) in faces: # on recupere les coordonnees de la tronche detectee
        cv2.rectangle(image,(x,y),(x+w,y+h),(255,7,8),2) # on dessine un rectangle
        print("X: " + str(x))
        print("Y: " + str(y))
        print("H: " + str(h) + " donc la distance")
        print("")


        # deplacements horizontaux de la tete:
        if x < 120:
            servo_actuel_horizontal = (servo_actuel_horizontal + 3)
            if servo_actuel_horizontal > servo_max_gauche:
                servo_actuel_horizontal = servo_max_gauche

        if x > 170:
            servo_actuel_horizontal = (servo_actuel_horizontal - 3)
            if servo_actuel_horizontal < servo_max_droit:
                servo_actuel_horizontal = servo_max_droit

        pwm.set_pwm(0, 0, servo_actuel_horizontal) # pour horizontal
        print("Nouvelle position du servo horizontal: " + str(servo_actuel_horizontal))


        # deplacements verticaux de la tete:
        print("Pr ctrl servo_actuel_vertical: " + str(servo_actuel_vertical))
        if y > 95:
            servo_actuel_vertical = (servo_actuel_vertical + 2)
            if servo_actuel_vertical > servo_max_bas:
                servo_actuel_vertical = servo_max_bas

        if y < 55:
            servo_actuel_vertical = (servo_actuel_vertical - 2)
            if servo_actuel_vertical < servo_max_haut:
                servo_actuel_vertical = servo_max_haut

        pwm.set_pwm(1, 0, servo_actuel_vertical) # pour vertical
        print("Nouvelle position du servo vertical: " + str(servo_actuel_vertical))


    cv2.imshow('Image capturee',image) # on affiche l image pour ctrl
    k = cv2.waitKey(30) & 0xff
    if k == 27: # si ESC on sort de la boucle
        break

capture.release()
cv2.destroyAllWindows()

Pour le suivi des couleurs (ici bleue):

#!/usr/bin/env python
# Suivi par la tete de la couleur bleue

import Adafruit_PCA9685  # Le module PCA9685 pour le ctrl des servo
import time
import cv2  # OpenCV pour le ttt des img
import numpy as np

pwm = Adafruit_PCA9685.PCA9685()  # Initialiser en utilisant l adresse I2C par defaut (0x40)
pwm.set_pwm_freq(60)  # Set frequency to 60hz, good for servos
# Ebat max des servo:
servo_max_droit = 250
servo_max_gauche = 550
servo_max_haut = 500
servo_max_bas = 900

# on recentre les 2 servo:
pwm.set_pwm(0, 0, 400) # pour horizontal: (num_du_servo_0, 0, impulsions)
pwm.set_pwm(1, 0, 600) # pour vertical: (num_du_servo_1, 0, impulsions)
servo_actuel_horizontal = 400  # on modifiera cette variable pour deplacer la tete
servo_actuel_vertical = 600
time.sleep(1)


# on extrait la position X et Y de la couleur bleue
capture = cv2.VideoCapture(0) # flux de la webcam (utiliser VideoCapture(1) pour faire plusieurs flux)

while 1:
    ret, image = capture.read() # on recupere une image du flux video
    newsize = (int(image.shape[1]/1.5), int(image.shape[0]/1.5)) # nouvelle taille: essayer entre 1.5 et 2
    image = cv2.resize(image, newsize) # fonction qui redimensionne pour gagner en temps de calcul

    hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # on converti l image en HSV dans $hsv

    # on definit des seuils de couleurs bleues en HSV
    bleu_bas = np.array([110,50,50])
    bleu_haut = np.array([130,255,255])

    bleu = cv2.inRange(hsv, bleu_bas, bleu_haut) # on filtre que le bleu dans l image $hsv que l on met dans $bleu
    cv2.imshow('Ctrl vision de la couleur',bleu) # on affiche l image pour ctrl


    # on trouve le contour de la couleur
    contour = cv2.findContours(bleu.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]


    # et on calcule un cercle autour de ce contour
    centre = max(contour, key=cv2.contourArea)
    ((x, y), radius) = cv2.minEnclosingCircle(centre)


    if radius > 10: # seuil minimum avant de dessiner le cercle
        cv2.circle(image, (int(x), int(y)), int(radius), (0, 255, 255), 2)  # cercle jaune
        cv2.circle(image, (int(x), int(y)), int((radius / radius) + 1), (255, 255, 255), 2)  # point blanc
        print("Distance: " + str(radius))
        print("X: " + str(x))
        print("Y: " + str(y))
        print("")



    x = int(x)
    y = int(y)
    # deplacements horizontaux de la tete:
    if x < 150:
        servo_actuel_horizontal = (servo_actuel_horizontal + 3)
        if servo_actuel_horizontal > servo_max_gauche:
            servo_actuel_horizontal = servo_max_gauche

    if x > 300:
        servo_actuel_horizontal = (servo_actuel_horizontal - 3)
        if servo_actuel_horizontal < servo_max_droit:
            servo_actuel_horizontal = servo_max_droit

    pwm.set_pwm(0, 0, servo_actuel_horizontal) # pour horizontal
    print("Nouvelle position du servo horizontal: " + str(servo_actuel_horizontal))


    # deplacements verticaux de la tete:
    print("Pr ctrl servo_actuel_vertical: " + str(servo_actuel_vertical))
    if y > 190:
        servo_actuel_vertical = (servo_actuel_vertical + 2)
        if servo_actuel_vertical > servo_max_bas:
            servo_actuel_vertical = servo_max_bas

    if y < 80:
        servo_actuel_vertical = (servo_actuel_vertical - 2)
        if servo_actuel_vertical < servo_max_haut:
            servo_actuel_vertical = servo_max_haut

    pwm.set_pwm(1, 0, servo_actuel_vertical) # pour vertical
    print("Nouvelle position du servo vertical: " + str(servo_actuel_vertical))


    cv2.imshow('image',image)


    k = cv2.waitKey(30) & 0xff
    if k == 27: # si ESC on sort de la boucle
        break

capture.release()
cv2.destroyAllWindows()

Voilà, j'ai essayé de commenter un maximum le code, maintenant je le redis je débute donc il n'est pas très joli mon code, faut pas hésiter à le critiquer :-)

 

 

Pour les moteurs, pour l'instant j'ai fait un pont en H avec des piles AA, mais ça ne marche pas trop, ça me fait des big a'coup, faut que j'y travaille encore..  Je mets quand même le schéma:

5moteur2.png

 

Sources:

http://docs.opencv.org/3.1.0/df/d9d/tutorial_py_colorspaces.html




#84278 Mon projet: CubDog

Posté par la.couenne sur 02 juin 2017 - 08:42 dans Robots roulants, chars à chenilles et autres machines sur roues

Re tous,

 

Oui Path c'est du Makeblock, en fait c'est un "chassi" que j'avais fait il y a longtemps, avec un capteur ultrason. J'avais suivi un tuto, que je viens de rechercher durant presque 20min pour toi! :-D ici: http://openlab.makeblock.com/topic/56e231e9b56dce362b00749c

Le problème avec Makeblock c'est le prix!! mais je pense que c'est un investissement qui vaut la peine, car c'est une super qualité et on peut toujours le réutiliser / adapter pour faire tellement de choses :)

 

Tu m'intéresses là Oliver17 car j'avais pensé tenter de fabriquer un câble HDMI moi-même, mais ça me semble chô! Car y a combien de fils? 20 non? t'en a déjà fait un toi? Comment tu t'y es pris?

J'avais aussi pensé à un tout petit écran, mais j'aime bien l'idée qu'il remplisse tout le dos du robot, il va servir au retour d'images de la cam, afin de voir s'il détecte correctement les visages ou objets (disons pour l'instant couleurs des objets lol)

 

Sinon Yougo, je peux partager mes scripts OpenCV sans problème, mais je pense qu'il faudra quelqu'un qui connaisse mieux que moi son fonctionnement car je tatonne grave donc il doit y avoir plein d'erreurs  :crazy:

je vais les mettre dans plusieurs autres post ci-dessous, ce sera + simple




#84269 Mon projet: CubDog

Posté par la.couenne sur 02 juin 2017 - 04:08 dans Robots roulants, chars à chenilles et autres machines sur roues

Oui justement c'est pour relier la Pi à l'écran, ils sont distant de 3cm :D
Mais je ne trouve aucun câble de moins de 30cm, moi perso j'ai toujours pris des rétractables, je retire le boitier, de cette façon j'ai un cable plat et facilement pliable, par contre dans ce robot j'ai tellement peu de place qu'il va me falloir trouver une autre solution



#84266 Mon projet: CubDog

Posté par la.couenne sur 02 juin 2017 - 03:41 dans Robots roulants, chars à chenilles et autres machines sur roues

Merci :)

J'ai une question, qu'est-ce que vous utilisez vous comme câble HDMI?

Voici le mieux que j'ai trouvé, mais super long :
https://shop.mediama...le/idp70pio0tpn



#84264 Mon projet: CubDog

Posté par la.couenne sur 02 juin 2017 - 02:32 dans Robots roulants, chars à chenilles et autres machines sur roues

Hello tous! 
 
Voici CubDog à prononcer [kyoob dog]
 
Cube car il est carré et dog car il est cencé nous suivre partout comme un toutou.. J'hésite aussi avec follower-cube pour le cube-suiveur, bref on s'en fous un peu :-D
 
00.png
 
J'ai enfin fini la partie mécanique, je vais me pencher maintenant sur la partie script, rédigé en Python.
 
01.gif
 
Il est muni d'une webcam (sous ses anciens yeux ultrason qui ne sont plus utilisés..), d'un Raspberry Pi ainsi qu'un écran de contrôle. Il a aussi 2 petits bras, qui se replient dans son ventre à la façon de Wall-E :-)  Le chassi est réalisé avec des pièces Makeblock.
 
02.png
 
Mon but à terme sera de repérer mon regard à l'aide de la cam, récupérer la moyenne de couleur contenu dans un rectangle sous ma tête (donc la couleur de mon t-shirt) puis de la suivre, le tout à l'aide d'OpenCV.
 
J'ai posté une petite vidéo, je la mettrai à jour au fils des avancées :)
 
Bonnes bidouilles à tous!



#84088 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 27 mai 2017 - 08:52 dans Programmation

Re,

 

C'est un Raspberry 3, mais ces jours prochains je vais essayer encore qques tests, et je reviendrai avec des questions + précises dans un nouveau post :)

 

Bon w-end et à très vite!




#84042 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 26 mai 2017 - 09:32 dans Programmation

Je la mets en n/b puis la redimensionne de cette manière:

    newsize = (int(image.shape[1]/1.5), int(image.shape[0]/1.5)) # entre 1.5 et 2
    image = cv2.resize(image, newsize) 
 
Du coup je ne sais pas en pixel la taille que ça donne car je ne suis pas sur mon pc, mais environ 250x400 px je dirais. 
 
Je peux refaire un post et y mettre mon code, ça te donnera un début et permettra à ceux qui connaissent bien OpenCV de critiquer mon script :)
 
Mais comme je ne suis qu'au tout début, faut pas attendre quelque chose de fabuleux  :ignat_02:



#84017 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 26 mai 2017 - 01:04 dans Programmation

Re,

 

le temps de latence c'est juste quand je fais la reconnaissance des visages, faudrait que je diminue la taille de l'image pour gagner du temps de traitement je pense, mais j'ai décidé de juste repérer les yeux, de cette façon ça prend moins d'une sec :)

 

Avec ma détection de couleur, je n'ai pas eu le temps de tester le suivi horizontal avec les 2 moteurs à chenilles, je ferai ça ces jours et reviendrai ici..

 

J'ai hâte que tu t'y mette Oliver17 à l'OpenCV, car vu comme tu as poussé tes recherches sur les servo, tu vas réaliser des trucs monstres  :yes:

 

A++




#84003 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 25 mai 2017 - 10:51 dans Programmation

Oui j'ai suivi un peu ton travail Oliver17 et j'ai bcp aimé! 
 
Voici en attendant une petite vidéo vite faite de mon robot, et je mettrais + d'info sur sa conception dès que j'arrive à faire qque chose de concert.

 
 
Avec OpenCV je parviens à suivre le regard, suivre une couleur, et reconnaître un visage (mais créer un décalage de 5 à 6 sec), le tout en python.
 
Mon but serait de repérer le regard, et récupéré la couleur du t-shirt afin que le robot suivie la personne... Tout un programme :D
 
A tout bientôt!



#83984 nombreux problèmes dans la réalisation d'un gros robot

Posté par la.couenne sur 25 mai 2017 - 08:54 dans Robots roulants, chars à chenilles et autres machines sur roues

 

 

Comment est-ce que je devrais utiliser des circuits imprimés pour alimenter une dizaine de servo ? la couche de cuivre ne peut pas être assez épaisse pour supporter plusieurs ampères, si?

 

 

Hello, 

 

Pourquoi t'embêter avec des circuits imprimés pour commander les servo?

tu peux utiliser des module tout fait, exemple celui d'adafuit: https://www.adafruit.com/product/815

De cette façon tu peux commander 15 servo facilement (sauf ceux à rotation continue que je n'ai jamais été capable de faire tourner :D )




#83982 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 25 mai 2017 - 08:17 dans Programmation

Hello,

 

Comme j'avais dit que je reviendrais donner des nouvelles, me revoilà :)

 

Donc j'ai viré mes 2 servo à rotation continue puisque je n'arrive à rien, j'ai fait un pont en H avec une puce L293D et 2 moteurs 6v.

 

Forcément je perds en précision, mais je crois que ça va quand même pas trop mal..

 

Je reprends donc mon code OpenCV, mon but est de repéré les yeux, afin de récupérer l'histogramme des couleurs d'un rectangle situé sous la tête (la couleur du t-shirt) afin de bêtement suivre cette couleur -> donc suivre la personne..

 

Si mon projet est concluant, je referai un post pour le présenter :)

 

Merci à tous pour votre aide en tout cas!

et bon bidouillage ;)




#83614 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 15 mai 2017 - 09:31 dans Programmation

Merci beaucoup pour toutes ces réponses :)

 

Suite à ton post arobasseb, j'ai cherché dans ce sens et trouvé des exemples qui utilisent l'instruction pwm.set_duty_cycle() mais ça me génère une erreur, je vais creuser ça cette fin de semaine!

 

Ce qui m’énerve c'est que j'ai 2 servo normal pour les axes horizontal et vertical de la tête qui fonctionnent nickel, et ces 2 servo continu ne marchent pas alors que ca doit être + ou - le même principe  :unsure:

 

Sinon Bobox merci pour ton explication, c'est bien ça mais comme tu dis ça n'explique pas pourquoi le servo ne se ré-inverse pas quand je renvoie la 1ère commande lol

 

Bref merci encore à tous, je vais creuser encore et je reviens dès que j'ai trouvé.. et sinon je vire mes 2 servo et je mets des moteur DC avec un pont en H, mais dans ce cas je vais perdre en précision par rapport à un servomoteur....

 

La suite dans qques jours !




#83571 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 14 mai 2017 - 01:38 dans Programmation

Merci pour vos réponses rapides!

Je ne pensais vraiment pas être bloqué sur un truc aussi basique :/

 

Pour répondre à vos questions, j'utilise le PCA9685 de Adafruit:

https://cdn-shop.ada...x728/815-06.jpg

 

Mike118 Non il ne ralenti pas avant de changer de sens, alors qu'il devrait à mon avis aussi. Et il n'accélère pas non plus.. (Si j'augmente le time.sleep il ne se passe rien, le script est juste + long à executer)

 

Oui Arobasseb, j'ai souvent vu sur internet que 1,5ms l'arrête, et que le sens de rotation dépend des largeurs d'impulsions entre 1ms et 2ms, mais il me semble que c'est ce que je fais en écrivant pwm.set_pwm(2, 0, 1500) il est censé arrêter le servo, non?

(le 1000 et 400 était des valeurs au hasard, je voulais tester s'il y avait au moins un changement de vitesse)

 

J'ai refais mon code sans la boucle, ce sera + simple à comprendre:

#!/usr/bin/python
import Adafruit_PCA9685  # Le module PCA9685 pour le ctrl des servo
import time
pwm = Adafruit_PCA9685.PCA9685()
pwm.set_pwm_freq(60)  # La frequence des impulsions

pwm.set_pwm(2, 0, 2000) # moteur tourne
time.sleep(1)
pwm.set_pwm(2, 0, 710) # 710 -> le moteur s inverse
time.sleep(1)
pwm.set_pwm(2, 0, 2000) # ne fait rien?! (ne se rinverse pas)
time.sleep(1)
pwm.set_pwm(2, 0, 1500) # 1500 -> le moteur ne s arrete pas?!

Alors si je met 2000 il tourne, vers 710 (donc bien moins que 1000) il s'inverse, ce qui est curieux c'est que si je remet 2000 il ne se ré-inverse pas!

et si je mets 1500 il ne s'arrête pas...

 

Oliver17 c'est une très bonne idée de se baser sur le temps, mais mon problème c'est que mon servo ne s'arrête pas, je ferai comme ça dès que j'arrive à l'arrêter :)

 

Bonne fin de week-end à tous!




#83546 Comment arrêter un servo à rotation continue?

Posté par la.couenne sur 13 mai 2017 - 10:55 dans Programmation

Re Bonjour à tous!

 

Mon projet actuel est un petit chien qui suit une personne partout à l'aide d'OpenCV.

 

J'utilise deux servomoteurs à rotation continue, je programme en Python, et je ne parviens ni à varier leur vitesse, ni à les arrêter!

 

Je suis sûr que cette information figure quelque part dans ce forum, mais j'ai beau chercher je ne trouve rien, ni sur Google étonnamment  :crazy:

 
Voici un mini script python qui tente de faire varier la vitesse, je parviens à l'inverser mais pas le stopper:
# donc on fait une boucle de 1000 à 400 pour trouver où le servo veut bien s'arreter..

i = 1000
while 1:
    i = (i - 1)
    pwm.set_pwm(2, 0, i)
    print(i)
    time.sleep(0.2)
    if i < 400:
        break

print("fin")

Si quelqu'un a une idée je suis preneur, ça fait toute la soirée que je tourne en rond  :kez_11:

Merci d'avance!

 




#80334 Bonjour à tous !

Posté par la.couenne sur 14 mars 2017 - 11:36 dans Et si vous vous présentiez?

 

Mais si ;) il y a pas que les humains qui ont le droit de jouer aux jeux vidéo ! :P

 

héhé ok tu l'as voulu, je poste mon début de jeu :D

 

Mais je préviens, ma façon de coder n'est pas terrible mdr, c'est d'ailleurs ce qui a freiné le développement du jeu, en effet ça fait longtemps que je veux apprendre à utiliser les Objets en python, jusqu'à maintenant j'en avais pas trop l'intérêt mais maintenant que mon jeu commence à se complexifier ça devient très dur à modifier des parties de mon code..

 

Donc le but de mon jeu en qques mots: il se jouera à 2 sur mon arcade, en coopération. Le but sera de défendre un trésor, les méchants chercheront à prendre le coffre pour l'emporter hors de l'écran. Bref rien d'extraordinaire non plus ;)

Pour l'instant les méchants suivent un chemin prédéfini, si la distance avec le joueur est assez faible ils le voient et se dirige vers lui.

Le combat n'est pas trop géré pour l'instant (pour tuer un ennemi faut lui mettre un coup d'épéé, mais lui fait baisser votre vie dès qu'il se superpose au joueur..)

Les combats resteront assez basique: avec la possibilité de se défendre (touche D pour lever l'épée devant le personnage) ou assigner un coup (touche espace).

L'image de fond est pour l'instant une img du jeu Zelda, mais sera appelée à être modifier dans un avenir, j'espère pas trop lointain (sinon c'est que j'aurai laissé tomber le développement du jeu lol)

 

Voici le lien: http://www.adatte.ch/img/jeu.zip

N'hésitez pas à critiquer :D

A++ et bonne journée à tous!




#80083 Bonjour à tous !

Posté par la.couenne sur 08 mars 2017 - 02:55 dans Et si vous vous présentiez?

Bienvenu ;)

 

J'aime beaucoup tes réalisations ;) N'hésite pas à en parler d'avantage je suis sûr que pas mal de personnes du coin seraient intéressé ! =) 

Merci,

 

J'avais fait un tuto pour la borne d'arcade: http://ouiaremakers.com/posts/tutoriel-diy-borne-d-arcade

 

Sinon pour mon petit game boy je suis sur le développement d'un p'tit jeu de combat à l'épée en pygame, mais ça fait qques semaines qu'il est à l'arrêt car je suis avec mon robot, on a jamais assez de temps hein! :drag_10:

 

Mais c'est volontiers que je peux poster mon jeu, mais ça n'est pas vraiment en lien avec le sujet du site ;)




#80080 Comment faire marcher le module laser d'Adafruit?

Posté par la.couenne sur 08 mars 2017 - 01:54 dans Programmation

Ahah j'ai trop honte...   

 

Comme tu me l'as suggéré, le Bus I2C n'était pas activé!! (Je croyais en fait qu'il l'était par défaut, et qu'on pouvait l'enlever si on voulait..)

 

Merci pour toutes vos réponses! et aussi pour le temps très court! Ca fait plaisir de voir autant de passionnés :)

 

Je vous tiendrai informés des avancées de mon système de navigation au laser ^_^

 

A tout bientôt! :bye:




#80058 Comment faire marcher le module laser d'Adafruit?

Posté par la.couenne sur 07 mars 2017 - 09:46 dans Programmation

Bonjour à tous,

Voici une photo de mon projet de robot:

robot2.png

J'ai changé son capteur ultrason pour 2 capteurs Laser VL53L0X de chez Adafruit

module.jpg

Source: https://www.adafruit.com/product/3317

J'utilise une carte Raspberry Pi, j'ai trouvé ce shéma pour le branchement de 2 capteurs:
schema.jpg
Sur https://github.com/j...L0X_rasp_pythonj'ai trouvé aussi un script python d'exemple et un fichier librairie à cette adresse.
 
Seulement quand je tente d'exécuter le fichier d'exemple VL53L0X_multi_example.py il me met l'erreur:
sudo ./VL53L0X_multi_example.py 
 Traceback (most recent call last):
  File "./VL53L0X_multi_example.py", line 26, in <module>
    import VL53L0X
  File "/home/pi/Raspberry/lidar/VL53L0X_rasp_python/python/VL53L0X.py", line 35, in <module>
    i2cbus = smbus.SMBus(1)
 IOError: [Errno 2] No such file or directory
 
Pour moi c'est qu'il ne trouve pas la librairie VL53L0X. Mais le seul fichier que j'ai est vl53l0x_python.c (fourni avec l'exemple) mais est-ce correct pour un script python d'avoir une librairie écrite en C?
Comment dois-je faire pour l'importer dans mon script?
 
Est-ce que quelqu'un a déjà utilisé ce capteur? Avec un Raspberry ou un Arduino?
Merci d'avance de vos lumières :)
 
 



#80057 Bonjour à tous !

Posté par la.couenne sur 07 mars 2017 - 09:24 dans Et si vous vous présentiez?

Merci pour votre accueil :)




#80044 Bonjour à tous !

Posté par la.couenne sur 07 mars 2017 - 03:24 dans Et si vous vous présentiez?

Bonjour à tous!

 

Alors moi j'ai découvert ce forum en cherchant sur le net une réponse à l'une de mes (nombreuses) questions. Et avant de la poser, je vais déjà me présenter un peu :) 

 

J'ai 38 ans, j'aime surtout faire mes projets à base de cartes Raspberry Pi, que je trouve simplement fascinantes.. Actuellement je suis sur un projet de Robot fait avec des pièces Makeblock :

 

robot1.png

 

Sinon mes derniers projets en date, tournent autour des jeux développés avec Pygame:

arcade.png

gameboy.png

 

Voilà, à tout bientôt sur le forum :)

Bonne journée à tous!

Pascal