Taux d'émission de Co2
Introduction
Dans ce code, nous allons explorer comment créer un graphique interactif pour afficher le taux de dioxyde de carbone (CO2), un élément crucial à surveiller dans notre environnement. Ces lignes de code ne sont pas simplement des caractères aléatoires, mais plutôt les instructions qui donneront vie à un cercle coloré capable de refléter le taux de CO2 en temps réel. Pour y parvenir, nous utilisons des constantes pour définir des paramètres clés, tels que les couleurs et les limites de CO2, que vous pourrez personnaliser selon vos préférences. Cependant, il y a une section que vous devrez remplir par vous-même pour obtenir les données de votre capteur de CO2.
Les Besoins
- Un ordinateur
- Une connexion à Internet
- Une Oxocard Science
- Un câble USB-USB type C
Le code
Dans la première partie du code, nous avons défini des "constantes". Pensez-y comme des valeurs qui ne changent pas pendant l'exécution du programme, ce qui les rend constantes.
Imaginez que vous configurez un jeu vidéo. Les constantes dans ce code sont un peu comme les paramètres que vous choisissez au début du jeu pour décider de la difficulté, des couleurs, ou d'autres aspects. Dans ce cas, nous avons choisi les constantes pour contrôler la couleur et les limites du taux de CO2 que nous voulons afficher.
Pour les couleurs, nous avons décidé que RED
(rouge) serait 195, GREEN
(vert) serait 0, et BLUE
(bleu) serait 201. Ces chiffres représentent l'intensité de chaque couleur. Vous pouvez changer les valeurs à droite si vous le désirez.
const RED = 195 # 0 .. 255
const GREEN = 0 # 0 .. 255
const BLUE = 201 # 0 .. 255
PPM_Minimum
est à 390 et PPM_Maximum
est à 530. Ces chiffres indiquent les valeurs minimales et maximales que nous mesurerons. const PPM_Minimum = 390 # 390 .. 400
const PPM_Maximum = 530 # 450 .. 800
Les variables qui suivent sont utilisées pour dessiner, elles servent aux différentes dimensions
centerX = 120
centerY = 120
radius = 100
rateMax = 240
rate = 0
la fonction
Co2RateCircle()
est comme une boîte magique qui dessine un cercle coloré pour représenter le taux de CO2. Chaque fois que vous voulez dessiner ce cercle, vous pouvez simplement "appeler" cette fonction. Cela rend le code plus organisé, plus facile à gérer, et vous permet de réutiliser des morceaux de code pour accomplir des tâches similaires sans répéter tout le processus. def Co2RateCircle():
push()
stroke(RED,GREEN,BLUE)
noFill()
stroke(RED,GREEN,BLUE)
drawCircle(centerX, centerY, radius)
drawRectangle(0,0,240,240)
clipRectangle(0,rateMax-rate,240,240)
fill(RED,GREEN,BLUE)
drawCircle(centerX, centerY, radius)
delay(1000)
pop()
push()
, nous sauvegardons l'état graphique actuel, un peu comme prendre une photo pour revenir en arrière plus tard.Ensuite, avec
stroke(RED, GREEN, BLUE)
, nous choisissons les couleurs pour le contour du cercle, en utilisant les constantes RED
(rouge), GREEN
(vert) et BLUE
(bleu) que nous avons définies plus tôt. La commande
noFill()
indique que l'intérieur du cercle ne sera pas rempli de couleur, le laissant simplement avec un contour coloré. push()
stroke(RED,GREEN,BLUE)
noFill()
stroke(RED,GREEN,BLUE)
centerX et centerY
) et le rayon (radius
), nous dessinons un cercle avec drawCircle(centerX, centerY, radius)
. Un rectangle est également dessiné en arrière-plan avec
drawRectangle(0, 0, 240, 240)
pour servir de toile de fond. Ensuite,
clipRectangle(0, rateMax - rate, 240, 240)
crée une fenêtre de visualisation qui dépend de la variable rate pour montrer le taux de CO2. La commande
fill(RED, GREEN, BLUE)
spécifie que le cercle doit être rempli avec les mêmes couleurs que le contour. drawCircle(centerX, centerY, radius)
drawRectangle(0,0,240,240)
clipRectangle(0,rateMax-rate,240,240)
fill(RED,GREEN,BLUE)
delay(1000)
pour que le graphique soit visible Puis avec
pop()
, nous revenons à l'état graphique précédent, comme si nous retirions la photo prise avec push()
, préparant le graphique pour les prochaines étapes de dessin. drawCircle(centerX, centerY, radius)
delay(1000)
pop()
La fonction CO2()
est responsable de la gestion des données du taux de CO2 et de leur affichage. Il y a un espace réservé, marqué par des lignes de dièses ###, pour quelque chose que vous devez ajouter. Là où il est écrit SOMETHING TO INSERT HERE
, c'est à vous d'insérer le code nécessaire pour obtenir le taux de CO2.
def CO2():
##################################
# SOMETHING TO INSERT HERE
# TO GET THE CO2
##################################
ppmValue = ...
##################################
rate = (ppmValue - PPM_Minimum) * (rateMax / (PPM_Maximum - PPM_Minimum))
ppm = strSubstring((ppmValue+""), 0, 6)
delay(500)
drawTextCentered(centerX, centerY, ppm)
ppmValue
, les lignes suivantes effectuent quelques opérations. La variable rate est calculée en fonction de la différence entre ppmValue
et la valeur minimale PPM_Minimum
, ce qui est ensuite ajusté en utilisant la plage complète rateMax
par rapport à la plage de PPM. Cela permet d'obtenir un taux ajusté qui peut être affiché sur le graphique.
rate = (ppmValue - PPM_Minimum) * (rateMax / (PPM_Maximum - PPM_Minimum))
strSubstring
pour convertir ppmValue en une chaîne de texte et la tronquer à 6 caractères. Cela permet d'obtenir une valeur du taux de CO2 propre et concise.
ppm = strSubstring((ppmValue+""), 0, 6)
delay(500)
, nous attendons une demi-seconde pour que le graphique soit stable avant d'afficher la valeur du taux de CO2. Enfin, avec drawTextCentered(centerX, centerY, ppm)
, nous affichons le taux de CO2 au centre du cercle du graphique.
delay(500)
drawTextCentered(centerX, centerY, ppm)
Pour finir, la fonction onDraw()
est appelé en boucle par l'appareil et redessine l'écran en continue avec les fonctions qu'on lui a dit de faire en boucle.
def onDraw():
background(0,0,0)
Co2RateCircle()
CO2()
update()
if getButton():
if returnToMenu():
return
Le Final
Le résultat est un cercle qui se rempli en fonction du taux de Co2 présent dans la salle