Upy Class Libs
Description | Python libraries for the classroom |
Author(s) | B. Delaup |
Repository | https://gitlab.com/bdelaup/upy_class_libs |
Copyright | ![]() |
Bibliothèques¶
Télécharger Micropython¶
Télécharger le firmware micropython pour micro:bit v2.1.1
Utilitaire i2c¶
Fichier source pour micro:bit : mb_i2c_utils.py
Usage | |
---|---|
Driver BMP390 : pression¶
Fichier source pour micro:bit : mb_bmp290.py
Initialisation | |
---|---|
Driver SI1145 : uv¶
Fichier source pour micro:bit : mb_si1145.py
Initialisation | |
---|---|
Driver APC220 : Radio¶
Fichier source pour micro:bit : mb_apc220.py
Initialisation | |
---|---|
Usage | |
---|---|
Driver Sen0322 : Oxygen¶
Fichier source pour micro:bit : mb_sen0322.py
Initialisation | |
---|---|
Usage | |
---|---|
Driver DHT20 : Humidité¶
Fichier source pour micro:bit : mb_dht20.py
Usage | |
---|---|
Driver SIM28 ou AIR530 : GPS¶
Fichier source pour micro:bit : mb_gps.py
Initialisation | |
---|---|
Exemple:
Saint etienne le molard 42 => "4543.81023,N" "00404.79479,E"
Utiliser :
- https://www.gpsvisualizer.com pour visualiser
- https://www.gpsvisualizer.com/convert_input?convert_format=gpx pour transformer en GPX
Driver SGP30 : CO2 et COV¶
Fichier source pour micro:bit : mb_sgp30.py
Driver pololu : distance (numerique)¶
Fichier source pour micro:bit : mb_pololu_dist.py
Usage | |
---|---|
Driver pololu : présence (logique)¶
Fichier source pour micro:bit : mb_pololu_dist.py
Commandes utiles¶
Liens¶
- Éditeur / simulateur officiel : https://python.microbit.org/v/3
- Documentation : https://microbit-micropython.readthedocs.io/en/v2-docs/
Log (enregistrement)¶
Documentation : Data logging
Initialisation | |
---|---|
Lecture de broche¶
Documentation : Data logging
Initialisation | |
---|---|
Usage | |
---|---|
Fonction log¶
Documentation : Module math de python
Projet Cansat¶
Ce squelette peut être utilisé comme base pour le code. Sans obligations.
Les ...
sont à compléter
# Déclaration des bibliothèques utilisées
import math
import machine
from time import sleep_ms
from microbit import button_a, button_b
from microbit import i2c, uart, reset, display
from microbit import pin0, pin14, pin15 # Adapter en fonction du cablage
import log
from mb_i2c_utils import scan_i2c_sensors
from mb_bmp390 import BMP3XX_I2C
from mb_apc220 import Apc220, uart_reset
# Initialisation de l'enregistrement dans un fichier
# Quand un bouton est envoyé, les données sont effacée
display.clear()
display.set_pixel(0,0,9)
while not button_a.was_pressed() and not button_b.was_pressed():
sleep_ms(1000)
log.delete()
display.set_pixel(1,0,9)
# Initialisation des capteurs
i2c.init()
addresses = scan_i2c_sensors()
if len(addresses) > 4:
machine.reset()
# Initialisation capteur pression (voir documentataion)
...
# Initialisation radio (voir documentation)
...
# Boucle sans fin. Quel condition ?
while True :
# Lecture pression (remplacer la valeur)
pression = 1
# Lecture dans U0 analogique pour le calcule de la thermistance (remplacer la valeur)
# Rappel : la valeur de B est une propriété de la thermistance de 10Kohm
# à lire dans la documentation
U0 = 2
B = 1
# Calcul de la température (remplacer la valeur)
temperature = 1/(math.log((1023/U0)-1)/B+1/298.15)-273.15
# affichage pour débugger (trouver les problèmes)
print("pression : ", pression, ", Temperature : ", temperature)
...
# Enregistrement sur la carte (log.add() voir documentation)
...
# Transmission radio (voir documentation)
...
# On souffle
sleep_ms(1000)