J’ai fait un robot avec :
- un rpi zero
- 1 servo 360 pour le déplacement
- 1 servo standart pour la direction
- 1 camera
Le streming fonctionne en utilisant les commandes suivantes :
** envoyer à partir du rpi zero : raspivid -n -t 0 -w 640 -h 480 -vf -hf -cd MJPEG -l -o tcp://0.0.0.0:1234
** recevoir sur un rpi 3b: cvlc tcp/MJPEG://192.168.0.11:1234
En python je peux commander les servos, je commente ou décommente au besoin :
#*********************
# deplacement.py
#*********************
import RPi.GPIO as GPIO
import time
servoPIN = 12
GPIO.setmode(GPIO.BCM)
GPIO.setup(servoPIN, GPIO.OUT)
p = GPIO.PWM(servoPIN, 50) # GPIO 17 for PWM with 50Hz
p.start(2.5) # Initialization
try:
while True:
# 2=arrière rapide:5.5=arrière lent:7=neutre:8 avance lente:12.5=avance rapide
# p.ChangeDutyCycle(7) # neutre
# time.sleep(0.5)
# p.ChangeDutyCycle(5.5) # arrière lente : 5.5 maximum
# time.sleep(0.5)
p.ChangeDutyCycle(8) # avance lent : 8 minimum
time.sleep(0.5)
# p.ChangeDutyCycle(2) # arrière rapide : 2 minimum
# time.sleep(0.5)
# p.ChangeDutyCycle(12.5) # avance rapide : 12.5 maximum
# time.sleep(0.5)
except KeyboardInterrupt:
p.stop()
GPIO.cleanup()
que j'appel avec un fichier sh :
#*********************
#deplacement.sh
#*********************
#!/bin/bash
python3 deplacement.py
En faisant la même chose sur le pin18 (la direction), je peux tourner.
Je cherche le moyen de diriger mon robot avec une manette de jeu
à partir d’un raspberry 3b en ayant le streaming vidéo, mais je ne sais pas
comment faire.
J’aurais préféré en C mais en python tant que ça
fonctionne. Quelqu’un peut-il m’aider ? Au besoin je fournis mon ip
public et l’ip du rpi zero si quelqu’un veut essayer.
Sparkfun a le même type de double potentiomètres, sortant sur l’I2C -moins de câblage- https://www.sparkfun.com/products/15168
d’autres types (on trouve des USB HID…)?
Je laisse @dbrion06 et @bof répondre à ce fil du fait de leurs compétences dans le domaine (et tous les autres volontaires évidemment)
J’interviens juste en aparté. Tu ne pourrais pas générer ton propre réseau wifi avec le Rpi en HotSpot pour « jouer » n’importe où ?
J’ai un Rpi qui reste à l’heure avec un module RTC et n’est pas sur le Réseau, mais diffuse son propre réseau privé. Depuis mon PC linux connecté au Net en filaire, je peux surfer mais tout en étant connecté au wifi du Rpi et ainsi le piloter (SSH, serveur Web dans le Rpi, VNC, …)
Merci pour la réponse mais je n’ai aucun souci de réseau, juste pour programmer le gpio du robot et le commander avec une manette de jeu a partir d’un autre rpi, en c si possible, sinon en python.
Votre problème, c’est que votre manette de jeux est « très » chère -20 E$ chez amazon - et retirée du catalogue d e Gros Bill: vous ne pouvez pas espèrer trouver du code gratosse et simple développé par des passionnés -préfèrent jouer- .
Les liens que je vous avais donné -sans les voir testés- sont deux fois moins chers pour le materiel -et le logiciel est développé sérieusement.