top of page

Le support Pan/Tilt.

​

Le support Pan/Tilt est un support amovible que nous utiliserons pour faire pivoter le capteur ultrason et ainsi savoir où sont les obstacles. Le support se compose en 2 parties :

- en bas : le Pan qui pivote de gauche à droite.

- en haut : le Tilt qui pivote de haut en bas.

 

Une fois l'installation faite, nous avons cherché des programmes pour contrôler les 2 parties du support. Sur le site "http://espace-raspberry-francais.fr/Composants/Controler-Servo-Moteur-Raspberry-Francais/", nous avons trouvé un programme qui nous a satisfait.

 

sudo nano pan.py

import RPi.GPIO as GPIO
import time

pin=5

GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)
GPIO.setwarnings(False)

ajoutAngle = 5

print("\n+----------/ ServoMoteur  Controlleur /----------+")
print("|                                                                               |")
print("| Le Servo doit etre branche au GPIO 5            |")
print("|                                                                               |")
print("+-------------------------------------------------------------+\n")

print("Comment controler le Servo ?")
choix = input("1. Choisir un angle\n2. Faire tourner de 0 a 180\n")

if choix == 2 :

    nbrTour = input ("Entrez le nombre d'aller-retour que fera le Servo :\n")

    pwm=GPIO.PWM(pin,100)
    pwm.start(5)

    angle1 = 0
    duty1 = float(angle1)/10 + ajoutAngle

    angle2=180
    duty2= float(angle2)/10 + ajoutAngle

    i = 0

    while i <= nbrTour:
         pwm.ChangeDutyCycle(duty1)
         time.sleep(0.8)
         pwm.ChangeDutyCycle(duty2)
         time.sleep(0.8)
         i = i+1
    GPIO.cleanup()

if choix == 1 :
    angle = input("Entrez l'angle souhaite :\n")
    duree = input("Entrez la duree durant laquelle le Servo devra tenir sa position : ( en secondes )\n")

    pwm=GPIO.PWM(pin,100)
    pwm.start(5)

    angleChoisi = float(angle)/10 + ajoutAngle
    pwm.ChangeDutyCycle(angleChoisi)
    time.sleep(duree)
    angle = 130 # Remise a etat initial : tout droit
    angleChoisi = float(angle)/10 + ajoutAngle
    pwm.ChangeDutyCycle(angleChoisi)
    time.sleep(0.8)
    GPIO.cleanup()

 

sudo nano tilt.py

import RPi.GPIO as GPIO
import time

pin=6

GPIO.setmode(GPIO.BCM)
GPIO.setup(pin, GPIO.OUT)
GPIO.setwarnings(False)

ajoutAngle = 5

print("\n+----------/ ServoMoteur  Controlleur /----------+")
print("|                                                                                |")
print("| Le Servo doit etre branche au GPIO 6             |")
print("|                                                                                |")
print("+-------------------------------------------------------------+\n")

print("Comment controler le Servo ?")
choix = input("1. Choisir un angle\n2. Faire tourner de 0 a 180\n")

if choix == 2 :

    nbrTour = input ("Entrez le nombre d'aller-retour que fera le Servo :\n")

    pwm=GPIO.PWM(pin,100)
    pwm.start(5)

    angle1 = 0
    duty1 = float(angle1)/10 + ajoutAngle

    angle2=180
    duty2= float(angle2)/10 + ajoutAngle

    i = 0

    while i <= nbrTour:
         pwm.ChangeDutyCycle(duty1)
         time.sleep(0.8)
         pwm.ChangeDutyCycle(duty2)
         time.sleep(0.8)
         i = i+1
    GPIO.cleanup()

if choix == 1 :
    angle = input("Entrez l'angle souhaite :\n")
    duree = input("Entrez la duree durant laquelle le Servo devra tenir sa position : ( en secondes )\n")

    pwm=GPIO.PWM(pin,100)
    pwm.start(5)

    angleChoisi = float(angle)/10 + ajoutAngle
    pwm.ChangeDutyCycle(angleChoisi)
    time.sleep(duree)
    angle = 120 # Remise a etat initial : tout droit
    angleChoisi = float(angle)/10 + ajoutAngle
    pwm.ChangeDutyCycle(angleChoisi)
    time.sleep(0.8)
    GPIO.cleanup()

​

Les ports GPIO utilisés pour le branchement du kit Pan/Tilt sont décris ci-dessous :

​

GND : masse de la batterie externe pour le Pan et le Tilt (câble marron)

VCC :  5 Volt de la batterie externe pour le Pan et le Tilt (câble rouge)

Signal ou OUT : 5 du GPIO pour le Pan

Signal ou OUT : 6 du GPIO pour le Tilt

​

​

​

​

​

​

​

​

Sur cette vidéo, nous avons réaliser le premier choix du programme pour le Pan et le Tilt. En effet, ces servomoteurs ont bien pivotés à l'angle demandé.

Le support Pan/Tilt permettra au Raspberry de détecter des obstacles dans une zone plus large.

bottom of page