You are on page 1of 11

Textul si imaginile din acest document sunt licentiate

Attribution-NonCommercial-NoDerivs
CC BY-NC-ND
Codul sursa din acest document este licentiat
Public-Domain
Esti liber sa distribui acest document prin orice mijloace consideri (email, publicare pe website / blog, printare,
sau orice alt mijloc), atat timp cat nu aduci nici un fel de modificari acestuia. Codul sursa din acest document
poate fi utilizat in orice fel de scop, de natura comerciala sau nu, fara nici un fel de limitari.
Raspberry PI si senzorul SHT11
Senzorul SHT11 ofera posibilitatea de a masura temperatura si umiditatea din mediul
inconjurator cu o precizie ridicata. Se conecteaza la placa Raspberry PI prin intermediul a pini digitali.
Consumul senzorului este foarte redus! rezolutia temperaturii masurata de catre senzor este de "."1 º C
si "."# $ pentru umiditatea relati%a. In cel mai rau caz temperatura poate a%ea o acuratete de ± º C si
± #.& $ pentru umiditate.
Senzorul se alimenteaza cu o tensiune cuprinsa intre .' si &.&(! comunica printr)un protocol
serial *T+o),ire Serial- si iesirea digitala este deja calibrata din fabrica.
In prima parte a tutorialului! %ei conecta senzorul la placa Raspberry si %ei afisa # %alori
distincte in terminal. In cea de)a doua parte! %ei conecta un s.ield /C0 pe care %ei afisa din cele #
%alori.
Cum conectez senzorul ?
Senzorul se conecteaza foarte simplu la placa Raspberry PI. 1oloseste tabelul si imaginea de mai
jos.
Raspberry PI 5V SHT11 VCC
Raspberry PI GND SHT11 GND
Raspberry PI pin 13 SHT11 pin DAT
Raspberry PI pin 7 SHT11 pin SCK
http://www.robofun.ro/forum
2sa arata senzorul conectat la placa Raspberry! conform tabelului.
Programul senzorului.
3xista un pac.et Pyt.on special construit pentru acest senzor. Instaleaza pac.etul in modul
urmator4
1. /og.eaza)te prin SSH in consola Raspbian. Poti folosi Putty daca %rei sa te conectezi de
pe ,indo+s sau ss. 5ip6 de pe 7buntu.
. Pac.etul se afla aici4 .ttps488pypi.pyt.on.org8pypi8rpiS.t1x si din documentatie el
depinde de un alt modul.
#. 0escarca modulul prin comanda4
http://www.robofun.ro/forum
sudo we!
"!!ps#$$pypi%py!"on%or$pa&'aes$sour&e$R$RPi%GPI($RPi%GPI()
*%+%1a%!ar%,
'. 0upa ce l)ai descarcat! acum il dezar.i%ezi prin comanda4

