Sunteți pe pagina 1din 7

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, senzor flex brick si SenzorShield

In acest tutorial vei descoperi ce este un senzor flex, cum se conecteaza la placa Raspberry PI prin SensorShield si cum se poate realiza o aplicatie in Python cu acest tip de senzor. Raspberry PI nu este echipat cu un convertor analog digital !"#C$ iar din aceasta cauza nu poate citi senzori analogici. SensorShield aduce o noua functionalitate placii Raspberry si anume, ii ofera posibilitatea de a citi senzori analogici. SensorShield este capabil sa alimenteze mai multi senzori deodata datorita celor % pini de tip mama dintre care, & pentru alimentare cu '.' (, & pentru alimentare cu )( si & pentru *nd. #aca vrei sa alimentezi mai multi senzori, iti recomand un breadboard. Raspberry PI poate citi simultan, prin acest shield, cel mult + senzori prin intrarile marcate cu ", - "..

Cum conectez un senzor flex?


Pentru acest tutorial iti sunt necesare urmatoarele componente/ Raspberry PI. SensorShield (&. Senzor flex !indoire$ bric0 ),)cm. 1ire pentru conexiuni. "limentator pentru Raspberry PI !)($.

http://www.robofun.ro/forum

Tabelul conexiunilor.
Sensor Shield 3.3V Sensor Shield 5V Sensor Shield Gnd Sensor Shield IN1 Sensor Shield IN2 Sensor Shield IN3 Sensor Shield IN4 Senzor fle Senzor fle Senzor fle bri!" V## bri!" GN' bri!" O() Raspberry PI 3.3V Raspberry PI 5V Raspberry PI Gnd Raspberry PI GPIO18 Raspberry PI GPIO23 Raspberry PI GPIO24 Raspberry PI GPIO25 SensorShield 5V Po$er%Sensors& SensorShield GN' Po$er%Sensors& SensorShield *+

#upa realizarea tuturor conexiunilor vei obtine ceva similar cu imaginea urmatoare.

http://www.robofun.ro/forum

Cum functioneaza aplicatia ?


Pentru acest tutorial vei scrie o aplicatie in Python. "plicatia citeste datele de la SensorShield si le printeaza in terminal. 2. #eschide editorul nano si copiaza codul sursa listat mai 3os.

s,do nano senzor-le .py

&. '.

Salveaza4l cu CTR5 6 si 7. 8xecuta4l cu comanda/

s,do py.hon senzor-le .py

Imediat cum ai pornit aplicatia in executie, in terminal se vor printa valorile analogice ale senzorului flex. "cum poti indoi senzorul in ambele directii si vei observa cum variaza fiecare citire.

http://www.robofun.ro/forum

Codul sursa/
/01,sr1bin1en2 py.hon i3por. .i3e i3por. os i3por. RPi.GPIO as GPIO GPIO.se.3ode%GPIO.4#5& def readad!%ad!n,36 !lo!"pin6 3osipin6 3isopin6 !spin&7 if %%ad!n,3 8 9& or %ad!n,3 : +&&7 re.,rn ;1 GPIO.o,.p,.%!spin6 )r,e& GPIO.o,.p,.%!lo!"pin6 -alse& GPIO.o,.p,.%!spin6 -alse& !o33ando,. < ad!n,3 !o33ando,. =< + 18 !o33ando,. ::< 3 for i in ran>e%5&7 if %!o33ando,. ? + 8+&7 GPIO.o,.p,.%3osipin6 )r,e& else7 GPIO.o,.p,.%3osipin6 -alse& !o33ando,. ::< 1 GPIO.o,.p,.%!lo!"pin6 )r,e& GPIO.o,.p,.%!lo!"pin6 -alse&

http://www.robofun.ro/forum

ad!o,. < + for i in ran>e%12&7 GPIO.o,.p,.%!lo!"pin6 )r,e& GPIO.o,.p,.%!lo!"pin6 -alse& ad!o,. ::< 1 if %GPIO.inp,.%3isopin&&7 ad!o,. =< + 1 GPIO.o,.p,.%!spin6 )r,e& ad!o,. 88< 1 re.,rn ad!o,. SPI#@A < 18 SPI5ISO < 23 SPI5OSI < 24 SPI#S < 25 GPIO.se.,p%SPI5OSI6 GPIO.O()& GPIO.se.,p%SPI5ISO6 GPIO.IN& GPIO.se.,p%SPI#@A6 GPIO.O()& GPIO.se.,p%SPI#S6 GPIO.O()& $hile )r,e7 2al,e < readad!%+6 SPI#@A6 SPI5OSI6 SPI5ISO6 SPI#S& prin. BValoarea analo>i!a7 B C s.r%2al,e& .i3e.sleep%+.5&

Iti apar erori la executie ?


8ste posibil sa4ti lipseasca o librarie sau extensie python. Iti recomand sa parcurgi urmatorii pasi/ 2. Instaleaza python/

s,do ap.;>e. ins.all py.hon;de2

&.

Instaleaza python - pip/

s,do ap.;>e. ins.all py.hon;pip

'.

Instaleaza extensia RPI.*PI9/

http://www.robofun.ro/forum

s,do pip ins.all rpi.>pio

:.

8ste posibil sa primesti o eroare legata de easy;install.

s,do easyDins.all ;( dis.rib,.e

).

#aca ai primit eroare tasteaza din nou comanda de la pasul '.

"cum totul ar trebui sa functioneze fara probleme.

http://www.robofun.ro/forum

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