FabLab Nîmes / Mbed 2 deprecated FabLab_Station_Meteo

Dependencies:   mbed

Committer:
Giamarchi
Date:
Thu Mar 24 17:13:45 2022 +0000
Revision:
4:610e1572bd1b
Parent:
3:c75f8eddeaf4
Child:
6:5a2c3d7d4623
Test Bluetooth

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Giamarchi 2:c1a4641eeacf 1 //==============================================================================
Giamarchi 2:c1a4641eeacf 2 // Fichier : fonctions.h
Giamarchi 2:c1a4641eeacf 3 //
Giamarchi 2:c1a4641eeacf 4 // Description de fonctions utilisées pour la station météo
Giamarchi 2:c1a4641eeacf 5 //==============================================================================
Giamarchi 3:c75f8eddeaf4 6 #include "mbed.h"
Giamarchi 2:c1a4641eeacf 7 // Déclaration des variables et des constantes
Giamarchi 2:c1a4641eeacf 8
Giamarchi 3:c75f8eddeaf4 9 InterruptIn Anem(PB_4); // La ligne est déclarée en interruption
Giamarchi 3:c75f8eddeaf4 10 Timer Fenetre_Temps; // Déclaration d'un compteur
Giamarchi 3:c75f8eddeaf4 11
Giamarchi 3:c75f8eddeaf4 12 uint16_t nombre;
Giamarchi 2:c1a4641eeacf 13
Giamarchi 3:c75f8eddeaf4 14 void ISR_Compteur(void) // Fonction d'interruption (Interrupt Sub Routine)
Giamarchi 3:c75f8eddeaf4 15 {
Giamarchi 3:c75f8eddeaf4 16 nombre++; // Compte le nombre de rotation de l'axe
Giamarchi 3:c75f8eddeaf4 17 }
Giamarchi 2:c1a4641eeacf 18
Giamarchi 2:c1a4641eeacf 19 void Init_Fonctions(void)
Giamarchi 2:c1a4641eeacf 20 {
Giamarchi 3:c75f8eddeaf4 21 Anem.mode(PullUp); // Activation résistance de Pullup
Giamarchi 3:c75f8eddeaf4 22 Fenetre_Temps.start(); // Déclenche le timer
Giamarchi 3:c75f8eddeaf4 23 Anem.rise(&ISR_Compteur); // Interruption sur front montant
Giamarchi 4:610e1572bd1b 24 Anem.fall(&ISR_Compteur);
Giamarchi 2:c1a4641eeacf 25 }
Giamarchi 2:c1a4641eeacf 26 //==============================================================================
Giamarchi 2:c1a4641eeacf 27 // Fonction : Girouette
Giamarchi 2:c1a4641eeacf 28 // Entrée : Pas de paramètres en entrée
Giamarchi 3:c75f8eddeaf4 29 // Sortie : vitesse du vent en 16bits
Giamarchi 2:c1a4641eeacf 30
Giamarchi 3:c75f8eddeaf4 31 int16_t Anemometre (void)
Giamarchi 2:c1a4641eeacf 32 {
Giamarchi 3:c75f8eddeaf4 33 int16_t vit; // variable locale
Giamarchi 3:c75f8eddeaf4 34
Giamarchi 4:610e1572bd1b 35 if(Fenetre_Temps.read_ms() >= 1000) // Mesure d'une fréquence
Giamarchi 3:c75f8eddeaf4 36 {
Giamarchi 4:610e1572bd1b 37 vit = nombre/8; // Formule de conversion
Giamarchi 3:c75f8eddeaf4 38 nombre = 0;
Giamarchi 3:c75f8eddeaf4 39 Fenetre_Temps.reset();
Giamarchi 3:c75f8eddeaf4 40 }
Giamarchi 3:c75f8eddeaf4 41 else
Giamarchi 3:c75f8eddeaf4 42 {
Giamarchi 3:c75f8eddeaf4 43 vit = -1; // Lecture non disponible
Giamarchi 3:c75f8eddeaf4 44 }
Giamarchi 3:c75f8eddeaf4 45 return vit;
Giamarchi 3:c75f8eddeaf4 46 }
Giamarchi 3:c75f8eddeaf4 47
Giamarchi 3:c75f8eddeaf4 48 // Nucleo - L432KC
Giamarchi 3:c75f8eddeaf4 49
Giamarchi 3:c75f8eddeaf4 50 // PA_9 Vin
Giamarchi 3:c75f8eddeaf4 51 // PA_10 Gnd
Giamarchi 3:c75f8eddeaf4 52 // NRST NRST
Giamarchi 3:c75f8eddeaf4 53 // Gnd 5V
Giamarchi 3:c75f8eddeaf4 54 // PA_12 PA_2
Giamarchi 3:c75f8eddeaf4 55 // PB_0 PA_7
Giamarchi 3:c75f8eddeaf4 56 // PB_7 PA_6
Giamarchi 3:c75f8eddeaf4 57 // PB_6 PA_5
Giamarchi 3:c75f8eddeaf4 58 // PB_1 PA_4
Giamarchi 3:c75f8eddeaf4 59 // NC PA_3
Giamarchi 3:c75f8eddeaf4 60 // NC PA_1
Giamarchi 3:c75f8eddeaf4 61 // PA_8 PA_0
Giamarchi 3:c75f8eddeaf4 62 // PA_11 Aref
Giamarchi 3:c75f8eddeaf4 63 // PB_5 3V3
Giamarchi 3:c75f8eddeaf4 64 // PB_4 PB_3
Giamarchi 3:c75f8eddeaf4 65
Giamarchi 3:c75f8eddeaf4 66