• Arduino
  • Raspberry Pi
  • Raspberry Pi Pico
  • Micro:Bit

Le capteur de son du microphone émet un signal lorsque le microphone avant détecte un bruit. La sensibilité du capteur peut être ajustée à l'aide d'un régulateur, ce qui lui permet de réagir à des bruits plus ou moins forts. Ce capteur est idéal pour les projets dans lesquels les bruits doivent être détectés et auxquels il faut réagir, comme par exemple dans les commandes vocales, les systèmes de surveillance ou les installations interactives. Grâce à sa sensibilité réglable, le capteur peut être adapté à différentes conditions environnementales et à des exigences spécifiques.

Note de l'utilisateur

Ce capteur convient parfaitement à la mesure de valeurs seuils. Cela signifie que le capteur émet un signal numérique élevé dès qu'une valeur seuil fixée par l'utilisateur sur le potentiomètre rotatif est dépassée. Il convient de noter ici que le signal numérique est une comparaison entre la valeur réglée sur le potentiomètre rotatif et la valeur mesurée sur le capteur, qui sont ensuite comparées par le comparateur LM393 installé sur la carte. La valeur réglée sur le potentiomètre rotatif est la valeur seuil, qui est utilisée pour définir un signal logique haut.

Sortie numérique: Si le niveau sonore est supérieur à la valeur seuil définie, un signal est émis ici.

Sortie analogique: Valeur de mesure directe de l'unité de capteur

LED1: Indique que le capteur est alimenté en tension

LED2: Indique que le niveau sonore a dépassé la valeur seuil définie

Fonctionnement du capteur

Ce capteur comporte deux composants fonctionnels sur son circuit imprimé : L'unité de capteur avant, qui mesure physiquement l'environnement et le transmet sous forme de signal analogique à la seconde unité, le comparateur. Le comparateur compare la valeur mesurée par le capteur avec la valeur réglée sur le potentiomètre rotatif et émet un signal logique élevé sur la broche numérique et la LED L1 si la valeur réglée sur le potentiomètre rotatif est dépassée.

Veuillez noter. Veuillez noter. Le signal est inversé. Si une valeur élevée est mesurée, cela se traduit par une valeur de tension plus faible à la sortie analogique.

Le potentiomètre rotatif peut être réglé comme suit :

