- Composants requis:
- Module RF:
- Explication de travail:
- Explication du circuit:
- Installation de la bibliothèque de câblagePi dans Raspberry Pi:
- Explication de la programmation:
Dans cette session, nous allons développer une télécommande RF utilisant Raspberry Pi, qui peut être utilisée pour contrôler les appareils sans fil. Nous pouvons allumer et éteindre les appareils à l'aide de cette télécommande RF. Nous avons déjà développé de nombreux projets utilisant un module RF comme un robot contrôlé par RF, un robot contrôlé par les gestes de la main, etc.
Composants requis:
Côté émetteur:
- Émetteur RF (émetteur hybride ASK)
- HT12E IC
- 4 boutons poussoirs
- Résistance 750k
- Batterie 9 volts
Côté récepteur:
- Tarte aux framboises
- Écran LCD 16x2
- POT 10K
- Planche à pain
- Résistance 1K (cinq)
- Résistance 33K
- CI HT12D
- Récepteur RF (ASK Hybrid Receiver)
- LED (cinq)
- Résistance 10K (quatre)
- Fil de connexion
- Source de courant
Module RF:
Il s'agit d'un module émetteur et récepteur hybride ASK fonctionnant à une fréquence de 433 Mhz. Ce module dispose d'un oscillateur stabilisé par cristal pour maintenir un contrôle de fréquence précis pour la meilleure plage. Là, nous n'avons besoin que d'une seule antenne externe pour ce module.
Ce module est très rentable là où une communication RF longue portée est requise. Ce module n'envoie pas de données en utilisant la communication UART du PC ou du microcontrôleur directement car il y a beaucoup de bruit à cette fréquence et sa technologie analogique. Nous pouvons utiliser ce module à l'aide de circuits intégrés d'encodeur et de décodeur qui extraient les données du bruit.
La portée de l'émetteur est d'environ 100 mètres à la tension d'alimentation maximale et pour 5 volts, la portée de l'émetteur est d'environ 50 à 60 mètres avec l'utilisation d'un simple fil d'antenne à code unique de 17 cm de longueur.
Caractéristiques de l'émetteur RF:
- Gamme de fréquence: 433 Mhz
- Puissance de sortie: 4-16dBm
- Alimentation d'entrée: 3 à 12 volts CC
Description de la broche de RF Tx:
- GND - Alimentation au sol
- Data In - Cette broche accepte les données série du codeur
- Vcc - +5 Volt doit être connecté à cette broche
- Antenne - Une connexion enveloppée à cette broche pour une transmission correcte des données
Caractéristiques du récepteur RF:
- Sensibilité: -105dBm
- Fréquence IF: 1 MHz
- Basse consommation énergétique
- Courant 3,5 mA
- Tension d'alimentation: 5 volts
Description de la broche de RF Rx:
- GND - Terre
- Data In - Cette broche donne des données série de sortie au décodeur
- Data In - Cette broche donne des données série de sortie au décodeur
- Vcc - +5 Volt doit être connecté à cette broche
- Vcc - +5 Volt doit être connecté à cette broche
- GND - Terre
- GND - Terre
- Antenne - Une connexion enveloppée à cette broche pour une bonne réception des données
Explication de travail:
Le fonctionnement de ce projet est très facile. Dans ce projet, nous avons utilisé quatre boutons du côté de l'émetteur (sert de télécommande) pour contrôler les quatre LED à l'extrémité du récepteur. Lorsque nous appuyons sur l'un des quatre boutons, l'encodeur IC encode le signal et l'envoie à l'émetteur RF et l'émetteur RF le transmet dans l'environnement. Désormais, RF Receiver reçoit le signal transmis et le décode à l'aide du Decoder IC HT12D et envoie sa sortie 4 bits à Raspberry Pi. Ensuite, Raspberry Pi lit ces bits et effectue la tâche connexe et allume la LED respective. Une sonnerie retentit pendant une seconde chaque fois qu'une touche est enfoncée. Un écran LCD 16x2 est également utilisé pour afficher l'état «ON ou OFF» de toutes les LED.
Dans ce projet, nous avons utilisé quatre LED juste à des fins de démonstration, nous pouvons déclencher n'importe quelle tâche en appuyant sur le bouton respectif de 'RF Remote'. Par exemple, nous pouvons également connecter des appareils électroménagers AC à la place des LED, en utilisant le relais et pouvons contrôler ces appareils en utilisant la même `` télécommande RF '' sans fil. Donc, ce même circuit peut fonctionner comme un projet domotique basé sur RF utilisant Raspberry Pi. Nous avons déjà développé de nombreux projets domotiques contrôlés à l'aide de Bluetooth, DTMF, GSM etc., vous pouvez tous vérifier ici Projets domotiques.
Explication du circuit:
Le circuit de cette télécommande RF Raspberry Pi est simple et contient une carte Raspberry Pi, un bouton poussoir et un écran LCD, une paire RF et un codeur / décodeur IC. Raspberry Pi contrôle l'écran LCD, lit l'entrée et envoie la sortie en fonction de l'entrée. Nous avons utilisé Raspberry Pi 3 ici, mais n'importe quel modèle de Raspberry devrait fonctionner. Le circuit est divisé en deux parties, l'une est le circuit récepteur RF et l'autre est le circuit émetteur RF. Les deux circuits sont illustrés dans le schéma ci-dessous.
Dans la partie récepteur, les broches LCD rs, en, d4, d5, d6, d7 sont connectées au câblagePi GPIO Pin 11, 10, 6, 5, 4, 1 en mode 4 bits. Le récepteur RF reçoit le signal de l'émetteur RF et HT12D IC le décode. D8, D9, D10, D11 du circuit intégré du décodeur HT12D sont directement connectés au câblage des broches 25, 24, 23 et 22 du PI GPIO. touche enfoncée au niveau du câblagePi GPIO 0.
Le circuit d'émetteur RF contient le circuit intégré d'encodeur HT12E et 4 boutons poussoirs pour contrôler les 4 LED. Dans le codeur et le décodeur IC, toutes les lignes d'adresse sont connectées à la terre.
Installation de la bibliothèque de câblagePi dans Raspberry Pi:
Comme en Python, nous importons RPi.GPIO en tant que fichier d'en-tête IO pour utiliser les broches GPIO de Raspberry Pi, ici en langage C, nous devons utiliser la bibliothèque de câblagePi pour utiliser les broches GPIO dans notre programme C. Nous pouvons l'installer en utilisant les commandes ci-dessous une par une, vous pouvez exécuter cette commande à partir de Terminal ou de certains clients SSH comme Putty (si vous utilisez Windows). Parcourez notre didacticiel Premiers pas avec Raspberry Pi pour en savoir plus sur la manipulation et la configuration du Raspberry Pi.
sudo apt-get install git-core sudo apt-get mise à jour sudo apt-get mise à niveau git clone git: //git.drogon.net/wiringPi cd câblagePi git pull origine cd câblagePi./build
Testez l'installation de la bibliothèque de câblagePi, utilisez les commandes ci-dessous:
gpio -v gpio readall
Explication de la programmation:
Tout d'abord, nous incluons les fichiers d'en-tête et définissons les broches pour LCD, puis initialisons certaines variables et broches pour prendre les indications d'entrée et de LED.
#comprendre
Après cela, nous donnons la direction à toutes les broches GPIO utilisées dans les fonctions void setup () .
void setup () {if (câblagePiSetup () == -1) {clear (); print ("Impossible de démarrer"); setCursor (0,1); impression ("câblagePi"); } pinMode (led1, OUTPUT); pinMode (led2, SORTIE); pinMode (led3, SORTIE); pinMode (led4, SORTIE);……………….
Dans le code, nous avons utilisé la fonction digitalRead pour lire la sortie du décodeur et digitalWrite pour envoyer la sortie à la LED ou à l'appareil.
…………….. while (1) {setCursor (0,0); impression ("D1 D2 D3 D4"); if (digitalRead (d1) == 0) {flag1 ++; setCursor (0,1); if (flag1% 2 == 1) {print ("ON"); digitalWrite (led1, HIGH); }……………..
Voici quelques autres fonctions qui ont été utilisées dans ce projet.
La fonction void lcdcmd est utilisée pour envoyer une commande à l'écran LCD et la fonction d' écriture vide est utilisée pour envoyer des données à l'écran LCD.
La fonction void clear () est utilisée pour effacer l'écran LCD, void setCursor est utilisé pour définir la position du curseur et annuler l'impression pour envoyer la chaîne à l'écran LCD.
La fonction void begin est utilisée pour initialiser l'écran LCD en mode 4 bits et l' annulation du buzzer () pour émettre un bip.
Vérifiez le code complet de cette télécommande RF Raspberry ci-dessous.