DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques Mobile / Fonctions Capteur
  • Conditions d'utilisation
  • Accélération d'un appareil : définitions
  • Arrêt de la détection
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
CapteurDétecteChangementAccélération (Fonction)
En anglais : SensorDetectChangeAcceleration
Permet d'être notifié des accélérations de l'appareil sur n'importe lequel de ses 3 axes.
Exemple
// Détection des changements d'accélération
CapteurDétecteChangementAccélération("ProcDétectionAccélération", cptVertical)
// Procédure appelée par la fonction CapteurDétecteChangementAccélération
PROCÉDURE ProcDétectionAccélération(AccélérationVerticale est un réel, ...
AccélérationHorizontale est un réel, AccélérationLatérale est un réel)
ToastAffiche(ChaîneConstruit("Accélération verticale détectée (%1 m/s²)", AccélérationVerticale))

// Arrêt de la détection des changements d'accélération
CapteurDétecteChangementAccélération("", cptVertical)
Syntaxe
<Résultat> = CapteurDétecteChangementAccélération(<Procédure WLangage> [, <Axe de déplacement> [, <Fréquence> [, <Seuil>]]])
<Résultat> : Entier
  • Vrai si la détection a pu être déclenchée,
  • Faux dans le cas contraire.
<Procédure WLangage> : Nom de procédure
Nom de la procédure WLangage (également nommée "callback") appelée lors de la détection de l'accélération de l'appareil sur l'un de ses axes.Pour plus de détails sur cette procédure, consultez Paramètres de la procédure utilisée par la fonction CapteurDétecteChangementAccélération
Les paramètres de cette procédure sont optionnels. Il n'est pas nécessaire de passer des paramètres à cette procédure. En effet, ces paramètres sont renseignés automatiquement à chaque appel à condition que l'axe de déplacement correspondant soit spécifié dans le paramètre <Axe de déplacement>. Dans le cas contraire, ces paramètres valent 0.
Si le nom de la procédure correspond à une chaîne vide (""), les notifications de changement d'accélération ne seront plus envoyées.
<Axe de déplacement> : Constante optionnelle de type Entier
Axes de déplacement de l'appareil pour lesquels il est nécessaire de recevoir une notification lors du changement d'accélération :
cptLatéralNotification lors de l'accélération de l'appareil sur l'axe horizontal.
cptLongitudinalNotification lors de l'accélération de l'appareil sur l'axe longitudinal.
cptVerticalNotification lors de l'accélération de l'appareil sur l'axe vertical.

Par défaut, une notification sera envoyée lors du changement d'accélération sur n'importe lequel des trois axes (équivalent à cptVertical + cptLatéral + cptLongitudinal).
<Fréquence> : Constante optionnelle de type Entier
Fréquence à la laquelle les notifications de changements d'accélération doivent être envoyées :
cptFréquenceJeuFréquence de notification nécessaire lors de l'utilisation de la fonction CapteurDétecteChangementAccélération dans un jeu.
cptFréquenceNormal
(Valeur par défaut)
Fréquence de notification moyenne.
cptFréquenceRapideFréquence de notification la plus rapide.

iPhone/iPad Ce paramètre n'est pas pris en compte. La fréquence est identique, quelle que soit la constante spécifiée.
<Seuil> : Réel optionnel
Seuil de tolérance au changement (en m/s²). Les notifications seront envoyées uniquement pour des changements d'accélération supérieurs à ce seuil.
Si ce paramètre n'est pas spécifié, aucun seuil de tolérance ne sera fixé : les notifications seront envoyées pour chaque changement d'accélération (équivalent à un seuil de 0).
Remarques

Conditions d'utilisation

  • Cette fonction ne peut pas être utilisée dans l'émulateur ou le simulateur. Dans ces deux cas, le résultat de la fonction correspondra toujours à Faux.
  • La détection des changements d'accélération utilise le capteur de type accéléromètre de l'appareil. Si un tel capteur n'est pas présent sur l'appareil, la détection des changements d'accélération n'est pas possible. La sensibilité de la détection dépend de la qualité du capteur présent dans l'appareil.

Accélération d'un appareil : définitions

L'accélération peut être définie comme étant la mesure du changement de la vitesse de l'appareil dans une direction donnée.
Le capteur de mouvement considère l'appareil comme étant au repos lorsqu'il est à plat, l'écran orienté vers le ciel et en mode portrait.
Origine de l'accélération
Système de coordonnées (en considérant que l'appareil est à plat, l'écran en direction du plafond) :
  • L'origine se situe dans le coin inférieur gauche de l'écran.
  • L'axe des X représente l'axe horizontal et pointe vers la droite de l'écran.
  • L'axe des Y représente l'axe longitudinal et pointe vers le haut de l'écran.
  • L'axe des Z représente l'axe vertical et pointe en dehors de la face avant de l'écran.
Le changement d'accélération peut être rapporté dans les trois dimensions suivantes :
  • Accélération verticale : Accélération de l'appareil sur l'axe vertical (Z). Cette accélération est exprimée en m/s². Lorsque l'appareil est posé à plat avec l'écran pointant vers le ciel, si l'appareil suit un mouvement ascendant avec une accélération de A m/s², la valeur totale de l'accélération verticale est ~= A + 9,81, ce qui correspond à l'accélération verticale de l'appareil moins la force de la gravité terrestre.
  • Accélération longitudinale : Accélération de l'appareil sur l'axe longitudinal (Y). Cette accélération est exprimée en m/s². Sa valeur est positive lors d'un mouvement de l'appareil vers l'arrière et négative lors d'un mouvement de l'appareil vers l'avant.
  • Accélération latérale : Accélération de l'appareil sur l'axe horizontal (X). Cette accélération est exprimée en m/s². Sa valeur est positive lors d'un mouvement de l'appareil vers la gauche et négative lors d'un mouvement de l'appareil vers la droite.
Remarque : Le capteur de mouvement (accéléromètre) ne peut pas différencier les accélérations de l'appareil causées par un mouvement et celle dues à l'attraction terrestre. L'accélération verticale mesurée au repos sera donc de 9,8m/s², ce qui correspond à la gravité terrestre moyenne.

Arrêt de la détection

Il est conseillé de stopper la détection des changements d'accélération si elle n'est plus nécessaire afin d'économiser la batterie de l'appareil. Pour cela, le paramètre <Procédure WLangage> doit correspondre à chaîne vide ("").
La fonction CapteurTermine permet d'arrêter toutes les détections en cours.
Liste des exemples associés :
WM Système Exemples multiplateforme (WINDEV Mobile) : WM Système
[ + ] Cette application est un exemple didactique montrant quelques unes des fonctionnalités de WINDEV Mobile pour Android/iOS.
Les fonctions système utilisées sont :
- NFC
- Champ Multimédia
- Luminosité
- Volume
- WIFI
- Bluetooth
- Toast
- Boussole
- Accéléromètre
- Champ caméra
- LED
- Vibrations
- Notifications
- Fonctions de dessin
- Internet
Composante : WDJS.DLL
Voir Aussi
Version minimum requise
  • Version 16
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 05/07/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale