Académique Documents
Professionnel Documents
Culture Documents
com
But: Le but de ce projet est de montrer comment la température et l'humidité locales peuvent être affichées
sur l'écran LCD.
Schéma: Le schéma de circuit du projet est le même que celui de la figure 6.8.
Programme de flux Node-RED: La figure 6.12 montre le programme de flux qui se compose de 4 nœuds :
uninjecternœud pour demander la lecture toutes les 10 secondes, unouvrir la carte météonœud pour
obtenir la carte météo locale, unfonctionnœud pour extraire la température et l'humidité locales, et un
LCD20x4 I2Cnœud pour afficher la température et l’humidité.
• Créé unLCD20x4 I2Cnœud et nommez-le commeÉcran LCD. Définissez l'adresse I2C sur 0x27 comme
auparavant et cliquez surFait
• Cliquez sur le bouton duinjecternœud. Vous devriez voir la température et l'humidité locales
affichées sur l'écran LCD, comme indiqué sur la figure 6.13.
Description:Dans ce projet, deux nombres aléatoires sont générés entre 1 et 6 et sont affichés sur
l'écran LCD à chaque fois que l'on clique sur le bouton du nœud d'injection. Les chiffres sont affichés
pendant 5 secondes. Passé ce délai, l'affichage s'efface et le messagePrêtest affiché. À ce stade,
l'utilisateur peut cliquer sur le bouton du nœud d'injection pour générer deux nouveaux
●120
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
nombres aléatoires. Ce projet peut être utilisé dans des jeux joués avec des dés.
But: Le but de ce projet est de montrer comment deux nombres aléatoires peuvent être générés puis
combinés et affichés sur l'écran LCD.
Schéma: Le schéma de circuit du projet est le même que celui de la figure 6.8.
Programme de flux Node-RED: La figure 6.14 montre le programme de flux qui se compose de 8
nœuds : uninjecternœud pour commencer à générer deux nombres aléatoires, 2aléatoirenœuds
pour générer deux nombres aléatoires entre 1 et 6, unrejoindrenœud pour joindre les deux
nombres générés, un fonctionnœud pour formater les nombres à afficher sur l'écran LCD, unretard
nœud pour générer 5 secondes de délai afin que le message Prêt puisse s'afficher après 5 secondes,
et un fonctionnœud qui affiche réellement le messagePrêt.
• Créer unrejoindrenœud et configurez-le comme indiqué dans la figure 6.15. Ce nœud joindra les
deux nombres aléatoires dans un tableau. Cliquez surFait.
●121
Programmation avec Node-RED
{msg:disp}
]} ;
renvoyer un message ;
• Créé unLCD20x4 I2Cnœud et nommez-le commeÉcran LCD. Définissez l'adresse I2C sur 0x27 comme
auparavant et cliquez surFait
msg.payload={msgs :[
{msg:"Prêt"}
]} ;
renvoyer un message ;
• Joignez tous les nœuds comme indiqué dans la figure 6.14 et cliquez surDéployer.
• Cliquez sur le bouton duinjecternœud. Vous devriez voir deux nombres générés entre 1 et
6. Après 5 secondes, l'écran s'effacera et le messagePrêtsera affiché de sorte que cliquer
à nouveau sur le bouton générera un nouvel ensemble de nombres. La figure 6.16 montre
un exemple de sortie sur l'écran LCD.
Description:Il s'agit d'un projet de compteur d'événements. Les événements sont supposés se produire lorsque la
broche du port GPIO 15 du Raspberry Pi passe du logique 1 au logique 0. Dans le projet, les événements sont
simulés en connectant un interrupteur à bouton-poussoir au GPIO 15 et en appuyant sur le bouton. Le programme
compte les événements qui se produisent et affiche le total à tout moment sur l'écran LCD.
But: Le but de ce projet est de montrer comment un programme simple de compteur d'événements peut être développé en
utilisant Node-RED.
Schéma: Les broches à deux boutons sont connectées respectivement au GPIO 15 et à la masse.
●122
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
Programme de flux Node-RED: La figure 6.17 montre le programme de flux qui se compose de 3 nœuds : unrpi
gpio dansnœud pour recevoir les entrées des boutons, unfonctionnœud pour mettre à jour les décomptes, et un
LCD20x4 I2Cnœud pour afficher le décompte.
var count=context.get('count') || 0 ;
veut dire que sicomptern'existe pas dans l'objet contextuel, alors créez une variable compter
zéro, sinon attribuez la valeur stockée àcompter. La valeur decompterest incrémenté à chaque
fois que le bouton est enfoncé (c'est-à-dire que msg.payload passe à 0).Compter est ensuite
converti en chaîne et envoyé à l'écran LCD :
var count=context.get('count') || 0 ;
if(msg.payload == 0)
{
compte++;
contexte.set('count',count);
var cnt = "Events = " + count.toString();
msg.payload={msgs :[
{msg:cnt}
]} ;
renvoyer un message ;
}
autre
renvoie null ;
●123
Programmation avec Node-RED
• Créé unLCD20x4 I2Cnœud et nommez-le commeÉcran LCD. Définissez l'adresse I2C sur 0x27 et
cliquez surFait
• Joignez tous les nœuds comme dans la Figure 6.17 et cliquez surDéployer. Chaque fois que vous
appuyez sur le bouton, le nombre d'événements sera incrémenté de un et la valeur totale sera
affichée à l'écran comme le montre la Figure 6.19.
Description:Dans ce projet, nous utilisons le populaire capteur numérique DHT11 pour mesurer la
température et l'humidité ambiantes et les afficher sur l'écran LCD toutes les 5 secondes.
But: Le but de ce projet est de montrer comment le capteur de température et d'humidité DHT11 peut être
utilisé dans un projet Node-RED.
Informations d'arrière-plan:Le DHT 11 (ou DHT22) est l'un des capteurs numériques de température et d'humidité les plus
populaires et les plus couramment utilisés. Le capteur comporte essentiellement 3 broches, comme le montre la figure 6.21.
Bien que certaines versions de capteur disposent de 4 broches, l'une des broches n'est pas utilisée. Le
●124
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
Le DHT11 est composé de deux parties : un capteur d'humidité capacitif et un capteur de température à
thermistance. La sortie étant numérique, la puce comprend également un CAN pour convertir les signaux
analogiques en numériques.
• Alimentation 3 V à 5 V
• Faible coût
• Courant maximum de 2,5 mA (pendant la conversion)
• Plage d'humidité de 20 à 80 % avec une précision de 5 %
• Plage de température de 0 à 50 °C avec une précision de ±2 °C
• Taux d'échantillonnage de 1 Hz (une fois par seconde)
Le DHT22 est similaire au DHT11, il a la même taille et la même forme, mais il offre des plages de mesure
plus larges et est également plus précis que le DHT11. Dans ce projet, nous utiliserons un DHT11.
Installation du nœud DHTxx Node-RED: Les étapes pour installer le nœud Node-RED DHTxx (c'est-à-dire
DHT11 et DHT22) sont les suivantes :
Nous sommes maintenant prêts à développer notre programme de flux pour lire et afficher la température et
l'humidité ambiantes.
●125
Programmation avec Node-RED
Schéma: Le schéma de circuit du projet est présenté à la figure 6.23. Le je2C LCD est connecté au
Raspberry Pi comme dans les projets précédents de ce chapitre. Le DHT11 est connecté au Raspberry
Pi comme suit :
Programme de flux Node-RED: La figure 6.24 montre le programme de flux qui se compose de 3 nœuds : unrpi
gpio dansnœud pour recevoir les entrées des boutons, unfonctionnœud pour mettre à jour les décomptes, et un
LCD20x4 I2Cnœud pour afficher le décompte.
●126
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
• Créer unrpi-dht22nœud et configurez-le comme indiqué dans la figure 6.25. Met leModèle de
capteurau DHT11,Numérotation des brochesà BCM GPIO et le numéro de broche à 15 (GPIO
15), cliquez sur Terminé
T = msg.payload ;
H = message.humidité ;
Température = "T = " + T + "C" ;
Hum = "H = " + H + "%" ;
msg.payload={msgs :[
{msg : Temp},
{msg : Hum}
]} ;
renvoyer un message ;
●127
Programmation avec Node-RED
• Créez le nœud LCD comme précédemment, rejoignez tous les nœuds et cliquez surDéployer.
Notez que si vous connectez undéboguerà la sortie du nœud rpi-dht22, vous ne verrez que la
température affichée dans la charge utile. Toutefois, si vous définissez la sortie du nœud de
débogage surobjet message complet, vous verrez à la fois la température et l'humidité affichées
comme le montre la figure 6.28.
La figure 6.29 montre le circuit construit sur une maquette et connecté au Raspberry Pi à l'aide de câbles de
liaison.
●128
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
But: Le but de ce projet est de montrer comment un capteur à ultrasons peut être utilisé dans un projet
Node-RED.
Informations d'arrière-plan: Les modules de capteurs de distance à ultrasons sont utilisés dans des
applications où il est nécessaire de mesurer la distance par rapport à un objet (par exemple un obstacle)
devant le module de capteur. Le capteur à ultrasons le plus couramment utilisé est le HC-SR04 (voir Figure
6.30). Il s'agit d'un module à 4 broches avec les broches suivantes :
Écho:broche d'écho
Trigonométrie:goupille de déclenchement
●129
Programmation avec Node-RED
• Le module envoie ensuite huit signaux carrés de 40 kHz à la cible et règle la broche d'écho
HIGH.
• Le programme démarre une minuterie
Distance à l'objet (en mètres) = (durée du temps d'écho en secondes * vitesse du son) / 2
Donc,
ou,
Distance à l'objet (en cm) = (durée du temps d'écho en µs) * 0,017
Par exemple, si la durée du signal d'écho est de 294 microsecondes, la distance jusqu'à l'objet est
calculée comme suit :
●130
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
Installation du capteur à ultrasons Node-RED node: Les étapes pour installer le nœud Node-RED
du capteur HC-SR04 sont les suivantes :
• Entrernoeud-rouge-noeud-pisrfet cliquezinstaller
• Nous sommes maintenant prêts à développer notre programme de flux pour lire et afficher la distance
Schéma: La figure 6.33 montre le schéma de circuit. Les broches du port Raspberry Pi GPIO 15 et GPIO 18
sont connectées respectivement aux broches Trig et Echo du capteur. Notez que le capteur fonctionne avec
+5V et que son niveau de tension de sortie Echo monte jusqu'à +5V. C'est trop élevé pour les entrées du
Raspberry Pi et, par conséquent, un circuit diviseur de potentiel résistif est utilisé pour abaisser la tension de
sortie du capteur à +3,3 V. Les broches VCC et GND du capteur sont connectées respectivement aux broches
+5V et GND du Raspberry Pi.
Programme de flux Node-RED: La figure 6.34 montre le programme de flux qui se compose de 3
nœuds : unrpi srfnœud pour lire la distance du capteur, unfonctionnœud pour formater les données
à afficher, et unÉcran LCDnœud.
●131
Programmation avec Node-RED
• Cliquez, faites glisser et déposez lerpi srfnœud dans l’espace de travail. Configurez-le comme indiqué
dans la figure 6.35. Notez que par défaut la distance est mesurée toutes les 0,5 secondes, mais cela
peut être modifié si vous le souhaitez. Définissez les numéros de broches là où les broches Trig et Echo
sont connectées sur le Raspberry Pi. Il est important d'être prudent ici puisque les numéros de broches
requis ici sont les numéros de broches physiques de l'en-tête et non les noms de broches GPIO. Dans
ce projet, les broches Trig et Echo sont connectées respectivement aux broches GPIO 15 et 18, qui
correspondent respectivement aux broches physiques numérotées 10 et 12.
●132
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
• Créez le nœud LCD comme auparavant, rejoignez les 3 nœuds et cliquez surDéployer .Vous
devriez voir la distance affichée sur l'écran LCD. Placez quelque chose devant le capteur et vous
devriez voir la distance changer (voir Figure 6.37).
La figure 6.38 montre le circuit construit sur une maquette (remarquez sur cette figure que l'auteur n'avait pas de
résistances 2K et a utilisé à la place des résistances 2x1K).
●133
Programmation avec Node-RED
Description:Dans ce projet, un module de capteur de distance à ultrasons est utilisé, comme dans le projet
précédent. De plus, un buzzer actif est utilisé de telle sorte que si la distance par rapport à un obstacle est
inférieure à 20 cm, le buzzer est activé. Ce projet peut être utilisé dans des applications robotiques mobiles
ou pour vous aider à garer votre voiture.
But: Le but de ce projet est de montrer comment un capteur à ultrasons peut être utilisé avec un
buzzer dans un projet Node-RED.
Schéma: Le schéma de circuit du projet est présenté dans la figure 6.40, où un buzzer actif est
connecté à la broche du port GPIO 23. Le reste du circuit est le même que dans la figure 6.33.
Programme de flux Node-RED: La figure 6.41 montre le programme de flux qui se compose de 3
nœuds : unrpi srfnœud pour lire la distance du capteur, unfonctionnœud pour formater les données
pour contrôler le buzzer, et unrpio sortie gpionœud qui est connecté au buzzr.
●134
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
• Créer unrpi srfnœud comme dans le projet précédent, mais définissez l'intervalle de répétition sur une valeur
inférieure, par exemple 0,25 seconde
• Créer unsortie rpi gpionœud et nommez-le commeAvertisseur sonore. Met leÉpingleau GPIO 23 et
initialisez l'état de la broche à 0
Description:Dans ce projet, on suppose que deux modules de capteurs de distance à ultrasons sont
fixés à l'avant et à l'arrière d'un véhicule. De plus, un buzzer actif est utilisé de telle sorte que si la
distance par rapport à un obstacle à l'avant ou à l'arrière du véhicule est inférieure à 20 cm, le buzzer
est activé. Ce projet peut être utilisé pour vous aider à garer votre voiture.
But: Le but de ce projet est de montrer comment deux modules de capteurs de distance à ultrasons
peuvent être utilisés avec un buzzer dans un projet Node-RED.
Schéma: Le schéma de circuit du projet est présenté à la figure 6.43. L'un des modules de capteurs à
ultrasons et le buzzer sont connectés comme dans le projet précédent. Les broches Trig et Echo du
deuxième module buzzer à ultrasons sont connectées respectivement aux broches du port Raspberry
Pi GPIO 24 et GPIO 25 (broches physiques 18 et 22).
●135
Programmation avec Node-RED
Programme de flux Node-RED: La figure 6.44 montre le programme de flux qui se compose de 5 nœuds : 2
rpi srfnœuds, un pour chaque module de capteur de distance à ultrasons, unrejoindrenœud pour joindre
les deux sorties dans un tableau, unfonctionnœud pour formater la sortie du buzzer, et unsortie rpi gpio
nœud pour contrôler le buzzer.
• Créez les deuxrpi srfnœuds et définissez leurs broches sur 10,12 et 18,22. Met le
Répéterfois à 0,25 seconde dans chacun
• Créer unrejoindrenœud et configurez-le comme indiqué dans la Figure 6.45. Ce nœud joint les
deux entrées dans un tableau qui peut être manipulé dans le nœud de fonction
• Créer unfonctionnœud et entrez les instructions suivantes à l’intérieur de ce nœud, cliquez sur
Fait:
●136
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
• Joignez tous les nœuds comme dans la Figure 6.44, cliquez surDéployer. Placez des objets à proximité de l'un ou
l'autre des capteurs et vous devriez entendre le signal sonore.
La figure 6.46 montre le circuit construit sur une maquette prêt à être testé.
Dans les projets précédents de ce chapitre, nous avons utilisé I2Écrans LCD basés sur C. Dans ces projets, l'écran
LCD réel était un écran LCD parallèle de type HD44780, mais une petite carte était branchée à l'arrière de l'écran
LCD afin que l'écran LCD puisse communiquer en utilisant le SDA et le SCL I.2Lignes C. Les écrans LCD parallèles ont
l'avantage d'être beaucoup moins chers que les écrans LCD parallèles.2Versions C. Leur inconvénient est que leur
contrôle nécessite au moins 6 broches, au lieu des 2 broches nécessaires pour l'I.2Versions C. Les écrans LCD
parallèles nécessitent également un potentiomètre externe pour ajuster leur contraste.
Dans les parties restantes de ce chapitre, nous verrons comment un écran LCD parallèle de type HD44780 peut être
utilisé avec des projets Node-RED.
3 VEE Contraste
4 RS S'inscrire Sélectionner
●137
Programmation avec Node-RED
8 D1 Bit de données 1
9 D2 Bit de données 2
11 D4 Bit de données 4
12 D5 Bit de données 5
13 D6 Bit de données 6
14 J7 Bit de données 7
15 UN Anode (lumière)
16 K Cathode (lumière)
VSS est l'alimentation 0 V ou la masse. La broche VDD doit être connectée à l'alimentation positive. Bien que les fabricants
spécifient une alimentation de 5 V CC, les modules fonctionnent généralement avec une tension aussi basse que 3 V ou aussi
élevée que 6 V.
La broche 3 s'appelle VEE et c'est la broche de contrôle du contraste. Cette broche est utilisée pour régler le
contraste de l'écran et doit être connectée à une alimentation en tension variable. Un potentiomètre est
normalement connecté entre les lignes d'alimentation avec son bras d'essuie-glace connecté à cette broche
afin que le contraste puisse être ajusté.
La broche 4 est la sélection de registre (RS) et lorsque cette broche est FAIBLE, les données transférées à l'écran sont traitées
comme des commandes. Lorsque RS est ÉLEVÉ, les données de caractères peuvent être transférées vers et depuis le module.
La broche 5 est la ligne de lecture/écriture (R/W). Cette broche est tirée BAS afin d'écrire des commandes ou des données de
caractères sur le module LCD. Lorsque cette broche est ÉLEVÉE, les données de caractères ou les informations d'état peuvent
être lues à partir du module.
La broche 6 est la broche d'activation (E) qui est utilisée pour lancer le transfert de commandes ou de données
entre le module et le microcontrôleur. Lors de l'écriture sur l'écran, les données sont transférées uniquement lors
de la transition HAUT vers BAS de cette ligne. Lors de la lecture à partir de l'écran, les données deviennent
disponibles après la transition BAS à HAUT de la broche d'activation et ces données restent valides tant que la
broche d'activation est au niveau logique HAUT.
Les broches 7 à 14 sont les huit lignes de bus de données (D0 à D7). Les données peuvent être transférées entre le
microcontrôleur et le module LCD en utilisant soit un seul octet de 8 bits, soit deux quartets de 4 bits. Dans ce
dernier cas, seules les quatre lignes de données supérieures (D4 à D7) sont utilisées. Le mode 4 bits présente
l'avantage de nécessiter quatre lignes d'E/S en moins pour communiquer avec l'écran LCD.
Un projet simple est donné ci-dessous par souci d'exhaustivité, qui illustre comment un écran LCD parallèle peut
être utilisé dans un projet basé sur Node-RED.
●138
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
Description:Dans ce projet, un écran LCD parallèle est connecté au Raspberry Pi et le message Hello
There s'affiche sur l'écran LCD.
But: Le but de ce projet est de montrer comment un écran LCD parallèle peut être utilisé dans un projet basé sur
Node-RED.
Schéma: La figure 6.47 montre le schéma de circuit du projet. L'écran LCD est connecté au Raspberry
Pi comme suit :
Notez qu'un potentiomètre 10K doit être connecté à la broche VEE (ou Vo) pour régler le contraste de l'écran
LCD.
Installation du nœud LCD parallèle :Les étapes pour installer le nœud LCD parallèle sur la palette Node-RED sont
indiquées ci-dessous :
●139
Programmation avec Node-RED
Programme de flux Node-RED: La Figure 6.48 montre le programme de flux qui se compose de 4 nœuds :
uninjecternœud, 2fonctionnœuds, où chacun envoie du texte à chaque ligne de l'écran LCD, et lerpi lcd
nœud de contrôle.
• Créé uninjecternœud
• Les données vers l'écran LCD doivent être envoyées sous forme de chaînes. Pour la ligne 1, commencez les données avec
1:, pour la ligne 2, commencez les données avec2 :et ainsi de suite. Chaîneclr :efface l'écran.
Les lecteurs intéressés peuvent obtenir plus d’informations à partir du lien suivant :
https://flows.nodered.org/node/node-red-node-pilcd
• Créer lerpi lcdnœud. Configurez le nœud comme indiqué dans la figure 6.49.
●140
Chapitre 5 • Projets Raspberry Pi basés sur Node-RED utilisant Gpio
• Rejoignez tous les nœuds et cliquez surDéployer. Cliquez sur le bouton duinjecternœud et vous
devriez voir les textes suivants affichés sur l'écran LCD :
C'est la ligne 1
C'est la ligne 2
6 .15 Résumé
Dans ce chapitre, nous avons appris à utiliser un écran LCD dans les projets Raspberry Pi basés sur Node-
RED.
Dans le chapitre suivant, nous examinerons les convertisseurs analogique-numérique (ADC) et verrons comment nous
pouvons utiliser les ADC dans des projets basés sur Node-RED.
●141
Programmation avec Node-RED
7 .1 Aperçu
La plupart des capteurs réels ont des sorties analogiques et ces sorties ne peuvent pas être connectées directement
aux ports d'entrée de l'ordinateur. Des convertisseurs analogique-numérique (ADC) sont utilisés pour convertir ces
signaux analogiques sous forme numérique afin qu'ils puissent être lus par un ordinateur. Malheureusement,
l'ordinateur Raspberry Pi n'a pas de ports ADC intégrés et il n'est pas possible de l'interfacer avec des sorties
analogiques à moins qu'un circuit ADC externe ne soit utilisé.
Il existe de nombreux types d’ADC qui peuvent être utilisés dans les projets. Certains paramètres ADC
importants à prendre en compte avant d’en utiliser un sont les suivants :
Longueur des mots : la plupart des CAN avaient une largeur de 8 bits et n'avaient que 256 niveaux de quantification.
De tels CAN ne sont pas précis puisque seuls 256 niveaux sont utilisés pour représenter la tension d'entrée. De nos
jours, les CAN à usage général sont généralement de 10 ou 12 bits. Un CAN 10 bits possède 1 024 niveaux de
quantification et un CAN 12 bits possède 4 096 niveaux de quantification. Considérant un CAN 8 bits, avec une
tension de référence de +3,3 V, chaque bit correspond à 12,89 mV. Cela signifie que les tensions d'entrée inférieures
à 12,89 mV ne peuvent pas être différenciées. Avec un CAN 10 bits, chaque bit représente 3,22 mV, et avec un
convertisseur 12 bits, chaque bit représente 0,80 mV.
Dans ce chapitre, nous utiliserons un ADC externe sur notre Raspberry Pi pour lire les données des capteurs
utilisant Node-RED.
7 .2 Le CAN MCP3002
L'ADC que nous utiliserons dans nos projets de ce chapitre est le MCP3002. Il s'agit d'une puce DIL à 8
broches (voir Figure 7.1), avec les caractéristiques suivantes :
• Résolution de 10 bits
• 2 canaux d'entrée
• Convertisseur d'approximations successives
• Circuit d'échantillonnage et de maintien sur puce
Le MCP3002 intègre un circuit d'échantillonnage et de maintien sur puce qui est nécessaire lors de la conversion rapide des
signaux d'entrée analogiques. Les fonctions des broches sont :
●142
Chapitre 7 • Utilisation de l'ADC dans les projets Raspberry Pi Node-RED
Installation du nœud MCP3002: Avant d'utiliser le MCP 3002 dans une application Node-RED, nous devons
installer le nœud MCP3002 dans la palette de nœuds (les étapes suivantes installent les nœuds MCP 3xxx,
qui incluent d'autres puces ADC de la même famille). Les étapes sont indiquées ci-dessous :
• Une fois l'installation terminée, vous devriez voir un nouveau nœud appeléConvertisseur
A/N
Vous pouvez également exécuter la commande suivante à partir de votre répertoire Node-RED par défaut de~/ .
nodé
Nous devons également activer l'interface SPI sur notre Raspberry Pi 4. Les étapes sont :
Raspberry Pi possède les deux ports SPI avec les broches suivantes :
Port SPI Fonction SPI Nom de la broche du Raspberry Numéro de port physique
SPI0 MOSI Pi GPIO10 19
SPI0 MISO GPIO9 21
SPI0 CLK GPIO11 23
SPI0 CE0 GPIO8 24
SPI0 CE1 GPIO7 26
SP1 MOSI GPIO20 38
SP1 MISO GPIO19 35
SP1 CLK GPIO21 40
SP1 CE0 GPIO18 12
SP1 CE1 GPIO17 11
●143
Programmation avec Node-RED
La communication SPI nécessite un minimum de 3 broches : MOSI (Master Out Slave In), MISO (Master In
Slave Out) et CLK (Clock). Dans certaines applications, il peut également être nécessaire d'activer le
périphérique SPI à l'aide de l'une des broches CE (Chip Enable).
Un projet est présenté dans la section suivante qui montre comment le MCP 3002 peut être utilisé dans un projet.
Description:Il s'agit d'un projet de voltmètre. La tension à mesurer est appliquée aux bornes
d'entrée. La valeur mesurée est affichée en millivolts sur un écran LCD. Dans ce projet, veuillez vous
assurer que la tension d'entrée n'est pas supérieure à 3 300 mV.
But: Le but de ce projet est de montrer comment un ADC peut être utilisé dans un projet Node-RED
avec Raspberry Pi.
Schéma: La figure 7.3 montre le schéma de circuit du projet. Le MCP 3002 ADC est connecté au
Raspberry Pi comme suit :
●144