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

En fonction de l'inclinaison, un interrupteur ferme brièvement les broches d'entrée. Cela se produit parce que la bille roule d'avant en arrière à l'intérieur du boîtier et, lorsqu'elle est correctement inclinée, elle finit par fermer brièvement les contacts à l'intérieur du boîtier.

Affectation des broches

Exemple de code Arduino

Affectation des ports Arduino

Arduino Capteur
Pin 10 Signal
5V +V
GND GND
Arduino Capteur
Pin 13 LED +
GND LED -

Les modules KY-011, KY-016 ou KY-029 peuvent également être utilisés comme DEL.

int Led = 13 ;// déclaration de la broche de sortie pour la LED
int Sensor = 10; // délaration de la broche d'entrée du capteur
int val; // variable temporaire
   
void setup ()
{
  pinMode (Led, OUTPUT) ; // Initialisation de la broche de sortie
  pinMode (Sensor, INPUT) ; // Initialisation de la broche du capteur
}
   
void loop ()
{
  val = digitalRead (Sensor) ; // Lecture de la valeur du signal
   
  if (val == HIGH) // Si un signal est détecté, la diode s'allume
  {
    digitalWrite (Led, LOW);
  }
  else
  {
    digitalWrite (Led, HIGH);
  }
}

Télécharger l'exemple de programme

KY017-Arduino.zip

En fonction de l'inclinaison, un interrupteur ferme brièvement les broches d'entrée. Cela se produit parce que la bille roule d'avant en arrière à l'intérieur du boîtier et, lorsqu'elle est correctement inclinée, elle finit par fermer brièvement les contacts à l'intérieur du boîtier.

Affectation des broches

Exemple de code Raspberry Pi

Affectation des broches Raspberry Pi

Raspberry Pi Capteur
GPIO 24 [Pin 18] Signal
3,3V [Pin 1] +V
GND [Pin 6] GND

Il s'agit d'un programme d'exemple similaire, mais dans le langage de code Python, à la différence qu'ici aucune LED n'est allumée, mais quelque chose est sorti dans la console lorsqu'un signal est détecté.

#!/usr/bin/python
# coding=utf-8
  
# Les modules nécessaires sont importés et mis en place
import RPi.GPIO as GPIO
import time
    
GPIO.setmode(GPIO.BCM)
    
# La broche d'entrée du capteur est déclarée. En outre la résistance de Pull-up est activée.
GPIO_PIN = 24
GPIO.setup(GPIO_PIN, GPIO.IN)
    
print("Sensor-Test [Appuyez sur Ctrl + C pour terminer le test]")
    
# Cette fonction de sortie est exécutée par détection du signal
def fonctionDeSortie(null):
    print("Signal détecté")
    
# Lors de la détection d'un signal (front descendant du signal) de la fonction de sortie est déclenchée
GPIO.add_event_detect(GPIO_PIN, GPIO.FALLING, callback=fonctionDeSortie, bouncetime=100) 
    
# Boucle de programme principale
try:
    while True:
        time.sleep(1)
    
# réinitialisation de tous les GPIO en entrées
except KeyboardInterrupt:
    GPIO.cleanup()

Exemple de téléchargement de programme

KY017-RPi.zip

Pour commencer avec la commande :

sudo python3 KY017RPi.py

En fonction de l'inclinaison, un interrupteur ferme brièvement les broches d'entrée. Cela se produit parce que la bille roule d'avant en arrière à l'intérieur du boîtier et, lorsqu'elle est correctement inclinée, elle finit par fermer brièvement les contacts à l'intérieur du boîtier.

Affectation des broches

Exemple de code Micro:Bit

Affectation des broches Micro:Bit :

Micro:Bit Capteur
Pin 1 Signal
3V +V
GND GND

Ceci est un exemple MakeCode pour Micro:Bit qui fait essentiellement la même chose que les exemples pour les deux autres variantes. Cependant, cet exemple est plus proche de celui du Raspberry Pi que de celui de l'Arduino.

Téléchargement d'un exemple de programme

microbit-KY-017.zip

En fonction de l'inclinaison, un interrupteur ferme brièvement les broches d'entrée. Cela se produit parce que la bille roule d'avant en arrière à l'intérieur du boîtier et, lorsqu'elle est correctement inclinée, elle finit par fermer brièvement les contacts à l'intérieur du boîtier.

Affectation des broches

Exemple de code Raspberry Pi Pico

Affectation des broches Raspberry Pi Pico

Raspberry Pi Pico Capteur
GPIO26 Signal
3.3V +V
GND GND

Il s'agit d'un exemple de programme qui compte et sort du texte en série lorsqu'un signal est détecté par le capteur.

# Chargement des bibliothèques
from machine import Pin, Timer

# Initialisation de GPIO comme entrée
sensor = Pin(26, Pin.IN, Pin.PULL_DOWN)

# Création du timer
timer = Timer()

# Initialisation des variables
counter = 0

# Fonction : Compter les étapes
def step(timer):
    global counter
    counter = counter + 1
    print("Schräglage")
    print(counter)

# Fonction : Vibration
def shake(pin):
    # Fonction de débordement : Set timer
    timer.init(mode=Timer.ONE_SHOT, period=100, callback=step)

# Initialisation de l'interruption
sensor.irq(trigger=Pin.IRQ_FALLING, handler=shake)

Exemple de téléchargement de programme

KY017-Pico.zip