Table des matières:
- Étape 1: Ressources utilisées
- Étape 2: Assemblage
- Étape 3: Nouveau programme en MBED
- Étape 4: Importation de la bibliothèque DS18b20
- Étape 5: Nouveau programme dans MBED
- Étape 6: Code source
- Étape 7: Données reçues
- Étape 8: Inclure plus de capteurs
- Étape 9: Afficher la source
- Étape 10: Fichiers
Vidéo: Incroyablement facile à programmer ! : 10 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Aujourd'hui, je vais parler du Core STM32, le L476RG, qui est le visage de l'Ultra Low Power. Vous pouvez le voir sur la gauche de l'image. Cet appareil a deux barres à broches femelles, une de chaque côté, qui ne sont rien de plus que les connecteurs pour le blindage arduino. C'est super, non ?
À mon avis, STMicroelectronics l'a fait dans son kit de développement car il sait que les professionnels utilisent cette puce. Cette entreprise se tourne de plus en plus vers l'arduino. Et cela est également vrai pour plusieurs autres kits professionnels STMicroelectronics.
Enfin, concernant le projet d'aujourd'hui, nous utiliserons deux capteurs DS18b20 en plus du L476RG. Nous allons donc réaliser un assemblage simple à l'aide du L476RG, importer une bibliothèque dans l'environnement MBED, créer un programme dans l'environnement MBED et obtenir des données du L476RG via USB / série.
J'ai déjà un peu parlé du L476RG dans cette vidéo: LA MOYENNE PLUS FACILE DE PROGRAMMER UN MICROCONTROLEUR, où je montre comment configurer l'environnement MBED, qui est en ligne.
Certaines personnes qui suivent mes vidéos me demandent si STM32 remplace ESP32. Je dis une chose: ça ne remplace pas et ça ne pourrait pas, car ce sont deux choses complètement différentes.
Cette puce STM32 est un microcontrôleur, ou plutôt; ce n'est pas un "groupe de choses" comme l'ESP32. Le nom peut donc sembler similaire, mais ils sont complètement différents. Le STM32 est un microcontrôleur à usage général, tel qu'un PIC, un Atmel, par exemple.
Étape 1: Ressources utilisées
1 noyau L476RG
2 capteurs DS18b20 (nous utilisons les modules étanches courants sur le marché)
1 résistance 4k7
Mini protoboard
Cavaliers de connexion
Étape 2: Assemblage
Nous allons dans un premier temps réaliser le montage à l'aide d'une des sondes de température.
Sa puissance sera de 5V.
Une résistance 4k7 sera utilisée pour faire un pull-up sur la ligne de données (1-Wire).
Nous allons lire les données en utilisant la broche A0.
Étape 3: Nouveau programme en MBED
Une fois que vous avez configuré votre compte dans MBED et que vous y accédez, nous créerons un nouveau programme. Pour cela, faites un clic droit sur « Mes programmes » et sélectionnez « Nouveau programme… »
Confirmez que la « Plateforme » est conforme à la carte que vous utilisez.
Nous cliquons maintenant sur "Modèle".
Nous allons créer un programme basé sur l'exemple, "Afficher un message sur PC en utilisant UART".
Entrez le nom du programme dans "Nom du programme".
Cochez l'option "Mettre à jour ce programme et les bibliothèques vers la dernière révision".
Un nouveau dossier pour votre programme sera créé, comprenant la bibliothèque MBED par défaut et le fichier main.cpp.
Vous pouvez l'utiliser pour tester si tout fonctionne bien. Pour ce faire, il suffit de le compiler et de le copier sur la plateforme.
En utilisant un terminal série de votre choix, vous pouvez recevoir les messages suivants.
Étape 4: Importation de la bibliothèque DS18b20
Comme il existe plusieurs versions de bibliothèques pour le Ds18b20, nous allons importer en utilisant une url afin que votre exemple utilise la même bibliothèque.
Étape 5: Nouveau programme dans MBED
Dans le champ "Source URL" remplissez: https://os.mbed.com/users/Sissirs/code/DS1820/ et cliquez sur importer.
Votre bibliothèque DS1820 devrait apparaître dans votre dossier de programme.
Étape 6: Code source
Comprend
Nous avons commencé par inclure les bibliothèques nécessaires.
#include "mbed.h" //inclusão da biblioteca padrão do MBED#include "DS1820.h" //inclusão da biblioteca do sensor DS1820
Nous définissons des constantes qui représenteront les broches utilisées.
Notez que le DS18b20 est un capteur avec communication 1-WIRE. Pour cette raison, nous utilisons la bibliothèque qui gérera l'ensemble du protocole de communication avec les appareils. Cela inclut l'identification de chaque appareil jusqu'aux commandes de lecture.
#define PINO_DE_DADOS A0 //define o pino para leitura dos dados#define MAX_SENSORES 16 //define o número máximo para o vetor de sensores
Nous créons un vecteur qui pointera vers chacun des 16 appareils possibles connectés à la ligne de données.
Capteur DS1820*[MAX_SENSORES]; //cria um vetor com 16 posições para os sensores
Nous commençons la méthode main (), où, à l'aide de la méthode "unassignedProbe ()" contenue dans la bibliothèque DS1820, nous recherchons tous les périphériques disponibles dans la ligne de communication.
Nous remplissons le vecteur capteur avec les instances qui représenteront chacun des capteurs disponibles.
Nous faisons cela jusqu'à ce que le dernier soit trouvé ou jusqu'à ce que nous atteignions le maximum de 16 capteurs.
int main(){ int encontrados = 0; while(DS1820::unassignedProbe(PINO_DE_DADOS)) { //inicia a procura por sensores sensor[encontrados] = new DS1820(PINO_DE_DADOS); //cria uma instancia para o sensor encontrado encontrados++; if (encontrados == MAX_SENSORES) //vérifier la rupture de la rupture maximale des capteurs; }
On envoie le nombre de capteurs trouvés sur la ligne.
printf("Dispositivos encontrado(s): %d \r\n\n", encontrados);
Nous commençons une boucle infinie, demandant que tous les capteurs disponibles calculent leurs températures respectives, puis parcourons le vecteur de capteur en envoyant les lectures obtenues.
printf("Dispositivos encontrado(s): %d \r\n\n", encontrados); while(1) { sensor[0]->convertTemperature(true, DS1820::all_devices); // sollicite une leitura de temperature para todos os dispositivos encontrados for (int i = 0; itemperature()); //… e restitue une température printf("\r\n"); attendre(1); }
Étape 7: Données reçues
En utilisant un seul capteur, nous obtenons la sortie série suivante.
Étape 8: Inclure plus de capteurs
Pour tester le code, nous introduisons un autre capteur dans la ligne de communication, simplement en le connectant en parallèle avec le premier capteur.
N'oubliez pas d'éteindre l'ensemble avant de brancher de nouveaux capteurs.
Lors du redémarrage de l'assembly, nous avons obtenu la sortie suivante, sans aucune modification du code source.
Étape 9: Afficher la source
#include "mbed.h" //inclusão da biblioteca padrão do MBED#include "DS1820.h" //inclusão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 //define o pino para leitura dos dados #define MAX_SENSORES 16 //define o número máximo para o vetor de sensores DS1820* sensor[MAX_SENSORES]; //cria um vetor com 16 posições para os sensores int main() { int encontrados = 0; while(DS1820::unassignedProbe(PINO_DE_DADOS)) { //inicia a procura por sensores sensor[encontrados] = new DS1820(PINO_DE_DADOS); //cria uma instancia para o sensor encontrado encontrados++; if (encontrados == MAX_SENSORES) //vérifier la rupture de la rupture maximale des capteurs; } printf("Dispositivos encontrado(s): %d \r\n\n", encontrados); while(1) { sensor[0]->convertTemperature(true, DS1820::all_devices); // sollicite une leitura de temperature para todos os dispositivos encontrados for (int i = 0; itemperature()); //… e restitue une température printf("\r\n"); attendre(1); } }
Étape 10: Fichiers
Autres
Conseillé:
Système d'arrosage facile à programmer avec Arduino : 4 étapes
Système d'arrosage programmable facile avec Arduino : Ce projet gardera vos plantes en vie, sans aucune intervention pendant plusieurs jours voire semaines. Pour résumer, il s'agit d'un système d'arrosage programmable simple, alimenté par Arduino. Si vous aimez l'électronique et les plantes, ce projet est fait pour vous. C'est aimé
Un moyen rapide et facile de changer votre écran de verrouillage en 6 étapes simples (Windows 8-10): 7 étapes
Un moyen rapide et facile de changer votre écran de verrouillage en 6 étapes simples (Windows 8-10) : Vous voulez changer les choses sur votre ordinateur portable ou PC ? Envie de changement d'ambiance ? Suivez ces étapes rapides et faciles pour personnaliser avec succès l'écran de verrouillage de votre ordinateur
DIY MusiLED, LED synchronisées avec la musique avec une application Windows et Linux en un clic (32 bits et 64 bits). Facile à recréer, facile à utiliser, facile à porter. : 3 étapes
DIY MusiLED, LED synchronisées avec la musique avec une application Windows et Linux en un clic (32 bits et 64 bits). Facile à recréer, facile à utiliser, facile à porter. : Ce projet vous aidera à connecter 18 LED (6 rouges + 6 bleues + 6 jaunes) à votre carte Arduino et analyser les signaux en temps réel de la carte son de votre ordinateur et les relayer à les leds pour les éclairer selon les effets de beat (Snare, High Hat, Kick)
Comment construire une lampe de poche LED incroyablement lumineuse ! : 8 étapes (avec photos)
Comment construire une lampe de poche LED incroyablement lumineuse ! : Dans ce Instructable (mon premier), je vais vous montrer comment j'ai construit cette lampe de poche LED ridiculement lumineuse afin que vous aussi puissiez transformer la nuit en jour… et impressionner vos amis. La plupart d'entre nous utilisent assez souvent des lampes de poche pour des activités comme le camping
Arduino ProtoShield incroyablement facile : 7 étapes
Arduino ProtoShield d'une simplicité embarrassante : j'ai publié hier un ProtoShield Instructable. Cela avait l'avantage de tenir compte de l'en-tête Arduino décalé, mais les gens ont souligné que c'était un peu désordonné (j'ai utilisé de l'époxy là où les en-têtes mâles standard auraient été bien.) La raison pour laquelle je suis gêné