Cours:SaéSBC brasRobotique : Différence entre versions
(Page créée avec « *les communications se feront avec le protocole mqtt *télécommande *affichage de la couleur de la balle sur des leds *affichage déporté (angles des servos, détection... ») |
|||
Ligne 1 : | Ligne 1 : | ||
+ | =cahier des charges= | ||
+ | Objectif : déplacer le bras pour saisir une balle. | ||
+ | |||
+ | Vous devrez au minimum utiliser 3 SBC | ||
+ | |||
*les communications se feront avec le protocole mqtt | *les communications se feront avec le protocole mqtt | ||
− | *télécommande | + | *une télécommande |
− | *affichage de la | + | **des boutons physique (sur une autre carte) permettront d'utiliser le bras |
− | * | + | **vous pourrez également utiliser des boutons sur un écran tactile |
+ | *affichage des informations : | ||
+ | **couleur de la balle (plusieurs leds ou led 3 couleurs) | ||
+ | **position de la balle dans l'image | ||
+ | ***au minimum utilisation d'un barregraphe (position en abscisse par ex) | ||
+ | ***possibilité d'utiliser un widget pour l'autre axe | ||
+ | **angles des servos sous forme de widget | ||
+ | **... | ||
− | |||
*[[Media:TestPca9685.zip]] | *[[Media:TestPca9685.zip]] |
Version du 17 octobre 2022 à 07:41
cahier des charges
Objectif : déplacer le bras pour saisir une balle.
Vous devrez au minimum utiliser 3 SBC
- les communications se feront avec le protocole mqtt
- une télécommande
- des boutons physique (sur une autre carte) permettront d'utiliser le bras
- vous pourrez également utiliser des boutons sur un écran tactile
- affichage des informations :
- couleur de la balle (plusieurs leds ou led 3 couleurs)
- position de la balle dans l'image
- au minimum utilisation d'un barregraphe (position en abscisse par ex)
- possibilité d'utiliser un widget pour l'autre axe
- angles des servos sous forme de widget
- ...
- Media:TestPca9685.zip
- Media:SourcesPixyCPP.zip
- utiliser pixymon pour configurer la caméra pixy
- Quelques références :
- RaspArm-S Kit for RPi : https://www.adeept.com/learn/detail-53.html (télécharger "Tutorials and Code" en particulier)
Exemple Pixy :
//fichier pro
LIBS += -L/opt/electronique/pi/sysroot/lib/arm-linux-gnueabihf -l:libusb-1.0.so -l:libudev.so.1
INCLUDEPATH += /opt/electronique/pi/sysroot/usr/include/libusb-1.0/
// sans doute dans un .h
...
#include "pixy/libpixyusb2/include/libpixyusb2.h"
...
Pixy2 pixy;
....
// sans doute dans un .cpp
...
int Result = pixy.init();
if (Result<0) qDebug()<<"pb initialisation pixy !!!";
....
pixy.ccc.getBlocks();
if (pixy.ccc.numBlocks)
{
qDebug()<<"Detected "<< pixy.ccc.numBlocks <<" block(s)\n";
for (int blockIndex = 0; blockIndex < pixy.ccc.numBlocks; blockIndex++)
{
qDebug()<<pixy.ccc.blocks[blockIndex].m_x<<" "<<pixy.ccc.blocks[blockIndex].m_y;
}
}