• No se han encontrado resultados

Disseny d un sistema de gestió intel ligent d aparcament públic urbà

N/A
N/A
Protected

Academic year: 2022

Share "Disseny d un sistema de gestió intel ligent d aparcament públic urbà"

Copied!
11
0
0

Texto completo

(1)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 2

Treball de Fi de Grau

Grau en Enginyeria en Tecnologies Industrials

Disseny d’un sistema de gestió intel·ligent d’aparcament públic urbà

ANNEX

Autor: Víctor Jordà i Ferreres Director: Jordi García Boixes Convocatòria: 2021/2022 Q2

Escola Tècnica Superior

d’Enginyeria Industrial de Barcelona

(2)
(3)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 4

Índex

1 Annex 1: Caracterització sensor Infraroig GP2Y0A21YK0F ... 6 2 Annex 2: Caracterització sensor ultrasons HC-SR04 ... 8 3 Annex 3: Codi del microcontrolador ... 10

Índex d’il·lustracions

Il·lustració 1: Sensor GP2Y0A21YK0F. Font: Amazon ... 6 Il·lustració 2: Gràfic caracterització del sensor infraroig (valor analògic en funció de la distància). Font: Pròpia... 7 Il·lustració 3:Gràfic caracterització del sensor infraroig (distància en funció del valor analògic). Font: Pròpia ... 7 Il·lustració 4: Sensor d'ultrasons HC-SR04. Font: Amazon ... 8 Il·lustració 5: Programa de caracterització del sensor HC-SR04 ... 9

Índex de taules

Taula 1: Taula de valors de l'experimentació del sensor infraroig. Font: Pròpia ... 6 Taula 2: Relació entre distància real i la descrita per el programa ... 9

(4)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 5

(5)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 6

1 Annex 1: Caracterització sensor Infraroig GP2Y0A21YK0F

Per tal de caracteritzar el funcionament exacte del sensor d’Infrarojos GP2Y0A21YK0F s’assaja i es va recollint el valor de la sortida analògica del sensor amb la distància a la que està l’obstacle.

Il·lustració 1: Sensor GP2Y0A21YK0F. Font: Amazon

Com que tampoc es necessita que sigui molt precís s’agafen 7 distàncies en el seu rang de detecció (en aquest sensor és de 10 a 80 cm). Com que els baixos dels cotxes no arriben a 80 cm es fa fins a 70 i així evitar procés de càlcul i posterior complexitat metemàtica. Com que la variable analògica presentava diferències entre diferents mesures, es decideix fer 3 cops l’experiment i determinar la línia de comportament a partir de la mitjana d’aquest valors. En la següent taula es pot observar la distància a la que està l’objecte a detectar i les 3 experimentacions fetes (columna Mesura1, Mesura2, Mesura3) i a l’ultima fila la mitja d’aquests darrers valors (Mitjana):

Distància [m] Mesura1 Mesura2 Mesura3 Mitjana

0.1 482 493 493 489

0.2 267 269 269 268

0.3 190 189 193 191

0.4 150 150 158 153

0.5 137 142 138 139

0.6 120 121 129 123

0.7 108 108 108 108

Taula 1: Taula de valors de l'experimentació del sensor infraroig. Font: Pròpia

Un cop determinat el valor analògic que correspon a cada una de les distàncies seleccionades s’ha de passar d’una variable discreta a una continua per tal de determinar el valor analògic per a qualsevol distància de dins del rang. En aquest cas és una funció polinòmica de 3r grau com es pot observar a continuació (Il·lustració 2: Gràfic caracterització del sensor infraroig (valor analògic en funció de la distància). Font: Pròpia), es dona per bona l’equació VA del gràfic ja que el coeficient de determinació R2 dona 0,9941.

(6)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 7

Il·lustració 2: Gràfic caracterització del sensor infraroig (valor analògic en funció de la distància). Font: Pròpia

Concretament ens serà més útil trobar l’expressió de la distància en funció del valor analògic amb la seva equació continua, i és el que es troba a continuació:

Il·lustració 3:Gràfic caracterització del sensor infraroig (distància en funció del valor analògic). Font: Pròpia

On la funció continua d és:

(7)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 8

2 Annex 2: Caracterització sensor ultrasons HC-SR04

Aquest cop per a la caracterització del sensor s’utilitzarà un programa ja fet i es corroborarà amb el sensor real.