Ce capteur ne donne pas de valeurs absolues (par exemple, la température exactement mesurée en °C ou l'intensité du champ magnétique en mT), mais il s'agit d'une mesure relative : une valeur limite est définie par rapport à la situation environnementale normale donnée et un signal est donné qui peut être traité ultérieurement si cette valeur limite est dépassée ou si une autre condition que le cas normal s'est produite.

Ce comportement est idéal pour la surveillance de la température (KY-028), les capteurs de proximité (KY-024, KY-025, KY-036), des moniteurs d'alarme (KY-037, KY-038) ou des codeurs (KY-026).

Affectation des broches


Arduino Capteur
5V +V
GND GND
Pin 3 Signal numérique
Pin A0 Signal analogique

Exemple de code

Le programme lit la valeur de la tension actuelle, qui peut être mesurée sur la sortie analogique, et la sort sur l'interface série. En outre, l'état de la broche numérique est également indiqué dans la console, ce qui signifie que la valeur est passée sous la valeur limite ou non.

Pour charger l'exemple de code suivant sur votre Arduino, nous vous recommandons d'utiliser l'IDE Arduino. Dans l'IDE, vous pouvez choisir le port et la carte qui conviennent à votre appareil.

Copiez le code ci-dessous dans votre IDE. Pour télécharger le code sur votre Arduino, il vous suffit de cliquer sur le bouton " Upload ".

// Déclaration et initialisation des broches d'entrée
int analog_input = A0; // Sortie analogique du capteur
int digital_input = 3; // Sortie numérique du capteur
  
void setup () {
  pinMode(analog_input, INPUT);
  pinMode(digital_input, INPUT);
  Serial.begin(9600); // Sortie série à 9600 bps
  Serial.println("KY-038 Détection du bruit");
}
  
// Le programme lit les valeurs actuelles des broches d'entrée
// et les affiche sur la sortie sérielle
void loop () {
  float analog_value;
  int digital_value;
    
  //Les valeurs actuelles sont lues, converties en valeur de tension...
  analog_value = analogRead(analog_input) * (5.0 / 1023.0); 
  digital_value = digitalRead(digital_input);
    
  //... et émis à cet endroit
  Serial.print("Valeur de tension analogique: "); 
  Serial.print(analog_value, 4);
  Serial.print(" V, \t Valeur limite: ");
  
  if (digital_value == 1) {
      Serial.println("atteint");
  }
  else {
      Serial.println("pas encore atteint");
  }
  Serial.println("----------------------------------------------------------------");
  delay(1000);
}

Le capteur de son du microphone émet un signal lorsque le microphone avant détecte un bruit. La sensibilité du capteur peut être ajustée à l'aide d'un régulateur, ce qui lui permet de réagir à des bruits plus ou moins forts. Ce capteur est idéal pour les projets dans lesquels les bruits doivent être détectés et auxquels il faut réagir, comme par exemple dans les commandes vocales, les systèmes de surveillance ou les installations interactives. Grâce à sa sensibilité réglable, le capteur peut être adapté à différentes conditions environnementales et à des exigences spécifiques.

Note de l'utilisateur

Ce capteur convient parfaitement à la mesure de valeurs seuils. Cela signifie que le capteur émet un signal numérique élevé dès qu'une valeur seuil fixée par l'utilisateur sur le potentiomètre rotatif est dépassée. Il convient de noter ici que le signal numérique est une comparaison entre la valeur réglée sur le potentiomètre rotatif et la valeur mesurée sur le capteur, qui sont ensuite comparées par le comparateur LM393 installé sur la carte. La valeur réglée sur le potentiomètre rotatif est la valeur seuil, qui est utilisée pour définir un signal logique haut.

Sortie numérique: Si le niveau sonore est supérieur à la valeur seuil définie, un signal est émis ici.

Sortie analogique: Valeur de mesure directe de l'unité de capteur

LED1: Indique que le capteur est alimenté en tension

LED2: Indique que le niveau sonore a dépassé la valeur seuil définie

Fonctionnement du capteur

Ce capteur comporte deux composants fonctionnels sur son circuit imprimé : L'unité de capteur avant, qui mesure physiquement l'environnement et le transmet sous forme de signal analogique à la seconde unité, le comparateur. Le comparateur compare la valeur mesurée par le capteur avec la valeur réglée sur le potentiomètre rotatif et émet un signal logique élevé sur la broche numérique et la LED L1 si la valeur réglée sur le potentiomètre rotatif est dépassée.

Veuillez noter. Veuillez noter. Le signal est inversé. Si une valeur élevée est mesurée, cela se traduit par une valeur de tension plus faible à la sortie analogique.

Le potentiomètre rotatif peut être réglé comme suit :

Ce capteur ne donne pas de valeurs absolues (par exemple, la température exactement mesurée en °C ou l'intensité du champ magnétique en mT), mais il s'agit d'une mesure relative : une valeur limite est définie par rapport à la situation environnementale normale donnée et un signal est donné qui peut être traité ultérieurement si cette valeur limite est dépassée ou si une autre condition que le cas normal s'est produite.

Ce comportement est idéal pour la surveillance de la température (KY-028), les capteurs de proximité (KY-024, KY-025, KY-036), des moniteurs d'alarme (KY-037, KY-038) ou des codeurs (KY-026).

Affectation des broches


Raspberry Pi Capteur
GPIO 24 [Pin 18] Signal numérique
3,3 V [Pin 1] +V
GND [Pin 6] GND
- Signal analogique
Capteur KY-053
Signal analogique A0
Signal numérique -
+V -
GND -
Raspberry Pi KY-053
GPIO 3 [Pin 5] SCL
GPIO 2 [Pin 3] SDA
3,3 V [Pin 1] VDD
GND [Pin 6] GND

Capteur analogique, il faut donc respecter les points suivants.

Contrairement à l'Arduino, le Raspberry Pi n'a pas d'entrées analogiques ou il n'y a pas d'ADC (convertisseur analogique numérique) intégré dans la puce du Raspberry Pi. Cela limite le Raspberry Pi, si vous voulez utiliser des capteurs, où les valeurs de sortie ne sont pas numériques [valeur de tension dépassée -> valeur numérique ON | valeur de tension sous-cotée -> valeur numérique OFF | exemple : bouton enfoncé [ON] bouton relâché [OFF]], mais il doit s'agir d'une valeur variable continue (exemple : potentiomètre -> autre position = autre valeur de tension).

Pour éviter ce problème, notre kit de capteur X40 a le KY-053, un module avec ADC précis de 16 bits, que vous pouvez utiliser sur le Raspberry pour l'étendre avec 4 entrées analogiques. Il est connecté au Raspberry Pi via I2C, prend en charge la mesure analogique et transmet la valeur numérique au Raspberry Pi.

Ainsi, nous recommandons de connecter le module KY-053 avec ledit ADC entre les capteurs analogiques de cet ensemble. Pour plus d'informations, veuillez consulter la page d'information sur le convertisseur analogique-numérique KY-053.

Exemple de code

Attention! L'utilisation de ce module, en combinaison avec le convertisseur analogique-numérique KY-053, nécessite la mise en place d'un environnement virtuel. Vous trouverez toutes les informations nécessaires à cet effet ici.

import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
from gpiozero import DigitalInputDevice

# Créer le bus I2C
i2c = busio.I2C(board.SCL, board.SDA)

# Créer l'objet ADC avec le bus I2C
ads = ADS.ADS1115(i2c)

# Créer des entrées asymétriques sur les canaux
chan0 = AnalogIn(ads, ADS.P0)
chan1 = AnalogIn(ads, ADS.P1)
chan2 = AnalogIn(ads, ADS.P2)
chan3 = AnalogIn(ads, ADS.P3)

delayTime = 1
# Initialisation de l'appareil d'entrée numérique pour le capteur au niveau du GPIO 24
digital_pin = DigitalInputDevice(24, pull_up=False)  # pull_up=False, parce que pull_up_down=GPIO.PUD_OFF

while True:
    analog = '%.2f' % chan0.voltage

    # Sortie vers la console
    if not digital_pin.is_active:
        print("Valeur de la tension analogique:", analog, "V, ", "Valeur limite : pas encore atteinte")
    else:
        print("Valeur de la tension analogique:", analog, "V, ", "Valeur limite : atteinte")
        print("---------------------------------------")

    # Réinitialisation + délai
    time.sleep(delayTime)

Le capteur de son du microphone émet un signal lorsque le microphone avant détecte un bruit. La sensibilité du capteur peut être ajustée à l'aide d'un régulateur, ce qui lui permet de réagir à des bruits plus ou moins forts. Ce capteur est idéal pour les projets dans lesquels les bruits doivent être détectés et auxquels il faut réagir, comme par exemple dans les commandes vocales, les systèmes de surveillance ou les installations interactives. Grâce à sa sensibilité réglable, le capteur peut être adapté à différentes conditions environnementales et à des exigences spécifiques.

Note de l'utilisateur

Ce capteur convient parfaitement à la mesure de valeurs seuils. Cela signifie que le capteur émet un signal numérique élevé dès qu'une valeur seuil fixée par l'utilisateur sur le potentiomètre rotatif est dépassée. Il convient de noter ici que le signal numérique est une comparaison entre la valeur réglée sur le potentiomètre rotatif et la valeur mesurée sur le capteur, qui sont ensuite comparées par le comparateur LM393 installé sur la carte. La valeur réglée sur le potentiomètre rotatif est la valeur seuil, qui est utilisée pour définir un signal logique haut.

Sortie numérique: Si le niveau sonore est supérieur à la valeur seuil définie, un signal est émis ici.

Sortie analogique: Valeur de mesure directe de l'unité de capteur

LED1: Indique que le capteur est alimenté en tension

LED2: Indique que le niveau sonore a dépassé la valeur seuil définie

Fonctionnement du capteur

Ce capteur comporte deux composants fonctionnels sur son circuit imprimé : L'unité de capteur avant, qui mesure physiquement l'environnement et le transmet sous forme de signal analogique à la seconde unité, le comparateur. Le comparateur compare la valeur mesurée par le capteur avec la valeur réglée sur le potentiomètre rotatif et émet un signal logique élevé sur la broche numérique et la LED L1 si la valeur réglée sur le potentiomètre rotatif est dépassée.

Veuillez noter. Veuillez noter. Le signal est inversé. Si une valeur élevée est mesurée, cela se traduit par une valeur de tension plus faible à la sortie analogique.

Le potentiomètre rotatif peut être réglé comme suit :

Ce capteur ne donne pas de valeurs absolues (par exemple, la température exactement mesurée en °C ou l'intensité du champ magnétique en mT), mais il s'agit d'une mesure relative : une valeur limite est définie par rapport à la situation environnementale normale donnée et un signal est donné qui peut être traité ultérieurement si cette valeur limite est dépassée ou si une autre condition que le cas normal s'est produite.

Ce comportement est idéal pour la surveillance de la température (KY-028), les capteurs de proximité (KY-024, KY-025, KY-036), des moniteurs d'alarme (KY-037, KY-038) ou des codeurs (KY-026).

Affectation des broches


Micro:Bit Capteur
Pin 1 Signal numérique
3,3 V +V
GND GND
- Signal analogique
Capteur KY-053
Signal analogique A0
Signal numérique -
+V -
GND -
Micro:Bit KY-053
Pin 19 SCL
Pin 20 SDA
3,3 V VDD
GND GND

Capteur analogique, il faut donc respecter les points suivants: Le Micro:Bit dispose d'entrées analogiques ou d'un ADC (convertisseur analogique-numérique) intégré dans la puce du Micro:Bit. Cependant, ceux-ci ne sont limités qu'à 10 bits et n'offrent donc qu'une précision assez faible pour les mesures analogiques.

Pour éviter ce problème, notre kit de capteur X40 contient le KY-053, un module avec un ADC de 16 bits, que vous pouvez utiliser sur le Micro:Bit pour l'étendre de 4 entrées analogiques. Celui-ci est connecté au Micro:Bit via I2C, prend en charge la mesure analogique et transfère la valeur numériquement au Micro:Bit.

Par conséquent, nous recommandons de connecter le module KY-053 avec le CAN mentionné entre les capteurs analogiques de ce jeu. Plus d'informations peuvent être trouvées sur la page d'information du convertisseur analogique numérique Convertisseur analogique numérique KY-053.

Exemple de code

Le programme utilise la bibliothèque correspondante de notre part pour contrôler l'ADC ADS1115. Ceci a été publié sous le lien suivant pxt-ads1115 sous la licence MIT.

	
		pins.setPull(DigitalPin.P1, PinPullMode.PullUp)
		ADS1115.setMode(mode.Multi)
		ADS1115.setRate(rate.Rate5)
		ADS1115.setGain(gain.One)
		ADS1115.initADS1115(userInI2C.Gnd)
		basic.forever(function () {
		    serial.writeString("Analog value:")
		    serial.writeLine("" + (ADS1115.raw_to_v(ADS1115.read(0))))
		    if (pins.digitalReadPin(DigitalPin.P1) == 1) {
		        serial.writeLine("Threshold reached")
		    } else {
		        serial.writeLine("Threshold not yet reached")
		    }
		    serial.writeLine("_____________________________________")
		    basic.pause(1000)
		})
	

Téléchargement d'un exemple de programme

microbit-KY-038.zip

Le capteur de son du microphone émet un signal lorsque le microphone avant détecte un bruit. La sensibilité du capteur peut être ajustée à l'aide d'un régulateur, ce qui lui permet de réagir à des bruits plus ou moins forts. Ce capteur est idéal pour les projets dans lesquels les bruits doivent être détectés et auxquels il faut réagir, comme par exemple dans les commandes vocales, les systèmes de surveillance ou les installations interactives. Grâce à sa sensibilité réglable, le capteur peut être adapté à différentes conditions environnementales et à des exigences spécifiques.

Note de l'utilisateur

Ce capteur convient parfaitement à la mesure de valeurs seuils. Cela signifie que le capteur émet un signal numérique élevé dès qu'une valeur seuil fixée par l'utilisateur sur le potentiomètre rotatif est dépassée. Il convient de noter ici que le signal numérique est une comparaison entre la valeur réglée sur le potentiomètre rotatif et la valeur mesurée sur le capteur, qui sont ensuite comparées par le comparateur LM393 installé sur la carte. La valeur réglée sur le potentiomètre rotatif est la valeur seuil, qui est utilisée pour définir un signal logique haut.

Sortie numérique: Si le niveau sonore est supérieur à la valeur seuil définie, un signal est émis ici.

Sortie analogique: Valeur de mesure directe de l'unité de capteur

LED1: Indique que le capteur est alimenté en tension

LED2: Indique que le niveau sonore a dépassé la valeur seuil définie

Fonctionnement du capteur

Ce capteur comporte deux composants fonctionnels sur son circuit imprimé : L'unité de capteur avant, qui mesure physiquement l'environnement et le transmet sous forme de signal analogique à la seconde unité, le comparateur. Le comparateur compare la valeur mesurée par le capteur avec la valeur réglée sur le potentiomètre rotatif et émet un signal logique élevé sur la broche numérique et la LED L1 si la valeur réglée sur le potentiomètre rotatif est dépassée.

Veuillez noter. Veuillez noter. Le signal est inversé. Si une valeur élevée est mesurée, cela se traduit par une valeur de tension plus faible à la sortie analogique.

Le potentiomètre rotatif peut être réglé comme suit :

Ce capteur ne donne pas de valeurs absolues (par exemple, la température exactement mesurée en °C ou l'intensité du champ magnétique en mT), mais il s'agit d'une mesure relative : une valeur limite est définie par rapport à la situation environnementale normale donnée et un signal est donné qui peut être traité ultérieurement si cette valeur limite est dépassée ou si une autre condition que le cas normal s'est produite.

Ce comportement est idéal pour la surveillance de la température (KY-028), les capteurs de proximité (KY-024, KY-025, KY-036), des moniteurs d'alarme (KY-037, KY-038) ou des codeurs (KY-026).

Affectation des broches


Raspberry Pi Pico Capteur
GPIO26 (A0) Signal analogique
GND GND
3 V +V
GPIO18 Signal numérique

On peut aussi utiliser un ADC comme le KY-053. Cet ADC a une résolution plus élevée que l'ADC interne de l'Raspberry Pi Pico, ce qui permet d'évaluer le capteur avec plus de précision.

Exemple de code

Le programme calcule la valeur de la tension actuelle au niveau du capteur, calcule la valeur de la résistance actuelle du capteur à partir de celle-ci et de la résistance en série connue, puis émet un texte sur la sortie série dans certaines conditions.

Pour charger l'exemple de code suivant sur votre Pico, nous vous recommandons d'utiliser l'IDE Thonny. Il vous suffit de commencer par sélectionner Run > Configure interpreter ... > Interpreter > Which kind of interpreter should Thonny use for running your code? > MicroPython (Raspberry Pi Pico).

Copiez maintenant le code ci-dessous dans votre IDE et cliquez sur Run.

# Chargement des bibliothèques
from machine import Pin, ADC
from time import sleep

# Initialisation de ADC0
adc = ADC(0)
# Initialisation de GPIO18 comme entrée
digital = Pin(18,Pin.IN, Pin.PULL_UP)

print("KY-038 Test de microfontes")

# Boucle infinie pour lire l'ADC
while True:
    raw_value = adc.read_u16()
    # Conversion de la valeur analogique en tension
    Volt = round(raw_value* 3.3 / 65536, 2)
    digital_value = digital.value()

    # Sortie sérielle de la valeur analogique et de la tension calculée
    print("Valeur de tension analogique: " + str(Volt) + " V\t Valeur limite: ", end="")

    # Demande si la valeur numérique a changé avec sortie sérielle
    if digital_value == 1:
        print("atteint")
    else:
        print("non atteint")
    
    print("----------------------------------------")
    sleep(2)