Cours:TPgpioQT
Révision datée du 15 septembre 2022 à 11:26 par Bjacquot (discussion | contributions) (→Préparation du projet)
Retour à la liste des Tds
GPIO
On dispose d'un connecteur avec un certain nombre de GPIO sur la carte rpi.
Ce sont des broches configurables qui peuvent servir de :
- entrée logique
- sortie logique
- fonction particulière :
- entrée analogique (pas sur les rpi actuelles)
- i2c
- spi
- pwm
- liaison série
- ...
Préparation du projet
- Créer un nouveau projet de type "Widget application"
- Choisir le kit "Rpi"
- Télécharger/décompresser et placer les fichiers de l'archive suivant dans votre projet
- Dans l'arborescence de votre projet,
- Ajouter des fichiers existants
Sorties
On utilisera la classe Lampe pour piloter des sorties.
#ifndef LAMPE_H
#define LAMPE_H
#include <QObject>
#include "gpio.h"
using namespace exploringRPi;
class Lampe : public QObject
{
Q_OBJECT
public:
Lampe(int nbBroche);
private :
bool etat;
GPIO broche;
signals:
void nouvelEtat(bool etat);
public slots:
void allumer();
void eteindre();
void setValue(bool e);
};
#endif // LAMPE_H
|
lampe.cpp #include "lampe.h"
Lampe::Lampe(int nbBroche) : QObject(), broche(nbBroche)
{
broche.setDirection(OUTPUT);
setValue(false);
}
void Lampe::allumer()
{
setValue(true);
}
void Lampe::eteindre()
{
setValue(false);
}
void Lampe::setValue(bool e)
{
if (e==true) broche.setValue(HIGH);
else broche.setValue(LOW);
etat = e;
emit nouvelEtat(etat);
}
|