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 apasare brick si SensorShield

Senzorul de apasare brick are particularitatea de a isi modifica rezistenta in functie de forta aplicata pe suprafata acestuia. Caracteristica senzorului variaza aproximativ logaritmic cu forta aplicata. Senzorul brick contine un rezistor de 10K conectat in configuratie de divizor de tensiune impreuna cu senzorul activ. Raspberry ! nu este ec"ipat cu convertor analog#digital pentru a citi semnalul produs de senzor. $in aceasta cauza vei utiliza s"ield%ul creat special pentru a ii oferi aceasta functie placii Raspberry. S"ield%ul preia semnalul analogic al senzorului si il transforma intr%un semnal digital& acesta fiind citit de placa Raspberry. S"ield%ul iti permite citirea a cel mult ' senzori analogici. !n acest tutorial vei scrie o mica aplicatie in yt"on ce va citi& va afisa valoarea senzorului iar daca valoarea a depasit un anumit prag& aplicatia va afisa o avertizare. !n cadrul acestui tutorial vei avea nevoie de urmatoarele componente( Raspberry !. Sursa de alimentare )*+,. Senzor de apasare patrat brick. SensorS"ield +-. .ire pentru conexiuni.

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 apasare bric Senzor apasare bric Senzor apasare bric V!! GN% 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 ce ai realizat toate conexiunile din tabel vei obtine ceva similar ca mai /os.

http://www.robofun.ro/forum

Cum functioneaza aplicatia ?


0plicatia pyt"on citeste datele de la senzorul analogic de apasare brick prin intermediul s"ield% ului. !n acelasi timp aplicatia testeaza daca valoarea senzorului a depasit pragul. $aca l%a depasit va afisa o avertizare. 1. comanda( 1ai intai creezi un fisier si copiezi codul sursa listat mai /os. .isierul se creeaza prin

s*do nano Senzor(pasare.py

-. 5.

Salveaza%l cu CTR2 3 si 4. 6xecuta%l cu comanda(

s*do py+hon Senzor(pasare.py

$aca nu ai primit nici o eroare vei obtine valorile senzorului in terminal ca in imagine.

http://www.robofun.ro/forum

Codul sursa.
,-.*sr.bin.en/ py+hon i0por+ +i0e i0por+ os i0por+ RPi.GPIO as GPIO GPIO.se+0ode#GPIO.1!2$ de3 readadc#adcn*04 cloc pin4 0osipin4 0isopin4 cspin$5 i3 ##adcn*0 6 7$ or #adcn*0 8 )$$5 re+*rn 91 GPIO.o*+p*+#cspin4 'r*e$ GPIO.o*+p*+#cloc pin4 :alse$ GPIO.o*+p*+#cspin4 :alse$

http://www.robofun.ro/forum

co00ando*+ ; adcn*0 co00ando*+ <; )=18 co00ando*+ 88; 3 3or i in ran>e#5$5 i3 #co00ando*+ ? )=8)$5 GPIO.o*+p*+#0osipin4 'r*e$ else5 GPIO.o*+p*+#0osipin4 :alse$ co00ando*+ 88; 1 GPIO.o*+p*+#cloc pin4 'r*e$ GPIO.o*+p*+#cloc pin4 :alse$ adco*+ ; ) 3or i in ran>e#12$5 GPIO.o*+p*+#cloc pin4 'r*e$ GPIO.o*+p*+#cloc pin4 :alse$ adco*+ 88; 1 i3 #GPIO.inp*+#0isopin$$5 adco*+ <; )=1 GPIO.o*+p*+#cspin4 'r*e$ adco*+ 66; 1 re+*rn adco*+ SPI!@A ; 18 SPI2ISO ; 23 SPI2OSI ; 24 SPI!S ; 25 GPIO.se+*p#SPI2OSI4 GPIO.O&'$ GPIO.se+*p#SPI2ISO4 GPIO.IN$ GPIO.se+*p#SPI!@A4 GPIO.O&'$ GPIO.se+*p#SPI!S4 GPIO.O&'$ pra> ; 7)) "hile 'r*e5 /al*e ; readadc#)4 SPI!@A4 SPI2OSI4 SPI2ISO4 SPI!S$ prin+ BBNi/el*l de apasare #)91)23$5 B C s+r#/al*e$ i3 /al*e 6 pra>5 prin+ DNi/el*l de pra> a 3os+ depasi+-E +i0e.sleep#).5$

http://www.robofun.ro/forum

Iti apar erori la executie ?


6ste posibil sa%ti lipseasca o librarie sau extensie pyt"on. !ti recomand sa parcurgi urmatorii pasi( 1. !nstaleaza pyt"on(

s*do ap+9>e+ ins+all py+hon9de/

-.

!nstaleaza pyt"on 7 pip(

s*do ap+9>e+ ins+all py+hon9pip

5.

!nstaleaza extensia R !.8 !9(

s*do pip ins+all rpi.>pio

:.

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

s*do easyFins+all 9& dis+rib*+e

*.

$aca ai primit eroare tasteaza din nou comanda de la pasul 5.

0cum totul ar trebui sa functioneze fara probleme.

http://www.robofun.ro/forum