sudo !ar )-./ Rpi%GPI()*%+%1a%!ar%,
&. Sc.ima locatia in noul fisier4
&d Rpi%GPI()*%+%1a
9. Instaleaza modulul prin comanda4
sudo py!"on se!up%py ins!a00
http://www.robofun.ro/forum
:. Pentru pac.etul senzorului %ei proceda la fel dar mai intai trebuie sa iesi din fisierul
actual4
&d %%
sudo we!
"!!ps#$$pypi%py!"on%or$pa&'aes$sour&e$r$rpiS"!1-$rpiS"!1-)
1%1%!ar%,
;. 0ezar.i%eaza pac.etul4
sudo !ar )-./ rpiS"!1-)1%1%!ar%,
<. Sc.imba locatia4
&d rpiS"!1-)1%1
1". Instaleaza pac.etul prin comanda4
sudo py!"on se!up%py ins!a00
11. Codul sursa il %ei scrie in nano dar mai intai sc.imba locatia4
&d %%
sudo nano sen,orSHT11%py
1. Copiaza in nano codul sursa4
http://www.robofun.ro/forum
/ro2 s"!1-%S"!1- i2por! S"!1- as SHT1-
da!aPin 3 13
&0'Pin 3 7
s"!1- 3 SHT1-4da!aPin5 &0'Pin5 SHT1-%GPI(67(ARD8
!e2pera!ure 3 s"!1-%read6!e2pera!ure6C48
"u2idi!y 3 s"!1-%read6"u2idi!y48
dewPoin! 3 s"!1-%&a0&u0a!e6dew6poin!4!e2pera!ure5 "u2idi!y8
prin!49Te2pera!ure# :; Hu2idi!y# :; Dew Poin!#
:;9%/or2a!4!e2pera!ure5 "u2idi!y5 dewPoin!88
1#. Sal%eaza)l cu CTR/ = si > si executa)l cu4
sudo py!"on sen,orSHT11%py
1'. 0aca %rei sa obtii citiri la fiecare & secunde atunci modifica fisierul py4
i2por! !i2e
/ro2 s"!1-%S"!1- i2por! S"!1- as SHT1-
da!aPin 3 13
&0'Pin 3 7
s"!1- 3 SHT1-4da!aPin5 &0'Pin5 SHT1-%GPI(67(ARD8
w"i0e 1#
!e2pera!ure 3 s"!1-%read6!e2pera!ure6C48
"u2idi!y 3 s"!1-%read6"u2idi!y48
dewPoin! 3 s"!1-%&a0&u0a!e6dew6poin!4!e2pera!ure5 "u2idi!y8
prin!49Te2pera!ure# :; Hu2idi!y# :; Dew Poin!#
:;9%/or2a!4!e2pera!ure5 "u2idi!y5 dewPoin!88
!i2e%s0eep458
http://www.robofun.ro/forum
Cum afisez temperatura si umiditatea pe un LC?
0aca %rei sa afisezi temperatura si umiditatea pe un /C0! atunci iti propun s.ield)ul /C0 19x.
S.ield)ul se conecteaza direct la portul ?PI@ al placii Rasbperry Pi sau prin intermediul unei panglici
cobbler. Placa expune in acelasi timp si toti pinii ?PI@ ai Raspberry PI *conectorul =1#! nepopulat!
de langa /C0-. 0aca %rei sa ai acces la orice pin al portului ?PI@ dar in acelasi timp sa folosesti si
/C0)ul! atunci este necesara lipirea conectorului mama x1#.
In tutorialul de fata este necesara lipirea acestui conector! altfel nu %ei putea conecta senzorul
SHT11.
Cum procedez?
1. /ipeste bareta mama x1# pe s.ield. 0aca %rei sa sari peste aceasta operatiune! atunci la
ac.izitionarea s.ield)ului opteaza pentru bareta lipita.
. Infige s.ield)ul in portul placii Raspberry PI.
#. Conecteaza senzorul SHT11! prin fire! urmand acelasi tabel de mai sus.
'. Copiaza codul listat mai jos si executa)l.
http://www.robofun.ro/forum
Cum arata s!ield"ul si senzorul conectat ?
http://www.robofun.ro/forum
i2por! RPi%GPI( as GPI(
/ro2 s"!1-%S"!1- i2por! S"!1- as SHT1-
i2por! !i2e
<CD6RS 3 15
<CD6= 3 1+
<CD6D+ 3 13
<CD6D5 3 17
<CD6D> 3 1?
<CD6D7 3 11
<CD6@IDTH 3 1>
<CD6CHR 3 True
<CD6CAD 3 Ba0se
<CD6<IN=61 3 *-?*
<CD6<IN=61 3 *-C*
=6PC<S= 3 *%****5
=6D=<AD 3 *%****5
da!aPin 3 13
&0'Pin 3 7
de/ 2ain48#
0&d6ini!48
0&d6by!e4<CD6<IN=615 <CD6CAD8
0&d6s!rin49R(7(BCN%R(9518
0&d6by!e4<CD6<IN=615 <CD6CAD8
0&d6s!rin49Raspberry PI9518
!i2e%s0eep458
w"i0e 1#
s"!1- 3 SHT1-4da!aPin5 &0'Pin5 SHT1-%GPI(67(ARD8
!e2pera!ure 3 s"!1-%read6!e2pera!ure6C48
"u2idi!y 3 s"!1-%read6"u2idi!y48
dewPoin! 3 s"!1-%&a0&u0a!e6dew6poin!4!e2pera!ure5 "u2idi!y8
prin!49Te2pera!ura# :; C2idi!a!e# :; Pun&! de roua#
:;9%/or2a!4!e2pera!ure5 "u2idi!y5 dewPoin!88
!e-!<CD(ne 3 s!r49E%1/9 E !e2pera!ure8
!e-!<CD(ne 3 9Te2pera!ura#9 F !e-!<CD(ne
!e-!<CDTwo 3 s!r49E%1/9 E "u2idi!y8
!e-!<CDTwo 3 9C2idi!a!e# 9 F !e-!<CDTwo
0&d6ini!48
0&d6by!e4<CD6<IN=615 <CD6CAD8
0&d6s!rin4!e-!<CD(ne518
0&d6by!e4<CD6<IN=615 <CD6CAD8
0&d6s!rin4!e-!<CDTwo518

http://www.robofun.ro/forum
de/ 0&d6ini!48#
GPI(%se!warnins4Ba0se8
GPI(%se!2ode4GPI(%7(ARD8
GPI(%se!up4<CD6=5 GPI(%(CT8
GPI(%se!up4<CD6RS5 GPI(%(CT8
GPI(%se!up4<CD6D+5 GPI(%(CT8
GPI(%se!up4<CD6D55 GPI(%(CT8
GPI(%se!up4<CD6D>5 GPI(%(CT8
GPI(%se!up4<CD6D75 GPI(%(CT8
0&d6by!e4*-335<CD6CAD8
0&d6by!e4*-315<CD6CAD8
0&d6by!e4*-1?5<CD6CAD8
0&d6by!e4*-*C5<CD6CAD8
0&d6by!e4*-*>5<CD6CAD8
0&d6by!e4*-*15<CD6CAD8
de/ 0&d6s!rin42essae5s!y0e8#
G s!y0e31 <e/! Hus!i/ied
G s!y0e31 Cen!red
G s!y0e33 Ri"! Hus!i/ied
i/ s!y0e331#
2essae 3 2essae%0Hus!4<CD6@IDTH59 98
e0i/ s!y0e331#
2essae 3 2essae%&en!er4<CD6@IDTH59 98
e0i/ s!y0e333#
2essae 3 2essae%rHus!4<CD6@IDTH59 98
/or i in rane4<CD6@IDTH8#
0&d6by!e4ord42essaeIiJ85<CD6CHR8
de/ 0&d6by!e4bi!s5 2ode8#
G Send by!e !o da!a pins
G bi!s 3 da!a
G 2ode 3 True /or &"ara&!er
G Ba0se /or &o22and
GPI(%ou!pu!4<CD6RS5 2ode8 G RS
G Hi" bi!s
GPI(%ou!pu!4<CD6D+5 Ba0se8
GPI(%ou!pu!4<CD6D55 Ba0se8
GPI(%ou!pu!4<CD6D>5 Ba0se8
GPI(%ou!pu!4<CD6D75 Ba0se8
i/ bi!sK*-1*33*-1*#
GPI(%ou!pu!4<CD6D+5 True8
i/ bi!sK*-1*33*-1*#
GPI(%ou!pu!4<CD6D55 True8
i/ bi!sK*-+*33*-+*#
GPI(%ou!pu!4<CD6D>5 True8
i/ bi!sK*-?*33*-?*#
GPI(%ou!pu!4<CD6D75 True8
http://www.robofun.ro/forum
G To0e L=nab0eL pin
!i2e%s0eep4=6D=<AD8
GPI(%ou!pu!4<CD6=5 True8
!i2e%s0eep4=6PC<S=8
GPI(%ou!pu!4<CD6=5 Ba0se8
!i2e%s0eep4=6D=<AD8
G <ow bi!s
GPI(%ou!pu!4<CD6D+5 Ba0se8
GPI(%ou!pu!4<CD6D55 Ba0se8
GPI(%ou!pu!4<CD6D>5 Ba0se8
GPI(%ou!pu!4<CD6D75 Ba0se8
i/ bi!sK*-*133*-*1#
GPI(%ou!pu!4<CD6D+5 True8
i/ bi!sK*-*133*-*1#
GPI(%ou!pu!4<CD6D55 True8
i/ bi!sK*-*+33*-*+#
GPI(%ou!pu!4<CD6D>5 True8
i/ bi!sK*-*?33*-*?#
GPI(%ou!pu!4<CD6D75 True8
G To0e L=nab0eL pin
!i2e%s0eep4=6D=<AD8
GPI(%ou!pu!4<CD6=5 True8
!i2e%s0eep4=6PC<S=8
GPI(%ou!pu!4<CD6=5 Ba0se8
!i2e%s0eep4=6D=<AD8
i/ 66na2e66 33 L662ain66L#
2ain48
http://www.robofun.ro/forum