This repository has been archived by the owner on Jan 18, 2019. It is now read-only.
forked from ecolestandre/astropi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmission1_finale_ecole_st_andre.py
156 lines (120 loc) · 5.38 KB
/
mission1_finale_ecole_st_andre.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#MISSION 1 : détection des astronautes dans le module Columbus
# Ecole de Saint-André d'Embrun, Hautes-Alpes, France
# Classe des CE1, CE2, CM1 et CM2
#import du module SenseHat
from sense_hat import SenseHat
#import du module time
import time
sense = SenseHat()
#définition des couleurs pour l'affichage Leds du Sense Hat
vert = (0, 255, 0)
rouge = (255, 0, 0)
bleu = (0, 0, 255)
jaune = (255, 255, 0)
orange = (237, 127, 16)
noir = (0, 0, 0)
blanc = (255, 255, 255)
violet = (102, 0, 153)
rose = (253, 108, 158)
gris = (96, 96, 96)
brun = (91, 60, 17)
#image Sense Hat signalant une augmentation de l'humidité
hplus = [blanc, blanc, blanc, blanc, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, rouge, blanc,
bleu, blanc, blanc, bleu, blanc, rouge, rouge, rouge,
bleu, bleu, bleu, bleu, blanc, blanc, rouge, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
blanc, blanc, blanc, blanc, blanc, blanc, blanc, blanc,]
#image Sense Hat signalant une stabilisation de l'humidité
hstable = [blanc, blanc, blanc, blanc, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, rouge, rouge, rouge,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, bleu, bleu, bleu, blanc, rouge, rouge, rouge,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
blanc, blanc, blanc, blanc, blanc, blanc, blanc, blanc,]
#image Sense Hat signalant une diminution de l'humidité
hmoins = [blanc, blanc, blanc, blanc, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, rouge, rouge, rouge,
bleu, bleu, bleu, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
bleu, blanc, blanc, bleu, blanc, blanc, blanc, blanc,
blanc, blanc, blanc, blanc, blanc, blanc, blanc, blanc,]
#image Sense Hat tête d'astronaute
humain = [blanc, blanc, brun, brun, brun, brun, blanc, blanc,
blanc, brun, brun, brun, brun, brun, brun, blanc,
brun, brun, bleu, rose, rose, bleu, brun, brun,
brun, rose, rose, rose, rose, rose, rose, brun,
blanc, rose, rouge, rose, rose, rouge, rose, blanc,
blanc, rose, rose, rouge, rouge, rose, rose, blanc,
blanc, rose, rose, rose, rose, rose, rose, blanc,
blanc, blanc, blanc, rose, rose, blanc, blanc, blanc]
#effacer leds Sense Hat
sense.clear()
#prise du taux d'humidité de départ (sans personne dans Columbus...)
humide = sense.get_humidity()
#arrondi à un chiffre après la virgule
initiale=round(humide, 1)
#affichage dans le shell du taux d'humidité de départ
print("Humidité initiale", initiale)
#ouverture d'un fichier nommé humide pour ajouter les données générales du taux d'humidité
fichier1 = open("humide.csv", "a")
#pour écrire dans le fichier le nom des colonnes
fichier1.write("Date, Humidité \n")
#ouverture d'un fichier monné presence pour ne garder que les données notant la présence d'un astronaute
fichier2 = open("presence.csv", "a")
#pour écrire dans le fichier le nom des colonnes
fichier2.write("Date, Humidité \n")
#affichage dans le shell
print ("Date , Humidité")
#calcul du seuil à partir duquel on pense qu'une personne est présente soit 5% de plus que le taux initial
var_plus = initiale*1.05
# heure de départ du test
timedepart = time.time()
#durée du test en secondes
#timesortie = 60*2 pour nos tests sur deux minutes...
#timesortie de 85 min pour l'ISS
timesortie = 60*85
#répéter jusqu'à ce qu'on atteigne 1h25min de test
while time.time() < timedepart + timesortie:
#relevé du capteur humidité
humidity = sense.get_humidity()
#arrondi à 1 chiffre après la virgule
h=round(humidity, 1)
#écrire les données dans le fichier humide
fichier1.write(time.strftime('%d %m %y %T'))
fichier1.write(",")
fichier1.write(str(humidity))
fichier1.write("\n")
print(time.strftime('%d %m %y %T'),h)
# test si le taux est inférieur à la valeur initiale + 5%
if h<var_plus:
#affichages Leds sur le Sense Hat du H- et H= + 1 seconde
sense.set_pixels(hmoins)
time.sleep(1)
sense.set_pixels(hstable)
time.sleep(1)
#affichage Leds sur le Sense Hat du taux d'humidité
sense.show_message("H:{0}".format(h), text_colour = vert, scroll_speed=0.05)
else:
#écrire les données dans le fichier presence
fichier2.write(time.strftime('%d %m %y %T'))
fichier2.write(",")
fichier2.write(str(humidity))
fichier2.write("\n")
#affichage dans le shell signalant la présence
print("Présence détectée")
#affichage Leds sur le Sense Hat de H+ et de la tête d'astronaute + 1 seconde
sense.set_pixels(hplus)
time.sleep(1)
sense.set_pixels(humain)
time.sleep(1)
#sense.show_message("il y a quelqu'un dans Columbus", back_colour = rouge)
# fermeture des 2 fichiers
fichier2.close()
fichier1.close()