embassy-hcsr505
Driver asynchrone no_std pour le capteur de mouvement PIR HC-SR505, optimisé pour l'écosystème Embassy.
Caractéristiques 100% Asynchrone : Utilise les interruptions matérielles pour ne pas bloquer le processeur.
Signaux Intégrés: Publication automatique de l'état sur un signal global (MOTION_SIGNAL).
Empreinte minimale : Conçu pour les microcontrôleurs à ressources limitées (RP2040/RP2350, STM32, etc.).
🔄 Fixed
Version actuelle conseillée : v0.2.0
Dépendances désormais fixées pour une meilleure stabilité Amélioration notable par rapport à la version v0.1.2, notamment sur l’écosystème Embassy (embassy-time, embassy-sync) Suppression des plages de versions larges afin d’éviter le dependency hell
[dependencies]
embassy-time = "0.5"
embassy-sync = "0.8"
embedded-hal-async = "1.0"
Installation Ajoutez ceci à votre fichier Cargo.toml :
[dependencies]
embassy-hcsr505 = { version = "0.2.0" }
Utilisation Le driver a été conçu pour être simple : vous lui donnez une pin configurée en entrée, et il gère le reste.
- Configuration du Driver
use Hcsr505;
use ;
async
- Écouter les détections ailleurs dans le code Grâce au signal global, n'importe quelle autre tâche (affichage, alarme) peut réagir au mouvement.
use MOTION_SIGNAL;
async
Architecture Le capteur HC-SR505 fonctionne sur une logique de seuil simple. Lorsqu'un corps thermique traverse le champ de vision, la sortie passe à l'état haut (3.3V) pendant une durée prédéfinie par le matériel (environ 8 secondes).
Exemple simple : Détection PIR avec HC-SR505
Branchement du capteur HC-SR505 (Pico 2) :
- Pin OUT (capteur) → GP20
- Pin 5V → 5V (Pico)
- Pin GND → GND (Pico)
use Spawner;
use ;
use Timer;
use ;
use Hcsr505;
use MOTION_SIGNAL;
// Tâche 1 : Détection du mouvement avec le driver
async
// Tâche 2 : Écouter les événements du capteur
async
async
Licence
Copyright (C) 2026 Jorge Andre Castro
Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GNU (GPL-2.0-or-later).