Prise de vue Carte multi-camera Fabricant : ArduCam Désignation : Arducam Multi Camera Adapter Module V2.2 Référence : B012001 Liens : page d’accueil du produit : Arducam Multi Camera Adapter Module V2.2 for Raspberry Pi 4 B dépôt Github : RaspberryPi/Multi_Camera_Adapter/Multi_Adapter_Board_4Channel/ Prise en main Pour tester simplement la carte, plusieurs méthodes : depuis un script Python depuis la ligne de commande Pré-requis l’installation matérielle de la carte comme illustrée dans cette vidéo l’activation de l’interface I2C : soit via sudo raspi-config (→ choisir “Yes” dans le menu Interface Options I2C) soit par édition du fichier /boot/config.txt en ajoutant la ligne suivante (ou en retirant le symbole de commentaire ‘#’ situé devant) : dtparam=i2c_vc=on L’activation du bus I2C nécessite de redémarrer la Raspberry Pi l’installation du package i2ctools sudo apt-get update sudo apt-get install i2ctools Langage Python On peut utiliser le script Python fourni sur le dépôt Github officiel de la carte Source Python AdapterTestDemo.py import RPi.GPIO as gp import os gp.setwarnings(False) gp.setmode(gp.BOARD) gp.setup(7, gp.OUT) gp.setup(11, gp.OUT) gp.setup(12, gp.OUT) def main(): print('Start testing the camera A') i2c = "i2cset -y 1 0x70 0x00 0x04" os.system(i2c) gp.output(7, False) gp.output(11, False) gp.output(12, True) capture(1) print('Start testing the camera B') i2c = "i2cset -y 1 0x70 0x00 0x05" os.system(i2c) gp.output(7, True) gp.output(11, False) gp.output(12, True) capture(2) print('Start testing the camera C') i2c = "i2cset -y 1 0x70 0x00 0x06" os.system(i2c) gp.output(7, False) gp.output(11, True) gp.output(12, False) capture(3) print('Start testing the camera D') i2c = "i2cset -y 1 0x70 0x00 0x07" os.system(i2c) gp.output(7, True) gp.output(11, True) gp.output(12, False) capture(4) def capture(cam): cmd = "libcamera-still -o capture_%d.jpg" % cam os.system(cmd) if __name__ == "__main__": main() gp.output(7, False) gp.output(11, False) gp.output(12, True) Ce script s’appuie sur la version “BullsEye” de Raspberry Pi OS. Pour une version antérieure de l’OS, remplacer libcamera-still par raspistill dans la définition de la fonction capteur(cam). Ligne de commande On peut réaliser l’équivalent du script précédent depuis la ligne de commande. Exemple pour prendre une photo depuis la caméra ‘A’ # Prise de contrôle des broches 4, 17, 18 des GPIOs $ sudo echo "4" > /sys/class/gpio/export $ sudo echo "17" > /sys/class/gpio/export $ sudo echo "18" > /sys/class/gpio/export # Configuration des broches 4, 17, 18 des GPIOs en sortie $ sudo echo "out" > /sys/class/gpio/gpio4/direction $ sudo echo "out" > /sys/class/gpio/gpio17/direction $ sudo echo "out" > /sys/class/gpio/gpio18/direction # Sélection de la caméra '`A`' $ sudo i2cset -y 1 0x70 0x00 0x04 $ sudo echo "0" > /sys/class/gpio/gpio4/value $ sudo echo "0" > /sys/class/gpio/gpio17/value $ sudo echo "1" > /sys/class/gpio/gpio18/value # Prise du cliché $ libcamera-still -o cliche-camera-A.jpg # Libération des broches 4, 17, 18 des GPIOs $ sudo echo "4" > /sys/class/gpio/unexport $ sudo echo "17" > /sys/class/gpio/unexport $ sudo echo "18" > /sys/class/gpio/unexport 🞄 🞄 🞄 Base de code Scannette