Il·lustració 4: Sensor d'ultrasons HC-SR04. Font: Amazon

En concret el programa és el següent i està fet per l’empresa peruana NaylampMechatronics.

(8)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 9

Il·lustració 5: Programa de caracterització del sensor HC-SR04

A la següent taula es pot veure la relació entre la distància real i la distància que dona el programa.

Per lo tant es considera ben modelat ja que les diferències són mínimes.

Distància real [cm]

Distància del programa [cm]

10 11

20 20

30 30

40 39

50 50

60 60

70 71

80 82

90 90

100 100

110 110

Taula 2: Relació entre distància real i la descrita per el programa

(9)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 10

3 Annex 3: Codi del microcontrolador

A continuació, hi ha el codi complet carregat en el microcontrolador en la seva versió definitiva. Per ser utilitzat nomes s’hauria de enganxar el següent codi i muntar el prototip segons les entrades i tot descrit en la memòria d’aquest treball.

//Pins d'entrades i sortides de dades:

const int Trigger = 2; //Pin digital 2 per el Trigger del sensor US const int Echo = 3; //Pin digital 3 per el Echo del sensor US const int IR=A0; //Pin analogic A0 entrada sensor IR const int Vermell=9; //Pin digital PWM 9 per el vermell const int Verd=10; //Pin digital PWM 10 per el verd const int Blau=11; // Pin digital PWM 11 per el verd //Variables necessàries del codi

int mostra=0; //Variable que controla el cicle while

float llista[20]={1.5 , 56.5 , 67.5 , 167.5 , 199.5 , 154.5 , 671.5 , 677.5 , 899.5 , 44.5 , 46878 , 234.5 , 564.22 , 3466 , 456 , 2344 , 4566 , 1244 , 234 , 3455 }; //llista de valors

float llistaUS[20]={1.5 , 56.5 , 67.5 , 167.5 , 199.5 , 154.5 , 671.5 , 677.5 , 899.5 , 44.5 , 46878 , 234.5 , 564.22 , 3466 , 456 , 2344 , 4566 , 1244 , 234 , 3455 }; //llista de valors

char missatge = 'n'; // Variable iniciada que emmagatzema el que arriba per el port serie float limit= 15; // Limit de cm a que es posa

int estat=0; // estat en que està la plaça; 1:cotxe; 0:no cotxe

int adjudicada=0; // diu si la plaça ha estat adjudicada o no 1:adjudicada; 0: NO adjudicada float t; // Temps que tarda a arribar el so al Echo

float mesura_US; // variable que pren el valor mesurat pel sensor US float mesura_analog_IR; // variable que pren el valor mesurat pel sensor IR

float mitjana_diferencia; // variable que pren com a valor la diferència entre les dos mesures dels sensors

float mitjanaUS;

float mitjanaIR;

void setup() {

pinMode(Trigger, OUTPUT); //Es defineix el pin on hi ha el Trigger com a sortida pinMode(Echo, INPUT); //Es defineix el pin on hi ha el Echo com a entrada digitalWrite(Trigger, LOW); //S'inicia el pin del Trigger a 0V

pinMode(IR,INPUT); //definim que A0 sera un pin d'entrada del sensor IR

pinMode(Vermell,OUTPUT); //pin Vermell es defineix com a sortida pinMode(Verd,OUTPUT); //pin Verd es defineix com a sortida pinMode(Blau,OUTPUT); //pin Vlau es defineix com a sortida

Serial.begin(38400); //iniciailzamos la comunicación Serial Serial.println("Començem: codi nou2!");

}

void loop(){

//s'inicia el cicle de mesurar while(mostra < 20){

(10)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 11

//Si reb un missatge per el port serial el llegeix, si no rep res no llegeix if(Serial.available() != 0){

missatge=Serial.read();

if(missatge == 's'){

adjudicada=1;

}

if(missatge == 'n'){

adjudicada=0;

} }

//__________Sensor_US___________________________________

digitalWrite(Trigger, HIGH); //Encenem el emisor delayMicroseconds(10); //deixen ences 10 us digitalWrite(Trigger, LOW); //apaguem l'emisor

t = pulseIn(Echo, HIGH); //obtenim l'amplada de pols (entrada PWM) mesura_US = t/58.9; //obtenim el valor de la mesura

llistaUS[mostra]=mesura_US;

