Expériences simples avec le microcontrôleur STM32F103 (Blue Tablet)



Beaucoup ont acquis une «pilule bleue» pour essayer. Mais en raison de la complexité de la programmation, cette chose était quelque part sur l'étagère, jusqu'à des temps meilleurs.

Nous considérerons que les «meilleurs moments» sont arrivés.

Ce qui est nécessaire pour les expériences:


  • Matériel informatique
  • Logiciels

Matériel informatique


Toutes les pièces / composants utilisés peuvent être achetés sur aliexpress.com

  • Bien sûr, tout d'abord, le contrôleur lui-même. "Blue Tablet"
  • Adaptateur USB-UART
  • Câble micro usb
  • un ensemble de fils pour connecter les composants les uns aux autres

Il est recommandé d'utiliser le programmateur ST-Link V2 pour accélérer, par rapport à UART, le chargement du «firmware» et le débogage des programmes

Logiciels



Qu'est-ce qu'un module?


Un module est une combinaison de matériel et de logiciel. La partie matérielle est la «tablette» STM32F103C8T6, la partie logicielle est le «modèle de firmware» créé à l'aide du programme MIOC. Ce programme est OpenSource .

Ports du microcontrôleur


Le microcontrôleur a des broches ou des pattes. Certains d'entre eux sont alimentés par un microcontrôleur, certains ont un objectif spécial (par exemple, Réinitialiser), certains sont une interface d'entrée / sortie à usage général (entrée / sortie à usage général en anglais, GPIO).

Les ports sont regroupés (A; B; C ...). Chaque groupe contient jusqu'à 16 ports, numérotés de 0 à 15. Par conséquent, la numérotation des ports ressemble à PA0, PA1, ...

Les ports sont utilisés pour la communication entre les composants du module, par exemple, un microprocesseur et divers périphériques. Les ports peuvent agir comme une entrée, une sortie et bidirectionnel.

La carte «tablette» est marquée de ports.

GPIO - Interface d'E / S à usage général


Dans le module IO, les principaux types de ports sont présentés dans le tableau:



En tant que capteurs, actionneurs, nous utiliserons divers appareils Arduino.

Programme MIOC (Module Input-Output Configurator)


En utilisant ce programme, nous créons / configurons le modèle de firmware (projet pour Embitz; Keil) du module IO. Le programme d'installation ne nécessite pas. Téléchargez, exécutez. En utilisant ce programme, nous créons des variables globales que nous utiliserons dans notre firmware. Les variables peuvent être associées aux ports.

Première fenêtre d'exécution:



Créez un projet:



Sélectionnez un dossier pour le projet. Dossier, car le projet doit être vide!







Le premier programme - "bonjour" pour le microcontrôleur


Nous clignotons la LED qui se trouve sur la «pilule bleue». Cette LED est connectée au port PC13.

Ajouter une ligne à la table des variables





Générer du code BSP (bouton F8)



De plus, chaque fois après un changement de projet, la génération de BSP est requise!

Ouvrez le projet créé dans l'environnement de développement d'EmBitz ou Keil. EmBitz est toujours une solution de contournement. Il semble que l'auteur ait abandonné ce projet. Très probablement à l'avenir, le projet utilisera Code :: Blocks.

Dans le fichier main.c, écrivez ce qui suit:


(Pour augmenter la taille de l'image, ouvrez-la dans un nouvel onglet)

Dans EmBitz, appuyez sur F2, après l'apparition de la fenêtre d'informations, appuyez sur F7. La compilation doit être faite.

Appuyez à nouveau sur F2 pour masquer les signets d'informations.



Téléchargez sur le microcontrôleur, voyez comment cela fonctionne.

Bouton


Ajoutez un bouton, par exemple ceci:



Schéma de câblage:



Ajoutez une variable à la table:



Nous générons BSP.

Modifiez le programme comme suit:



Nous créons un nouveau BSP (F8), le compilons, le chargeons dans le microcontrôleur.

Nous appuyons sur le bouton - la LED s'allume, relâchez - elle s'éteint.

Au lieu d'une LED, un relais peut être connecté à un autre port, par exemple:



Et gérer une sorte de charge utile.

Messages de sortie vers la console


Vous devez déterminer quelle sera la console.

Les options sont les suivantes:

  • Adaptateur USB-UART
  • port COM virtuel (câble micro-USB)

Si UART1 et USB en tant que console sont sélectionnés dans la configuration et que USB VCP n'est pas sélectionné, la console sera affectée à nulle part. C'est-à-dire il n'y aura pas de serment sur la fonction print_str (ou la macro d'impression), mais il n'y aura pas non plus de sortie. Le même comportement sera si vous ne sélectionnez aucune interface, ou sélectionnez USB VCP mais ne sélectionnez ni UART1 ni USB comme console.

Configuration de la console:



Connectez TettaTerm au port COM (console). Si nous téléchargeons le firmware via UART1, n'oubliez pas de déconnecter / connecter le port COM. Dans TerraTerm "boutons chauds" Alt + I; Alt + N Ceci n'est pas requis pour l'option de démarrage via ST-Link.

Modifiez le programme:



Maintenant, l'état du bouton sera affiché sur la console:



DS18B20


Connectez le capteur de température DS18B20 à la «tablette».



Mettez la variable dans le tableau:



Modifiez le programme comme suit:



Nous créons une nouvelle configuration, la compilons, la chargeons dans le microcontrôleur.

La console affichera la température mesurée par le capteur.



ADC


Comme exemple de travail avec l'ADC, vous pouvez utiliser le potentiomètre:



Ou capteur d'humidité du sol



Arrêtons-nous sur le dernier:

Configurez le port:



Modification du programme:



Nous compilons, chargeons.

Dans la console, nous observons:



adc - lecture ADC actuelle. max et min - relevés minimum et maximum enregistrés du capteur, complètement secs (0%) et très humides (100%).

Très humide (100%) - placez le capteur dans un verre d'eau. Très sec (0%) - réside en plein air.

En fait, nous avons calibré le capteur d'humidité du sol de 0 à 100%. Nous plaçons les valeurs maximales et minimales dans le texte du programme.



Le résultat du travail. Le capteur est placé dans le sol du pot de fleur:



Ce projet est un modèle de solution pour l'arrosage des plantes.

C'est tout pour l'instant. Le programme MIOC sera réapprovisionné avec des fonctionnalités supplémentaires.

Source: https://habr.com/ru/post/fr466663/


All Articles