Vue normale

Reçu aujourd’hui — 6 novembre 2025

MicroPython: Mesurer la vitesse de l'air avec le capteur FS3000

Amis de MicroPython... Bonjour,

Cela faisait longtemps que nous n'avions pas eu l'occasion de porter un nouveau pilote sous MicroPython. 

Renesas FS3000

Cette fois, nous nous sommes penchés sur le capteur FS3000  de Renesas qui mesure la vélocité de l'air. Capteur que l'on retrouve sur les breakout FS3000 de SparkFun.

Capteur FS3000 de SparkFun

Ce type de capteur est principalement utilisé dans des systèmes de refroidissement ou de conditionnement d'air. Comme il dispose d'une interface I2C, il est très facile de l'exploiter avec de nombreux microcontrôleur.

Les cartes breakout existent en deux versions:

  • FS3000-1015 mesurant des flux jusqu'à 15m/s (54 Km/H).
  • FS3000-1005 mesurant des flux jusqu'à 7ms/s  (25 km/H).

Pilote MicroPython

Bien que SparkFun propose un pilote MicroPython --ce que je salue-- celui-ci est construit sur une surcouche d'abstraction permettant permettant d'utiliser le capteur avec CircuitPython et MicroPython.

Etant un fan inconditionnel de MicroPython, je pense qu'il est préférable de disposer d'un code qui va droit au but... avec le moins de détour possible! C'est ainsi que l'on maintient une efficacité optimale d'exécution.

J'ai décidé de recréer un pilote à partir du code Arduino. En effet, il à été plus facile de travailler à partir du code Arduino que de suivre la couche d'abstraction CircuitPython/MicroPython.

Le pilote alternatif est disponible sur notre dépôt esp8266-upy/qwiic-ait-velocity .

Brancher sur un Raspberry-Pi Pico

Le schéma suivant indique comment brancher le capteur sur un Pico à l'aide d'un câble Qwiic (qui transporte un bus I2C).

Brancher un capteur FS3000 sur un Raspberry-Pi Pico
 

Du code pour le peuple

Après avoir transféré la bibliothèque airspeed sur la plateforme MicroPython, il ne reste plus exécuter l'exemple ci-dessous.

from machine import I2C,Pin
from airspeed import FS3000, AIRFLOW_RANGE_15_MPS
import time

# Raspberry-Pi Pico
i2c = I2C( 1, sda=Pin.board.GP6, scl=Pin.board.GP7 )
# Adresse par défaut
air_speed = FS3000( i2c )

# air_speed.set_range( AIRFLOW_RANGE_7_MPS )
air_speed.set_range( AIRFLOW_RANGE_15_MPS )

while True:
	print( "FS3000 lecture brute:", air_speed.read_raw() ) # 125ms acquisition
	#  lecture en metre par seconde, retourne un float de 0 - 7.23 pour FS3000-1005, 0 - 15 pour FS3000-1015 
	airflow_mps = air_speed.read_mps()
	if airflow_mps != None: # retourne None en cas d'erreur CRC!
		print( "   m/s:", airflow_mps ) 
		airflow_kmh = airflow_mps*3600/1000
		print( "   Km/h:", airflow_kmh ) 
		airflow_mph = airflow_mps*2.2369362912
		print( "   Miles/h:", airflow_mph ) 
	time.sleep( 1 )

Ressources

MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible. 

SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Reçu — 11 octobre 2025

Axelrod-Python/Axelrod: A research tool for the Iterated Prisoner's Dilemma

11 octobre 2025 à 08:29

Une bibliothèque Python avec les principes et objectifs suivants :

  • Permettre la reproduction aussi simple que possible des recherches précédentes sur le dilemme du prisonnier itératif.
  • Créer l'outil de facto pour les futures recherches sur le dilemme du prisonnier itératif.
  • Fournir un moyen aussi simple que possible pour que tout le monde puisse définir et contribuer à de nouvelles stratégies originales pour le dilemme du prisonnier itératif.
    -Mettre l'accent sur la lisibilité ainsi que sur une communauté ouverte et accueillante qui s'adapte aux développeurs et aux chercheurs de différents niveaux de compétence.

Permalien
Reçu — 22 septembre 2025

cosinekitty/astronomy: Astronomy Engine: multi-language calculation of Sun, Moon, and planet positions. Predicts lunar phases, eclipses, transits, oppositions, conjunctions, equinoxes, solstices, rise/set times, and other events. Provides vector and angular coordinate transforms among equatorial, ecliptic, horizontal, and galactic orientations.

22 septembre 2025 à 13:17

Astronomy Engine : calcul multilingue des positions du soleil, de la lune et des planètes. Prévoit les phases lunaires, les éclipses, les transits, les oppositions, les conjonctions, les équinoxes, les solstices, les heures de lever et de coucher, ainsi que d'autres événements. Fournit des transformations de coordonnées vectorielles et angulaires entre les orientations équatoriales, écliptiques, horizontales et galactiques.


Permalien
Reçu — 11 septembre 2025
  • ✇
  • Loupe  
❌