//__________Sensor_IR______

mesura_analog_IR=analogRead(A0); //obtenim el valor analògic del sensor IR float mesura_IR=19364*pow(mesura_analog_IR,-1.224); // convertim el valor analogic a cm llistaIR[mostra]=mesura_IR;

//____Mesura la diferencia entre les dos mesures i emmagatzema a la llista______

llista[mostra]=abs(mesura_US-mesura_IR);

mostra++;

delay(60);

}

mostra=0; //iniciem a 0 la variable mostra per que el seguent cicle while es faci //es mesura la mitjana:

mitjana_diferencia=(llista[0]+llista[1]+llista[2]+llista[3]+llista[4]+llista[5]+llista[6]+llista[7]+llista[8]+llist a[9]+llista[10]+llista[11]+llista[12]+llista[13]+llista[14]+llista[15]+llista[16]+llista[17]+llista[18]+llista[1 9])/20;

mitjanaUS=(llistaUS[0]+llistaUS[1]+llistaUS[2]+llistaUS[3]+llistaUS[4]+llistaUS[5]+llistaUS[6]+llista US[7]+llistaUS[8]+llistaUS[9]+llistaUS[10]+llistaUS[11]+llistaUS[12]+llistaUS[13]+llistaUS[14]+llista US[15]+llistaUS[16]+llistaUS[17]+llistaUS[18]+llistaUS[19])/20;

mitjanaIR=(llistaIR[0]+llistaIR[1]+llistaIR[2]+llistaIR[3]+llistaIR[4]+llistaIR[5]+llistaIR[6]+llistaIR[7]+lli staIR[8]+llistaIR[9]+llistaIR[10]+llistaIR[11]+llistaIR[12]+llistaIR[13]+llistaIR[14]+llistaIR[15]+llistaIR[

16]+llistaIR[17]+llistaIR[18]+llistaIR[19])/20;

//Serial.print(mitjana_diferencia); Serial.print("-"); Serial.print(mitjanaUS); Serial.print("-");

Serial.println(mitjanaIR);

if(mitjana_diferencia<(limit) and mitjanaUS<45){ //si la mitjana es inferior al limit vol dir que hi ha un cotxe a sobre, per lo tant es posa led vermell, estat=1 i adjudicada=0

estat=1;

adjudicada=0;

Serial.print(estat); Serial.print("-"); Serial.print(mitjana_diferencia); Serial.print("-");

Serial.print(mitjanaUS);Serial.print("-"); Serial.println(mitjanaIR);

(11)

Disseny d’un projecte de gestió intel·ligent d’aparcament públic urbà Pàg. 12

analogWrite(Vermell,255);

analogWrite(Verd,0);

analogWrite(Blau,0);

}

else{ //si la mitjana es superior al limit vol dir que NO hi ha un cotxe a sobre, per lo tant es posa led blau o verd (adjudicada 1 o 0), estat=0

estat=0;

Serial.print(estat); Serial.print("-"); Serial.print(mitjana_diferencia); Serial.print("-");

Serial.print(mitjanaUS);Serial.print("-"); Serial.println(mitjanaIR);

if(adjudicada==1){ //Si està lliure (estat=0) i adjudicada=1 --> led blau analogWrite(Vermell,0);

analogWrite(Verd,0);

analogWrite(Blau,255);

}

else{ //Si està lliure (estat=1) i adjudicada=0 --> led verd analogWrite(Vermell,0);

analogWrite(Verd,255);

analogWrite(Blau,0);

} } }

Referencias

Documento similar

En la parte central de la línea, entre los planes de gobierno o dirección política, en el extremo izquierdo, y los planes reguladores del uso del suelo (urbanísticos y

L’objectiu principal d’aquest treball és el desenvolupament d’una eina que integri la capacitat d’implementar i editar arbres de comportament al motor de jocs

El mètode CalculateWeightedValueInversed rep com a paràmetre l’array de double que retorna la funció de Context, i en calcula el valor actual ponderat entre el mínim i

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Després d‟intervenir a l‟aula fent ús d‟una unitat de programació multinivell hem pogut observar que l‟alumne analitzat té accés al currículum, és a dir, pot

Primer es pot parlar sobre què és un decàleg i per a què serveix (se’n poden presentar alguns). A continuació es pot iniciar una conversa sobre quina forma ha de tenir aquest