Sei sulla pagina 1di 6

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 / blo , printare, sau orice alt mijloc!, atat timp cat nu aduci nici un "el de modi"icari acestuia# Codul sursa din acest document poate "i utili$at in orice "el de scop, de natura comerciala sau nu, "ara nici un "el de limitari#

Raspberry PI si senzorii de distanta Sharp digitali de 5 si 10 cm

Senzorii de distanta Sharp de 5 si 10 cm detecteaza toate obiectele care se afla in raza lor de actiune (ceea ce inseamna obiectele mai apropiate de 5, respectiv 10 cm de senzor) Senzorii au dimensiuni mici, timp de raspuns rapid si consum de energie mic !esirea este de tip digitala, adica orice obiect aflat in raza lui de actiune modifica starea iesirii la un 0 logic Cat timp nici un obiect nu se afla in raza de actiune, iesirea este 1 logic Conexiunea cu placa "aspberr# se realizeaza prin $ fire cu capete mama%mama !n acest tutorial vei descoperi cum se conecteaza cei & senzori la placa "aspberr# '! si cum se citesc datele furnizate intr%un program '#thon

'entru acest tutorial, vei avea nevoie de urmatoarele componente( ) placa "aspberr# '! http(**+++ robofun ro*raspberr#%pi%si%componente*",S'-.""/%'!% 0n alimentator "aspberr# '! http(**+++ robofun ro*raspberr#%pi%si%componente*alimentator%raspberr#%pi 0n senzor Sharp de 5cm (sau un senzor de 10 cm, cel de mai 1os) http(**+++ robofun ro*senzori*infrarosu*senzor2distanta2sharp23'&/0450560725cm 0n senzor Sharp de 10cm http(**+++ robofun ro*senzori*infrarosu*senzor2distanta2sharp23'&/04510607210cm 7ire de conexiune mama%mama

http(**+++ robofun ro*forum

http(**+++ robofun ro*fire%conexiune%mama%mama%180mm9:e#+ord;fire<categor#2id;0 -readboard =ini http(**+++ robofun ro*breadboard2mini9:e#+ord;breadboard<categor#2id;0 8 rezistoare de 10:

Cum se conecteaza senzorii ?


>ivelele logice sau semnalele generate de catre iesirile celor & senzori au tensiuni cuprinse intre 0 si 5? =ai exact, atunci cand senzorul detecteaza un obiect, acesta va genera o tensiune scazuta de aproximativ 0 @?, iar atunci cand obiectul nu mai este prezent in raza senzorului, iesirea va genera 8 8? 'laca "aspberr# '! interpreteaza semnalele astfel )rice semnal cu o tensiune cuprinsa intre & 5 si $ $? este considerat un 1 logic, iar orice semnal sub & 5? este considerat un 0 logic 4in cauza ca senzorii tai vor genera mai mult decat poate suporta placa "aspberr# '!, adica peste $ $?, aceasta se poate arde asa ca sunt necesari & divizori de tensiune rezistivi 4ivizorul rezistiv este un circuit simplu care translateaza nivelele logice de tensiuni mari la nivele logice de tensiuni mici Senzorii se conecteaza la placa "aspberr# '! urmand schema de mai 1os

4upa ce ai realizat conexiunile, vei obtine ceva asemanator ca in urmatoarea imagine

http(**+++ robofun ro*forum

Programul Python.
!nainte de a trece la scrierea programului '#thon, trebuie sa te asiguri ca sistemul de operare al placii are cele mai noi update%uri 1 0pdate%ul sistemului de operare "aspbian se face prin comenzile(
sudo apt-get update && sudo apt-get upgrade

&

=ai intai vei creea un folder in care vei pastra toate fisierele(
mkdir senzoriSharp

'rogramul '#thon utilizeaza un pachet important care acceseaza portul 3'!) al placii "aspberr# !nstalarea pachetului "pi 3'!)%0 5 $a se realizeaza prin urmatoarea comanda(
sudo wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO.!."a.tar.gz

4ezarhiveaza pachetul prin comanda(


sudo tar z#$ Rpi.GPIO- .!."a.tar.gz

Schimba locatia prin comanda(


cd Rpi.GPIO- .!."a

.xecuta instalarea pachetului(


sudo python setup.py insta%%

'achetul a fost instalat, acum este momentul sa copiezi codul sursa de mai 1os in modul urmator(

http(**+++ robofun ro*forum

sudo nano program.py

Copiaza codul sursa de mai 1os, in fisierul program p#, salveaza%l cu CT"B C si / si executa%l cu comanda(
sudo python program.py

'rogramul arata astfel(

,copera senzorii rand pe rand si vei observa mesa1ele care apar pe monitor

http(**+++ robofun ro*forum

Codul sursa
import RPi.GPIO as GPIO import time import os sensorOne & '" sensor(wo & ') GPIO.setmode*GPIO.+,-. GPIO.setup*sensorOne/GPIO.I0. GPIO.setup*sensor(wo/GPIO.I0. whi%e (rue: i$ *GPIO.input*sensorOne. && .: print*1Primu% senzor a $ost dec%ansat21. time.s%eep*'. i$ *GPIO.input*sensor(wo. && .: print*13% doi%ea senzor a $ost dec%ansat21. time.s%eep*'.

http(**+++ robofun ro*forum

Potrebbero piacerti anche