Sunteți pe pagina 1din 4

Măsoară umiditatea

Senzorul de umiditate din Astro Pi poate măsura umiditatea aerului din jurul
acestuia, o funcție utilă care te ajută să obții date despre condițiile din spațiu.

Astro Pi măsoară umiditatea în cadrul ISS în procentajul concentrației de apă


din aer.

O parte din misiunea ta este să contribui la viața de zi cu zi a echipajului de la


bordul ISS, informându-i astfel că umiditatea la bordul stației spațiale se află
într-un interval normal, fapt ce îi va liniști.

Ce este umiditatea?

Adaugă acest cod pentru a măsura umiditatea:


humid = sense.get_humidity()
Această linie va măsura umiditatea curentă și va stoca rezultatul în
variabila humid.

Umiditatea este înregistrată foarte precis, adică valoarea stocată va avea un


număr mare de zecimale. Poți rotunji valoarea la orice număr de zecimale. În
exemplul dat, am rotunjit la o zecimală, dar pentru un alt nivel de precizie,
schimbă numărul 1 la numărul de zecimale pe care dorești să le vezi.
humid = round(sense.get_humidity(), 1)

Pentru a afișa umiditatea curentă ca mesaj derulant pe afișaj, adaugă această


linie de cod:
sense.show_message(str(humid))
Partea str() convertește umiditatea dintr-un caracter numeric în caracter text
astfel încât Astro Pi să o poată afișa.

De asemenea, poți afișa umiditatea ca parte a unui alt mesaj prin îmbinarea
părților mesajului tau împreună cu un +.
sense.show_message( "It is " + str(humid) + " %" )

Un Astro Pi real va măsura umiditatea din jurul său, dar poți muta glisorul de
umiditate de pe emulatorul Sense HAT pentru a simula schimbări de umiditate
și pentru a testa codul tău.

Notă: S-ar putea să te întrebi de ce sliderul de umiditate afișează umiditatea


ca număr întreg, dar citirea pe care o primești este un număr cu zecimale.
Emulatorul simulează ușoara inexactitate a senzorului real, astfel încât
umiditatea măsurată pe care o vezi poate fi puțin mai mică sau mai mare
decât valoarea pe care ai setat-o cu ajutorul glisorului.
Reacționează la umiditate
Poți combina citirea umidității cu o imagine pentru a indica umiditatea într-un
mod grafic. De exemplu, ai putea afișa un ocean pentru o umiditate mare și
un deșert pentru umiditate scăzută:

În partea de jos a programului tău, creează mai multe variabile pentru orice
culori pe care vrei sa le folosești în imaginile tale. Este posibil să fi definit deja
unele dintre ele într-un pas anterior.
o=(255,130,0)
b=(0,0,255)
c=(0,150,255)
e=(80,80,80)
g=(0,255,0)
y=(255,255,0)

La fel ca mai devreme, desenează imaginile tale, creând mai întâi o listă
pentru fiecare dintre ele, apoi setând elementele listei la culorile pe care
dorești să le aibă pixelii.
wet = [
b, b, b, b, b, b, b, b,
b, b, b, b, b, b, b, b,
b, o, b, o, o, o, b, b,
b, o, o, o, o, e, o, b,
b, o, o, o, o, o, o, b,
b, o, b, o, o, o, b, b,
b, b, b, b, b, b, b, b,
b, b, b, b, b, b, b, b
]

dry = [
c, c, g, g, c, c, c, c,
c, c, g, g, c, g, c, c,
g, c, g, g, c, g, c, c,
g, c, g, g, c, g, c, c,
g, g, g, g, g, g, c, c,
c, c, g, g, c, c, c, c,
y, y, y, y, y, y, y, y,
y, y, y, y, y, y, y, y
]

Adaugă cod pentru a obține umiditatea:


humid = sense.get_humidity()

Acum decide ce imagine vrei să se afișeze. Pentru acest exemplu, vom afișa
imaginea wet (ud) dacă valoarea citită a umidității este de 40% sau mai mare
și imaginea dry (uscat) dacă umiditatea este sub 40%.
humid = sense.get_humidity()
if humid >= 40:
sense.set_pixels(wet)
else:
sense.set_pixels(dry)

Utilizează slider-ul pentru umiditate pentru a seta o umiditate pe emulator.


Rulează programul și verifică dacă imaginea pe care ai selectat-o pentru acea
umiditate este afișată corect.

Modifică codul astfel încât programul să afișeze umiditatea pentru astronauți


în modul ales de tine.

Testează-ți codul cu câteva setări diferite de umiditate (folosind slider-ul)


pentru a te asigura că rulează întotdeauna corect. Dacă ai urmat exemplul de
mai sus, este afișată o imagine atât atunci când umiditatea este setată la o
valoare mai mică de 40%, cât și atunci când este setată la peste 40%?

S-ar putea să vă placă și