Présentation
Nous y voilà… après de longues heures d’acharnements…
L’OpenMV Cam M7 est comme un Arduino super puissant!! Il s’agit d’une caméra intégrée qui permet de faire des “choses” que je n’imaginais pas comme:
– détecter des mouvements (pour des applications de sécurité);
– Détecter des couleurs; (16 couleurs à la fois!!)
– Indiquer, le centre de gravité, la taille, la position, etc..
– De suivre la position du soleil, suivre une ligne, une cible, une couleur…
– Détecter des visages avec le “Haar-cascade”
– Détecter l’iris de notre oeil (ça par exemple!!!!)
– Décodage/détection de QR code, ou des codes à barres, des données matricielle
– De suivre des AprilTags..
Ouf!!!, et encore plien de “choses”…
vous allez programmez en Python afin que celle-ci J’avais envie de m’atteler à une nouveau type de langage qui tourne sur MAC/Linux/OS et sous windows aussi!!. Alors je me suis dis “pourquoi ne pas essayer!” Ce Nous facilitons l’exécution d’algorithmes de vision de la machine sur ce que voit l’OpenMV Cam, ce qui vous permet de suivre les couleurs, de détecter les visages, etc. en quelques secondes, puis de contrôler les broches d’E / S dans le monde réel.
Programmation python??!!
Je vous vois venir 😉 la réponse est oui!! vous allez devoir programmer en Python
Microcontrôleur ou processeurs?
Les deux tout simplement, il s’agit d’un processeurs et contrôleurs intégrés, plus particulièrement du STM32F765VI ARM Cortex M7 cadencé à 216 MHz avec 512 Ko de RAM et 2 Mo de mémoire flash. Toutes les broches d’Entrées/sorties fournissent une sortie 3,3V et une tolérance de 5V. Le processeur possède les interfaces d’entrées et sorties suivantes:
– Une interface USB pleine vitesse (12Mb) vers votre ordinateur. l’OpenMV Cam apparaîtra comme un port COM virtuel et un lecteur flash USB une fois branché.
– Un support de carte SD capable de lire et d’écrire à 100 Mbs, d’enregistrer une vidéo et d’extraire facilement les actifs de vision par ordinateur de la carte SD.
– Un bus SPI pouvant fonctionner jusqu’à 54 Mb/s ce qui permet de transférer facilement des données d’images du système vers le blindage LCD, le bouclier WiFi ou un autre microcontrôleur (type Arduino ou PIC
– Un bus I2C, un bus CAN et un bus série asynchrone (TX/RX) pour l’interfaçage avec d’autres microcontrôleurs et capteurs.
– Il comporte aussi un convertisseur Analogique numérique (ADC 12 bits), et tenez vous bien!! il comporte aussi un convertisseur Numérique analogique (DAC 12 bits).
– Trois broches d’Entrées/sorties pour le servocommande.
– Interruptions et PWM sur toutes les broches d’Entrées/sorties.
– une LED multicouleur (RVB) et deux LED infrarouges haute puissance de 850 nm.
En ce qui concerne le capteur d’image (caméra),il s’agit du OV7725 est capable de prendre des images en niveaux de gris 8 bits 640×480 ou RGB565 16 bits en 640×480 à 60 ips lorsque la résolution est supérieure à 320 x 240 et à 120 ips en dessous.
La plupart des algorithmes simples fonctionneront à plus de 30 FPS. cette caméra est livrée avec un objectif de 2,8 mm sur une monture d’objectif M12 standard. Alors qu’en pensez vous?? Vous refusez toujours de vous lancer dans python ??!!
Schéma
(Vous pouvez agrandir l’image.)
Des exemples pour commencer à débuter…
Oui!! biensûr, c’est toujours mieux de pouvoir essayer, tester nos premieres lignes de codes.
I2C – communication
PIC18F4550 (esclave) – OpenMV (maître) – mode I2C
PIC18F4550 (esclave) – OpenMV (maître) – mode lecture – I2C
PIC18F4550 (esclave) – OpenMV (maître) – mode ecriture – I2C
PIC18F4550 (esclave) – OpenMV (maître) – mode lecture/ecriture – I2C
QR-Code et DataMatrix
Générateur de QR-Code et DataMatrix
Divers
Allumer éteindre LEDs
Comparaison image (.bmp)
Détection couleur 001