CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA …condensador en un circuit elèctric que transformi...

88
TREBALL DE RECERCA CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE Nom: Joan Ginés Ametllé Tutor: Josep Rubió Pons Escola Pia Sant Antoni Curs 2010-2011

Transcript of CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA …condensador en un circuit elèctric que transformi...

TREBALL DE RECERCA

CONSTRUCCIÓ D’UNA ESTACIÓ

METEOROLÒGICA AUTOMATITZADA AMB

PICAXE

Nom: Joan Ginés Ametllé Tutor: Josep Rubió Pons

Escola Pia Sant Antoni Curs 2010-2011

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

2

Si hagués de donar les gràcies

a tots aquells que m’heu ajudat

a fer possible aquest treball,

de ben segur que m’acabaria

tot el paper del món.

Em sembla que això no ho podré fer.

Espero que em sabreu perdonar.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

3

ÍNDEX

1. INTRODUCCIÓ................................................................................................................................................. 5

2. LA METEOROLOGIA I LES SEVES VARIABLES ...................................................................................... 7

2.1. LA METEOROLOGIA I LA TECNOLOGIA ...................................................................................................................... 7 2.2. TEMPERATURA ............................................................................................................................................................ 7

2.2.1. Sensor de temperatura resistiu .............................................................................................................. 8 2.3. HUMITAT RELATIVA ................................................................................................................................................... 8

2.3.1. Sensor d’humitat capacitiu ...................................................................................................................... 8 2.4. PRESSIÓ ATMOSFÈRICA .............................................................................................................................................. 9

2.4.1. Sensor de pressió resistiu.......................................................................................................................... 9 2.5. RADIACIÓ SOLAR I INTENSITAT LLUMINOSA ........................................................................................................... 9

2.5.1. Sensor electrònic de radiació solar ................................................................................................... 10 2.6. DIRECCIÓ I VELOCITAT DEL VENT .......................................................................................................................... 10

2.6.1. Sensors electrònics de direcció i velocitat del vent ..................................................................... 11 2.7. PRECIPITACIÓ AQUOSA ............................................................................................................................................ 11

3. L’ESTACIÓ METEOROLOGIA AUTOMÀTICA (EMA) ......................................................................... 12

3.1. DEFINICIÓ DE L’ESTACIÓ METEOΠ ........................................................................................................................ 12 3.1.1. El mòdul emissor ....................................................................................................................................... 12 3.1.2. El mòdul receptor ..................................................................................................................................... 12

4. MICROCONTROLADORS ........................................................................................................................... 12

4.1. ENTRADES I SORTIDES ............................................................................................................................................ 13 4.2. MICROCONTROLADORS PICAXE .......................................................................................................................... 14

4.2.1. El sistema PICAXE .................................................................................................................................... 14 4.2.2. El llenguatge de programació BASIC................................................................................................ 15

4.3. QUIN MODEL DE PICAXE?..................................................................................................................................... 16 4.3.1. El PICAXE 20X2 ......................................................................................................................................... 16 4.3.2. El PICAXE 14M ........................................................................................................................................... 16

5. INTRODUCCIÓ ALS SENSORS .................................................................................................................. 17

5.1. SENSORS DE TEMPERATURA. EL SENSOR DS18B20 ......................................................................................... 17 5.2. SENSORS D’HUMITAT. EL SENSOR HIH-4000-001 .......................................................................................... 19 5.3. SENSORS DE PRESSIÓ. EL SENSOR MPX4115AP .............................................................................................. 20 5.4. SENSORS DE LLUM. EL FOTODÍODE BPW34 ...................................................................................................... 21 5.5. SENSOR DE VELOCITAT DEL VENT. L’ANEMÒMETRE .......................................................................................... 22

5.5.1. L’electrònica de l’anemòmetre ............................................................................................................ 23 5.6. SENSOR DE DIRECCIÓ DEL VENT. EL PENELL ....................................................................................................... 23

5.6.1. L’electrònica del penell........................................................................................................................... 24

6. INTRODUCCIÓ ALS DISPLAYS ................................................................................................................ 25

6.1. DISPLAYS LCD ......................................................................................................................................................... 25 6.2. EL RELLOTGE EN TEMPS REAL DS1307. ............................................................................................................ 27

7. ELS RAJOS INFRAROJOS (IR) .................................................................................................................. 27

7.1. COMANDAMENTS A DISTÀNCIA .............................................................................................................................. 27

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

4

7.2. EL PROTOCOL SIRC DE SONY ................................................................................................................................ 28 7.2.1. El bit d’inici ................................................................................................................................................. 28 7.2.2. El bit 1 ........................................................................................................................................................... 29 7.2.3. El bit 0 ........................................................................................................................................................... 29

8. SENYALS DE RÀDIO. C-0503 I C-0504 ................................................................................................. 29

9. DISSENY DELS CIRCUITS .......................................................................................................................... 30

9.1. DISTRIBUCIÓ DE PINS .............................................................................................................................................. 30 9.1.1. Els pins del PICAXE 20X2 ....................................................................................................................... 30 9.1.2. Els pins del PICAXE 14M ........................................................................................................................ 31

9.2. EVOLUCIÓ DEL DISSENY .......................................................................................................................................... 31 9.3. DIAGRAMES DE BLOCS ............................................................................................................................................. 32

9.3.1. Distribució del mòdul receptor ........................................................................................................... 33 9.3.2. Distribució del mòdul emissor ............................................................................................................. 34

9.4. CIRCUITS DEL MÒDUL RECEPTOR .......................................................................................................................... 35 9.4.1. La font d’alimentació .............................................................................................................................. 35 9.4.2. La placa base (PIC20X) .......................................................................................................................... 37

9.5. CIRCUITS DEL MÒDUL EMISSOR ............................................................................................................................. 40 9.5.1. La placa base (PIC14M) ......................................................................................................................... 40 9.5.2. El penell ........................................................................................................................................................ 42 9.5.3. L’anemòmetre ............................................................................................................................................ 44

10. FONAMENTS DEL BASIC ........................................................................................................................... 45

10.1. LABELS ...................................................................................................................................................................... 45 10.2. COMENTARIS ............................................................................................................................................................ 45 10.3. CONSTANTS ............................................................................................................................................................... 46 10.4. VARIABLES ................................................................................................................................................................ 46

10.4.1. Variables generals .................................................................................................................................... 46 10.4.2. Operacions amb variables ..................................................................................................................... 47 10.4.3. Ordres ............................................................................................................................................................ 48

11. PROGRAMA DEL MÒDUL EMISSOR ...................................................................................................... 49

12. PROGRAMA DEL MÒDUL RECEPTOR................................................................................................... 51

12.1. EL BLOC WELCOME ................................................................................................................................................. 51 12.2. EL BLOC SHOWTIME ................................................................................................................................................ 52 12.3. ELS BLOCS SHOWTEMP I TEMPNEG ...................................................................................................................... 53 12.4. EL BLOC SHOWHUMI ............................................................................................................................................... 56 12.5. EL BLOC SHOWPRES ................................................................................................................................................ 57 12.6. EL BLOC SHOWLGHT ............................................................................................................................................... 58 12.7. EL BLOC SHOWWIND ............................................................................................................................................... 59 12.8. EL BLOC SHOWINFO ................................................................................................................................................ 61

13. CONCLUSIÓ ................................................................................................................................................... 62

14. BIBLIOGRAFIA ............................................................................................................................................. 64

ANNEX 1. CALIBRACIÓ DELS SENSORS ......................................................................................................... 70

ANNEX 2. ORDRES DEL BASIC .......................................................................................................................... 77

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

5

1. Introducció

La meteorologia és la ciència que s’encarrega d’estudiar els fenòmens atmosfèrics.

Un dels aparells que ha fet possible el progrés i l’expansió d’aquesta ciència ha

estat l’Estació Meteorològica Automatitzada (EMA), i és que l’automatització dels

aparells ha permès agilitzar tant la recollida com la visualització de dades.

Actualment, aquest tipus d’instal·lacions són les més nombroses dins la xarxa

d’estacions meteorològiques de Catalunya.

Podríem definir una EMA com una eina capaç de mesurar diverses variables

meteorològiques amb l’ajuda de dispositius electrònics, que a més, és capaç

d’enviar la informació captada ininterrompudament. Sovint, les EMA també són

capaces d’aprofitar l’energia solar o eòlica per funcionar autònomament. Tot això

les converteix, sens cap dubte, en unes màquines molt eficients, ràpides i

econòmiques.

L’objectiu d’aquest treball de recerca és construir, dins de les limitacions de temps

i recursos de que es disposa, un model fiable i econòmic d’ EMA, que tingui una

vida útil llarga i no precisi manteniment. L’estació ha de ser capaç de recollir les

dades de les principals variables meteorològiques i mostrar-les a través d’un

display. També seria interessant que pogués mantenir certa interactivitat amb el

seu usuari, i per aconseguir-ho, hauria d’incorporar un sistema de control remot.

L’estació haurà de ser capaç de mesurar les següents variables:

• Temperatura

• Humitat relativa

• Pressió atmosfèrica

• Iluminància i radiància

• Velocitat i direcció del vent

• Precipitació aquosa

Es tracta per tant, d’un projecte complex, ja que inclou molts àmbits diferents, com

ara l’electrònica, la informàtica, la física i les matemàtiques.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

6

En primer lloc, es necessita la creació d’un sistema electrònic a base de sensors

(hardware) que ens permeti una captació contínua de dades i que aquestes es

puguin mostrar, segons vulgui l’usuari, al display. En la seva creació s’hauran de

tenir en compte qüestions com ara l’alimentació dels diferents circuits de l’aparell,

que interessaria que fos única per tal de simplificar el disseny, i la presentació de

les dades, que hauria de ser més o menys atractiva.

Es necessita, a més, un component que sigui capaç de regular i coordinar les

funcions d’aquests circuits, el microcontrolador, que també ha de ser capaç de

convertir els valors captats pels sensors (valors de voltatge, intensitat, etc.) en

dades intel·ligibles per nosaltres. Per establir el seu comportament s’haurà

d’utilitzar un codi de programació (software). Els microcontroladors més adequats

per aquest sistema són els PICAXE, que funcionen mitjançant codi BASIC.

La memòria que es presenta a continuació recull tots els passos realitzats per a la

creació d’aquesta estació, batejada amb el nom de Meteoπ, així com els recursos

que s’han utilitzat i la informació vinculant.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

7

Figura 1. Termòmetre

2. La meteorologia i les seves variables

2.1. La meteorologia i la tecnologia

Com ja s’ha dit, la meteorologia és la ciència que s’encarrega de l’estudi dels

fenòmens atmosfèrics, és a dir, del temps. El seu camp de treball acostuma a ser

molt ampli i això en complica l’estudi perquè s’han de tenir en compte grans

quantitats de dades, magnituds, fenòmens i variables.

Tot i així, la meteorologia és una ciència que ens afecta a tots de manera

inqüestionable, tant si som aficionats a alguna de les seves branques com si només

volem saber si demà haurem de dur paraigües. És per això que cada vegada hi ha

més persones que volen tenir accés a un seguit de dades meteorològiques, i no

resulta estrany que sovint es trobin a l’interior de les cases termòmetres i altres

aparells de mesura. L’automatització dels aparells no tan sols ens permet obtenir

dades fiables ràpidament, sinó que també en millora la seva velocitat de

visualització.

2.2. Temperatura

La temperatura és la mesura indicativa de l’energia interna

d’un cos. Quan parlem de temperatura de l’aire ens referim,

per tant, a la temperatura de les partícules que el

conformen. Es mesura en graus Celsius (°C), Kelvin (°K) o

Fahrenheit (°F).

El sensor tradicional per a la mesura de la temperatura és el

termòmetre. Aquest aparell que consta d’un dipòsit de vidre

que es perllonga en un tub buit allargat per el qual pot

ascendir, segons l’escalfor, un líquid de fàcil dilatació com

l’alcohol o el mercuri. Una escala gravada a la vareta ens

indica el valor de la temperatura.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

8

Figura 3. Psicròmetre

Figura 2. Higròmetre

2.2.1. Sensor de temperatura resistiu

Qualsevol conductor experimenta una variació de la seva resistència elèctrica en

variar la temperatura. Per tant, si col·loquem en un circuit una resistència elèctrica,

aquesta canviarà el seu valor depenent de la temperatura. Aquestes variacions ens

poden informar del valor de la temperatura gràcies a un dispositiu electrònic capaç

de calcular l’equivalent entre les dues magnituds.

2.3. Humitat relativa

La humitat relativa expressa el tant per cent de vapor d’aigua que conté l’aire

respecte el que podria arribar a contenir en la temperatura actual. S’expressa en

un tant per cent. La quantitat de vapor d’aigua que pot

contenir l’aire augmenta amb la temperatura.

L’higròmetre i el psicròmetre són

els aparells tradicionals que

permeten mesurar la humitat

relativa.

L’higròmetre es basa en la propietat que tenen algunes

substàncies d’absorbir el vapor d’aigua atmosfèric. Les

variacions que experimenten aquestes substàncies, que

poden ser cabells o similars, són transmeses a l’agulla de l’ higròmetre i aquesta

ens indica la humitat.

El psicròmetre en canvi, basa les seves mesures d’humitat en la diferència de

temperatura que experimenten dos termòmetres, un sec i l’altre humit.

2.3.1. Sensor d’humitat capacitiu

Un condensador és un dispositiu que emmagatzema càrrega elèctrica. La quantitat

de càrrega que pot emmagatzemar per unitat de tensió s’anomena capacitat, i es

mesura en Farads (F). Tradicionalment els condensadors consten de dues plaques

separades entre si per un material dielèctric o aire.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

9

Figura 4. Baròmetre de mercuri

Per mesurar la humitat s’aprofita la propietat per efecte de la qual la capacitat d’un

condensador varia segons el medi dielèctric entre les seves plaques. Per tant, si

canvia la humitat, canvia la capacitat del condensador. Es pot incorporar un

condensador en un circuit elèctric que transformi els valors de la seva capacitat en

el percentatge d’humitat relativa.

2.4. Pressió atmosfèrica

La pressió atmosfèrica és deguda al pes de l’aire de l’atmosfera i actua

sobre qualsevol objecte i en totes direccions (principi de Pascal). Tot i

que hi ha molts factors que poden fer variar la pressió, els principals són

l’altura sobre el nivell del mar i els corrents ascendents i descendents de

l’aire. Actualment, es mesura convencionalment en hectopascals (hPa).

El baròmetre de mercuri fou el primer instrument utilitzat per mesurar

la pressió atmosfèrica. Consta d’un tub d’un metre de llarg dins del qual

s’ha fet el buit. L’extrem obert es col·loca dins d’un recipient amb

mercuri, el qual puja pel tub fins que el pes de la columna de mercuri

equilibra la pressió de l’aire. L’altura (mm de Hg) ens dóna el valor de la

pressió atmosfèrica.

2.4.1. Sensor de pressió resistiu

Un dels instruments utilitzats és un pistó unit a un potenciòmetre, que és una

resistència capaç de canviar el seu valor. En un canvi de pressió, el pistó es

desplaçarà i el valor de la resistència canviarà. Un dispositiu electrònic pot calcular

l’equivalència entre el valor de la resistència elèctrica i la pressió.

2.5. Radiació solar i intensitat lluminosa

L’energia del Sol arriba a la superfície de la Terra en forma de radiació

electromagnètica de totes les longituds d’ona; especialment en forma d’infraroig,

visible i ultraviolat. Gairebé la totalitat de l’energia de la Terra té el seu origen en el

Sol.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

10

Figura 5. Heliògraf

La quantitat d’ones que arriben a la superfície de la terra i l’energia que alliberen

rep el nom de radiació solar, una magnitud que

s’expressa en W/m2. Alhora, la il·luminació que

aquestes provoquen s’anomena intensitat

lluminosa i es mesura en lux (lx). Aquestes

magnituds són relacionables entre elles per a una

longitud d’ona concreta.

Un dels instruments clàssics que es pot utilitzar per

mesurar la radiació solar és l’heliògraf. Aquest

aparell fa servir una esfera de cristall com a focalitzador dels rajos solars i els

projecta sobre una cartolina o un altre suport. En funció de la intensitat i la

longitud de la cremada, deguda al moviment del sol al llarg del dia, es pot calcular

la intensitat i la durada de la radiació.

2.5.1. Sensor electrònic de radiació solar

En aquest cas s’utilitza un fotodíode, que és un dispositiu electrònic que deixa

passar el corrent elèctric en funció de la llum que rep. Els fotodíodes són sensibles

a l’espectre electromagnètic comprès entre els 400 i els 1.100 nm (llum visible). El

senyal elèctric generat es pot processar electrònicament i traduir a unitats

d’irradiància solar global (W/m2).

També es pot utilitzar el piranòmetre, un aparell que es basa en l’efecte

termoelèctric, pel qual es genera electricitat a partir de la diferència de

temperatura entre diverses zones de l’aparell pintades de blanc i negre (B&W).

2.6. Direcció i velocitat del vent

Anomenem vent al desplaçament de l’aire des de les zones d’alta pressió

(anticiclons) fins a les de baixa pressió (borrasques). Com més gran sigui la

diferència de pressions, més fort serà el vent que es produirà. A l’hemisferi nord,

degut a la rotació de la Terra, el vent gira en el sentit de les agulles del rellotge en

els anticiclons i en el contrari en les borrasques. Les isòbares (línies que separen

anticiclons i borrasques) també ens aporten informació sobre el vent. Com més

juntes estan les isòbares, major és la velocitat del vent.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

11

Figura 6. Penell i anemòmetre

Figura 7. Pluviòmetre

Per conèixer la direcció del vent es fa servir el

penell, que és una fletxa amb una superfície

incorporada que s’orienta cap a la direcció des

d’on bufa el vent.

Per mesurar la velocitat del vent s’utilitza

l’anemòmetre, que consisteix en tres cassoletes

separades per angles de 120°. El costat convex de

les cassoletes presenta una major resistència que

el costat còncau. Així doncs, sigui quina sigui la

direcció del vent, les cassoletes sempre giraran en

el mateix sentit i més de pressa com més fort sigui el vent.

2.6.1. Sensors electrònics de direcció i velocitat del vent

La direcció del vent es mesura amb un potenciòmetre circular. Segons la direcció

del vent tindrem més o menys resistència.

Per mesurar electrònicament la velocitat del vent s’utilitza un anemòmetre de

cassoletes amb el disseny descrit a l’apartat anterior. El molinet de cassoletes

porta acoblat un petit imant. A cada volta, l’imant passa prop d’un relé magnètic i

provoca el tancament dels seus contactes. A partir del nombre de vegades que

s’obren i es tanquen aquests contactes, un circuit electrònic calcula la velocitat del

vent (m/s).

2.7. Precipitació aquosa

Quan la temperatura de l’aire disminueix per sota del punt de rosada, el vapor

d’aigua de l’atmosfera es condensa i pot acabar caient en forma de

pluja, neu o granís segons les condicions meteorològiques.

Per mesurar la intensitat i la quantitat de la pluja s’utilitza

habitualment el pluviòmetre. Els pluviòmetres clàssics consten

d’un embut que recull l’aigua de la pluja i l’acumula dins d’un

cilindre graduat on es pot mesurar la quantitat d’aigua.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

12

3. L’estació meteorologia automàtica (EMA)

3.1. Definició de l’estació Meteoπ

L’estació Meteoπ és un projecte destinat a les cases, tot i que en general es pot

utilitzar en qualsevol lloc. Com que s’ha construït a imitació d’una EMA real, consta

de dos mòduls, l’emissor i el receptor.

3.1.1. El mòdul emissor

El mòdul emissor serà l’encarregat d’aconseguir informació continuada de les

variables meteorològiques que es pretenen mesurar, emmagatzemar-les i enviar-

les a través d’ones de ràdio fins al mòdul receptor. Aquest mòdul estarà alimentat

per piles i estarà preparat per resistir les inclemències del temps. Si s’hagués

disposat de més temps per realitzar el projecte, hauria estat interessant intentar

alimentar-lo amb energia solar i acumuladors.

3.1.2. El mòdul receptor

Aquest mòdul està pensat per a l’interior de l’habitatge. Incorporarà un endoll que

li permetrà connectar-se sense problemes a la xarxa domèstica de 220V, un display

per ensenyar les dades i serà capaç de llegir senyals de codificació infraroja d’un

comandament a distància VTR2 que permetrà a l’usuari escollir quines dades vol

mostrar.

4. Microcontroladors

Per construir l’estació meteorològica es necessita, com ja s’ha exposat, un sistema

electrònic programable que sigui capaç de realitzar totes les funcions que ens

interessen (captació, emmagatzematge, tractament, enviament i visualització de les

dades). Com que aquest sistema requereix components específics per a cada una

d’aquestes funcions, s’ha de gestionar l’actuació d’aquests de manera ordenada per

tal d’obtenir un funcionament eficaç. Per aconseguir-ho, és precís utilitzar un

microcontrolador.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

13

Podríem definir un microcontrolador com a un ordinador col·locat dins d’un xip.

Aquest és un circuit integrat que conté memòria, unitat de processament i diverses

interfícies d’entrada i sortida en una sola peça.

Fa uns anys hagués estat del tot impossible plantejar-se un projecte així, ja que el

seu ús estava poc estès i en conseqüència, el seu cost econòmic i manejabilitat no

eren tan elevats com avui en dia. Actualment, però, la seva utilització comporta una

sèrie de millores, sobretot en termes de grandària i senzillesa de la programació.

Els microcontroladors es poden programar per donar-los una utilitat concreta i fer

un producte determinat més autònom o senzill d’utilitzar. En nombroses ocasions,

l’ús d’un microcontrolador permet reemplaçar un circuit molt complex.

Encara que sembli mentida, els microcontroladors ja s’utilitzen en gran quantitat a

la vida quotidiana, i en podem trobar en aparells tant corrents com els sistemes

d’alarma, el microones o el nostre vehicle particular.

4.1. Entrades i sortides

Si pensem en molts aparells electrònics quotidians (com ara televisors, microones,

etc.), veurem que són bons exemples de sistemes controlats. Aquests aparells

contenen diversos sensors i altres components per detectar el canvis en l’entorn

(augment de la temperatura, pulsació d’un botó, etc.), i aquestes dades els fan

actuar d’una manera determinada.

Els dispositius d’entrada són els components que detecten canvis en el “món real” i

envien senyals al processador. En serien exemples un micròfon o un interruptor.

Els dispositius de sortida són aquells components que es poden activar i desactivar

seguint les ordres del processador. Alguns exemples serien els motors, els díodes

LED o els brunzidors. El microcontrolador utilitza la informació que rep dels

dispositius d’entrada per prendre decisions sobre com controlar els dispositius de

sortida. Això s’aconsegueix mitjançant el programa que es descarrega al

microcontrolador, i com que aquest es pot habitualment regrabar, un sol aquests

dispositius poden tenir múltiples funcions.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

14

4.2. Microcontroladors PICAXE

Els microcontroladors PICAXE són uns dispositius fabricats per la marca Microchip

PICmicro™, que vénen equipats amb una codi de programació propi que permet

que aquest component es pugui programar mitjançant una senzilla connexió via

sèrie a partir de només tres cables.

Aquest programa també incorpora dreceres i simplificacions de les ordres més

utilitzades en programació, de manera que és ideal perquè l’utilitzin estudiants o

gent amb falta d’experiència en aquesta àrea. Aquest tipus de microcontrolador

serà, per tant, el que s’incorporarà a l’estació Meteoπ.

4.2.1. El sistema PICAXE

El sistema que utilitzen aquests microcontroladors a l’hora de ser programats està

dirigit als estudiants i creat amb una gran simplicitat. És per això que actualment

està força estès.

Per començar, tota la programació d’un microcontrolador PICAXE la podem

incloure dins del mateix xip, sense necessitat de cap component addicional. Això

permet que un cop instal·lat en una placa, un PICAXE no hagi de ser tret,

augmentant molt la seva vida útil i evitant que es puguin fer malbé els pins del

controlador.

Lluny dels més difícils d’aprendre llenguatges de programació que s’utilitzen a la

indústria, aquest tipus de PIC fa servir el codi de programació BASIC, que és molt

manejable, potent i fàcil d’aprendre. També ofereix la possibilitat de ser programat

mitjançant diagrames de flux, que permeten organitzar la informació del BASIC

d’una manera molt més visual i ordenada.

El mateix distribuïdor de microcontroladors PICAXE ofereix un programa de lliure

distribució que permet programar tant en codi estricte com en diagrames de flux i

descarregar el programa dins del PIC si es posseeix un cable apropiat. Aquest rep

el nom de PICAXE Programming Editor.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

15

Figura 8. Finestra del PICAXE Programming Editor

4.2.2. El llenguatge de programació BASIC

El llenguatge de programació BASIC, acrònim de Beginner's All-purpose Symbolic

Instruction Code (Codi d’instrucció simbòlica multipropòsit per a principiants), és

un llenguatge de programació molt potent dissenyat l’any 1964 amb la intenció de

proporcionar l’accés a la programació als estudiants.

Durant la dècada del 1980, el seu ús es va estendre als microcontroladors, ja que la

resta de codis tenien una mida massa gran per ser guardats en petites memòries.

Aquest llenguatge de programació funciona a partir d’odres i ofereix la possibilitat

d’estructurar el codi mitjançant numeracions de línia, fent-lo així molt més

entenedor.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

16

Figura 9. PICAXE 20X2

Figura 10. PICAXE 14M

4.3. Quin model de PICAXE?

Al mercat existeixen moltes varietats de microcontroladors PICAXE, els quals es

diferencien en el nombre d’entrades i sortides, memòria interna i funcions. Cada

model és adequat per una situació diferent.

Es van estudiar tots els models de PICAXE per escollir l’opció més adequada, però

com que llavors encara hi havia incerteses en el projecte, com ara si es podria

construir alguns sensors, el nombre de línies que s’havien d’utilitzar o el model

dels dispositius que es farien servir i les seves connexions, no es va arribar a cap

resultat concloent.

A mesura que la construcció i el codi de la programació van anar avançant, es van

definir els 2 tipus de PICAXE que es farien servir: els models 20X2 i 14M.

4.3.1. El PICAXE 20X2

Aquest va ser el PICAXE destinat al mòdul interior. Va

ser escollit principalment per la gran memòria interna

que posseeix, ja que el programa d’aquesta part conté

unes 250 línies. També ofereix múltiples connexions

d’entrada i sortida i la possibilitat de llegir qualsevol

codi infraroig, que no posseeixen els models de 18 pins.

4.3.2. El PICAXE 14M

Aquest va ser el PICAXE que es va destinar al mòdul exterior.

Els motius que en van motivar la tria van ser la senzillesa del

programa que es necessitava en aquest mòdul (unes 30 línies

de codi sense instruccions que requereixin massa memòria

interna) i la seva versatilitat.

En aquest mòdul s’havien d’incorporar tots els sensors encarregats de la captació

de dades, i per tant, es necessitava un nombre flexible i elevat d’entrades

analògiques. El PICAXE 14M és especialment atractiu en aquest sentit perquè

ofereix la possibilitat de configurar els seus tres últims pins per convertir-los, entre

altres opcions, en entrades analògiques. Si es sumen aquestes entrades a les que ja

per defecte té el PIC, n’oferia un total de cinc.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

17

5. Introducció als sensors

Per la construcció de l’estació meteorològica Meteoπ s’hauran d’utilitzar sensors

electrònics per captar les dades referents a les diferents variables que s’han

determinat per analitzar.

Un sensor electrònic és un element “sensible” a les condicions que es donen al seu

entorn. En funció d’aquestes condicions, el sensor actua d’una manera o d’una

altra. Els senyals que envia un sensor es poden interpretar amb un

microcontrolador i convertir-se en una magnitud.

L’oferta de sensors és molt variada, de manera que es van haver de valorar les

diferents característiques de cada model i escollir el més adient en cada cas. Calia

trobar sensors que oferissin una bona resolució, que no s’haguessin de programar i

que presentessin un sistema de connexió i enviament de dades compatible amb el

nostre microcontrolador PICAXE. A més, calia tenir en compte els rangs d’actuació,

que han d’abastar tots els valors comuns de les variables, i el sistema que utilitza el

sensor per enviar les dades (digital o analògic) amb les complicacions i facilitats en

termes de programació i de disseny que això comportava.

Així doncs, la tria dels sensors adients és una part fonamental i alhora costosa de la

recerca que es va haver de fer abans d’iniciar la construcció. La manera més ràpida

i fàcil de valorar si un sensor és adequat o no és consultant el seu datasheet, on

s’exposen totes les seves característiques i comportaments. Durant les explicacions

s’han annexat datasheets dels principals sensors per tal que es puguin consultar en

cas de dubte.

5.1. Sensors de temperatura. El sensor DS18B20

Ja des de bon principi, es van descartar les termoresistències PTC i NTC. Aquestes,

tot i ser molt manejables i fàcils de trobar, presenten (excepte algunes PTC força

costoses) una gràfica de tipus logarítmic, en aquest cas T(°C) / V(V). Per poder-les

utilitzar s’haguessin hagut de linealitzar a partir d’una segona resistència en

paral·lel i després buscar de nou la relació de conversió.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

18

Figura 11. Sensor DS18B20

El primer sensor que es va trobar va ser el TD05, del fabricant Honeywell. Aquest

sensor hauria pogut servir, ja que mesura entre els -40°C i 150°C.

Tanmateix, té un gran inconvenient, i es que requereix una tensió d’alimentació de

10V, un valor molt difícil d’obtenir si la nostra placa ha d’estar alimentada per tres

piles 1,5V. Va ser descartar i va seguir la busca.

La següent troballa en aquest camp va ser el sensor LM35. Aquest és el sensor de

temperatura universalment més estès. Està calibrat en graus Celsius i ofereix un

rang comprés entre els -55°C i els 150°C. També ofereix una sortida analògica en

relació lineal amb la temperatura. Aquest sensor té

l’inconvenient que pot treballar en un rang de voltatge

massa ampli i per tant, precisa una feina important de

calibració, que a ser possible volia estalviar. Tot i no

descartar l’LM35 ni en general, cap sensor de la seva

mateixa sèrie, es va seguir buscant.

A la mateixa web del distribuïdor PICAXE recomanaven un sensor de temperatura,

que a més, és utilitzat preferentment en molts projectes amb controlador PICAXE i

recomanat en molts manuals. Aquest era el DS18B20, de Dallas Semiconductor, que

mesura entre -55°C i 125°C. Aquest sensor consta de tres pins, un dels quals

correspon a la tensió d’entrada (V+) i l’altre a la referència (Gnd). La sortida del

sensor es troba en el tercer pin, que es pot connectar directament a una entrada

digital del PICAXE.

A més, aquest sensor té una funció especial que simplifica la programació i que

veurem més endavant. Perquè era recomanat, fàcil d’utilitzar i barat, aquest model

va ser escollit com a definitiu sensor de temperatura.

Sensor DS18B20

Sensor LM35

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

19

Figura 12. Sensor HIH-4000

5.2. Sensors d’humitat. El sensor HIH-4000-001

Els primers sensors amb els que es va topar van ser l’HS1101 i l’HS1100, del

fabricant Humirel especialitzat en aquest tipus de sensors. Aquest sensor mesura la

humitat relativa del 0 al 100, i per tant s’adequa al que es buscava. Tot i això, té dos

importants inconvenients: necessita una tensió d’alimentació de 10V i un complex

circuit amb un oscil·lador extern per connectar-lo al microcontrolador.

El pròxim sensor que es va trobar va ser l’SHT1x, del fabricant Sensiron. Aquest

sensor pot treballar a 5V i ofereix un rang de mesura adequat a les meves

necessitats. Té una sortida digital i la possibilitat de connectar-se al controlador

utilitzant el bus i2c. Era una bona opció, però està dissenyat per incloure a la

superfície d’un circuit imprès, que encara no estava clar si seria el tipus de placa

que faria servir.

Uns altres sensors van ser HS15P i HS12P, però

aquests van ser descartats des de bon principi, perquè

retornen valors en impedància (tot i que es poden

convertir a tensió, això precisa un circuit complex) i

perquè ofereixen uns registres destinats a aparells

amb humitats altes.

Després d’això ja es va descobrir el sensor definitiu. Aquest es deia HIH-4000-

001/002/003. Aquest sensor figura a la web del mateix fabricant PICAXE i és

utilitzat en molts projectes realitzats amb aquest tipus de microcontrolador, així

com mencionat en tutorials de la mateixa web.

El sensor consta de tres pins, un per la tensió d’alimentació (Vss), l’altre per la

referència de terra (Vdd) i l’últim, que novament, permet la connexió directa a

través d’un pin cap al microcontrolador sense haver d’afegir-hi cap component

addicional.

Consultant el full de característiques corresponent, es va veure que era ideal, ja

que està preparat per funcionar a 5V exactes, mesura tot el rang d’humitat relativa

i ofereix una sortida analògica i lineal.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

20

Figura 13. Sensor MPX4115AP

Amb una humitat relativa del 0% el sensor HIH-4000 torna 0,958V, i amb una

humitat relativa del 100% proporciona 3,268V. A més, està indicat per la

meteorologia. Tot i ser car, uns 20€ si es comprava online, va ser escollit.

Sensor HIH4000

Sensor HS11

Sensor SHT1x

5.3. Sensors de pressió. El sensor MPX4115AP

Hi ha molts models de sensors de pressió i de moltes

marques diferents, però era difícil trobar-ne un que

s’adaptés a les nostres necessitats.

En aquest cas, el primer sensor que es va trobar ja va

ser escollit, ja que no se’n va veure cap altre que el

superés en conveniència. Aquest és el MPX4115, del

fabricant Motorola. L’MPX415 ofereix una sortida

lineal i analògica. Mesura en kPa, cosa que

representava un petit inconvenient pel que fa a la precisió, ja que la pressió

s’acostuma a mesurar en hectopascals (hPa) o mil·libars (mb). Així doncs, aquest

sensor necessita una gran calibració, que no hauria de resultar difícil ja que està

preparat per funcionar a 5,1V, un valor semblant a la tensió de 5V que s’utilitzarà.

Aquest sensor està disponible en diferents encapsulats (case), els grans (unibody) i

els petits (small). En una valoració que considerava termes de fiabilitat i

miniaturització de l’estació, suportada pel datasheet (full de característiques) del

sensor, es va decidir, si era possible, aconseguir l’MPX4115A.

Aquest sensor, però, no es venia a la web del PICAXE, així que, després de buscar,

es va haver d’anar a comprar a la botiga d’electrònica ONDA RADIO, l’únic lloc

pròxim on es venia. Tanmateix, allà només tenien disponible l’encapsulat

MPX4115AP. Tot i no ser el predilecte, el es va haver d’acceptar d’acceptar.

Sensor MPX4115

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

21

Figura 14. Fotodíode BPW34

5.4. Sensors de llum. El fotodíode BPW34

Existeixen diferents dispositius al mercat per mesurar la llum, però es necessitava

un component que permetés una fàcil interacció amb el PICAXE (a poder ser

analògica) i que variés el senyal en funció de la llum rebuda.

La primera opció viable eren les resistències LDR, les quals connectades com un

divisor de tensió donen un voltatge proporcional a la llum rebuda. La relació entre

la llum i el voltatge és però, logarítmica, i per tant, difícil de calibrar (es requereix

un instrument patró i una taula de dades).

Després d’estudiar altres opcions es va descobrir un

altre component, els fotodíodes. Un fotodíodes deixa

passar una quantitat de corrent (I) linealment

proporcional a la llum que la seva superfície rep. El

model que es va aconseguir més fàcilment va ser el

BPW34, i aquest sensor va ser escollit.

Després, però, es va fer evident que fer servir el fotodíode amb una entrada

analògica del PICAXE no és tan fàcil i presenta una gran problemàtica. Alguns

d’aquests inconvenients són:

• Les tensions de sortida són de l’ordre dels mil·livolts (mV).

• Els díodes també són condensadors, cosa que fa que la tensió variï

irregularment.

• Existeix un corrent “escapat” que no circula a través de la via

d’entrada.

Per solucionar tots aquests problemes s’havia de muntar un circuit amplificador

conversor d’intensitat-tensió que permetés obtenir una sortida de 0 a 5V i habilités

la connexió directa a una entrada ADC del PICAXE.

Fotodíode BPW34

Fotodíode BPW21

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

22

Figura 15. Anemòmetre (part superior)

5.5. Sensor de velocitat del vent. L’anemòmetre

En el cas d’aquest aparell de mesura no es va poder trobar un sensor que fos prou

econòmic i que s’adeqüés a les necessitats de l’estació. Vista la situació, es va

decidir construir un sensor propi que es pogués relacionar fàcilment amb el

PICAXE. Aquest va ser el típic anemòmetre de cassoletes, que s’acostuma a utilitzar

per aquestes aplicacions.

És obvi que l’anemòmetre necessita un eix per al seu funcionament, però aquest

eix ha de tenir un baix coeficient de fregament, o el gir de l’anemòmetre serà

enganyós respecte la velocitat real

del vent en el supòsit de considerar

el fregament negligible. Per

solucionar el problema del

fregament es va optar per utilitzar

un capçal de vídeo (drum), que

l’aparell fa servir per reproduir les

cintes. A més de tenir un fregament

extraordinàriament petit, aquesta

peça ja incorporava un petit eix.

A sobre de l’eix es va enganxar una peça cònica, que serveix de base. D’aquesta

peça surten 3 barres curtes de plàstic de 3 mm de diàmetre que acaben en unes

cassoletes. Cal tenir en compte que les barres han d’estar col·locades amb una

separació de 120°, ja que sinó l’aire no es repartirà adequadament i l’anemòmetre

girarà amb menys facilitat.

Per fer les cassoletes es va utilitzar aturadors de porta per adherir el terra. Aquests

ja tenen una forma semiesfèrica i són relativament fàcils de buidar per dins.

Finalment, es va introduir tota la construcció dins d’un tub de PVC de manera que

l’anemòmetre només és visible en la seva part superior. Posteriorment, tota

l’estructura es podrà acoblar al mòdul emissor gràcies a aquest tub.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

23

Figura 16. Anemòmetre (part inferior)

5.5.1. L’electrònica de l’anemòmetre

Un cop havia construït anemòmetre i comprovat que té una alta sensibilitat a l’aire

i que gira correctament, s’havia de buscar la manera d’aconseguir que el PICAXE

pugui interpretar aquest gir.

En aquest cas, es va fer servir un optoacoblador. Aquest component consta

essencialment de dues parts bàsiques: un díode emissor de llum i un díode

receptor. Els dos díodes estan

situats frontalment. El díode

receptor capta la llum de l’emissor

en totes les situacions excepte

quan hi ha un obstacle enmig que

impedeix el pas de la llum, moment

en el qual la sortida de

l’optoacoblador es posa en alt

(3,5V en nostre cas), generant així

una ona quadrada.

Així doncs, es va muntar aquest sensor a la part inferior de l’anemòmetre

(enganxant-lo a la paret del tub de PVC) i col·locar una peça de plàstic a la part

inferior de l’eix, de manera que coincidís entre els dos díodes.

D’aquesta manera, el sensor generaria una ona quadrada on cada pic d’ona seria

una volta de l’anemòmetre. Es va connectar el sensor a una entrada digital del

PICAXE. El PICAXE podria, a través de la programació, contar els polsos de l’ona

generada i fer els càlculs pertinents per aïllar la velocitat de l’anemòmetre.

5.6. Sensor de direcció del vent. El penell

De la mateixa manera que en l’anterior sensor, es va decidir construir aquest per

temes econòmics i de compatibilitat amb el PICAXE. Per construir el penell es va

seguir el disseny tradicional d’aquest tipus de sensors, és a dir, una fletxa que

indiqui cap a on bufa el vent.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

24

Figura 18. Penell (part inferior)

Figura 17. Penell (part superior)

Cal tenir en compte que el penell ha

d’incorporar una peça amb una

superfície entre 4 i 5 vegades

superior a la resta de l’aparell per

tal que l’aire sigui capaç de generar

més força de fregament en aquella

zona i fer girar tota l’estructura.

Per fer el penell, primer va ser

dibuixat sobre metacrilat i després

retallar. El penell, tal com l’anemòmetre, ha de girar sobre un eix lliure de

fregament. De nou, es va decidir incorporar un capçal de vídeo (drum). Després es

va introduir també dins d’un tub de PVC, de manera que només se’n veiés la part

superior, per després incorporar-lo al cos del mòdul emissor.

5.6.1. L’electrònica del penell

Un cop construït el penell, era necessari incorporar algun mecanisme electrònic

que pogués detectar en quina

posició es troba apuntant en cada

moment. Habitualment es fa

servir un potenciòmetre, però no

es va poder trobar un

potenciòmetre sense fi (360°) que

s’adeqüés al que es buscava. Per

tant, es va decidir construir un

potenciòmetre “manual”.

Per fer-ho, primer es va dissenyar una placa circular, on s’hi van incorporar 16

terminals que corresponen a les diferents direccions de la rosa dels vents, i es va

instal·lar a la part inferior de l’eix del penell. També es va incorporar en el mateix

eix una petita peça metàl·lica i flexible capaç d’anar tocant als diferents punts

d’acord amb el moviment del penell i que serveix per tancar el circuit a mode de

polsador (la sortida del circuit és el mateix eix).

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

25

A cada terminal es van connectar 2 resistències, una de les quals sempre és de

10kΩ, que actuen com a divisor de tensió. Això vol dir que el sensor proporciona

una sortida analògica (voltatge) diferent en funció del terminal que estigui tocant

la peça metàl·lica. Com que es pot saber quin valor correspon a cada direcció, el

PICAXE pot establir una equivalència i trobar-la.

Per tal d’assegurar un punt de referència es va col·locat una brúixola a l’estació. Si

això no s’hagués fet, la direcció mesurada no seria fiable perquè dependria de

l’orientació de l’estació. Perquè el sistema funcioni correctament s’ha de col·locar

l’estructura del penell paral·lel a l’agulla de la brúixola quan aquesta indica al nord.

6. Introducció als displays

Fins ara hem vist com l’estació captarà les dades i com realitzarà altres

procediments, però és evident que amb això no n’hi ha prou. L’estació necessita un

component que li permeti il·lustrar els valors de les variables que mesura, ja que

sinó no aportaria cap informació a l’usuari. La solució és incorporar un display, una

pantalla que mostri les mesures de l’estació. Després d’investigar es va considerar

que l’ opció òptima seria un display LCD.

6.1. Displays LCD

LCD són les sigles de Liquid Crystal Display. Una pantalla de cristall líquid és un

dispositiu electrònic que ens permet il·lustrar nombres o text. Els que

s’encarreguen dels nombres s’anomenen numèrics, i els que ens permeten

ensenyar text i nombres, s’anomenen alfanumèrics.

Un display LCD està format per diversos cristalls (líquid cristal·lí) organitzats en

múltiples punts seguint un patró estàndard. Cada cristall té una connexió

electrònica pròpia que fa que pugui ser controlat independentment. Quan un

cristall està apagat (no li arriba corrent elèctric), aquest reflecteix la mateixa

quantitat de llum que el material de fons, de manera que es fa invisible a l’ull humà.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

26

Figura 19. Display LCD

Tanmateix, quan aquest mateix cristall li arriba corrent, canvia d’orientació i

absorbeix més llum. Això fa que sembli més fosc a l’ull humà i que es pugui

diferenciar del fons. L’inconvenient d’aquests displays respecte altres tipus (com

ara dels displays LED) és que no es

poden veure en la foscor, ja que el seu

funcionament es basa en canviar

l’orientació de la llum, no en generar

llum pròpia. Aquest procediment,

però, els permet estalviar molta més

energia.

El display que s’utilitzés havia de tenir una tensió de funcionament pròxima als 5V i

utilitzar un sistema d’interpretació de caràcters que fos compatible amb les ordres

que proporcionaria el PICAXE. També calia que no requerís un circuit de connexió

gaire complex.

Es van considerar dos models de display possibles. El primer es deia LCD03

S310118. Aquest és un display que funciona per i2c i amb una tensió d’alimentació

òptima de 5V. Té quatre files de 20 caràcters i, a més, ofereix la possibilitat de

connectar-li un teclat, cosa que donaria més interactivitat a l’estació, fent que les

variables es mostressin a gust de l’usuari.

A la web del PICAXE, però, es va trobar un altre display que funcionava i que era el

recomanat per utilitzar amb el microcontrolador, l’AXE033, que tenia 2 files de 16

caràcters. Aquest ofereix una interfície i protocol de comunicació molt fàcil de

programar des d’un PICAXE i es pot connectar al mateix per mode sèrie o per bus

i2c. També té la possibilitat d’incloure en la mateixa peça el rellotge en temps real

DS1307 i una alarma.

Després de deliberar es va escollir l’AXE033, entre altres coses perquè era més

econòmic, el distribuïa el mateix fabricant del PICAXE i es disposava informació

més detallada del seu funcionament que l’altre display.

Display AXE033

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

27

Figura 20. Rellotge DS1307

6.2. El Rellotge en temps real DS1307.

El rellotge en temps real és una altre dispositiu que es farà servir i que indicarà

l’hora i la data del temps present. El model que s’ha triat és DS1307 de Dallas

Semiconductors i que està recomanat per complementar amb l’ús d’un PICAXE i un

LCD model AXE033, ja que es pot incorporar directament al display.

Aquest tipus de rellotge requereix l’ús d’una configuració i

una alimentació independents, cosa que necessita la

connexió d’una font d’alimentació alternativa (pila de liti de

3V) i un cristall oscil·lador de 32,768 Hz. Aquest sistema

però, té l’avantatge de conservar la configuració del rellotge

un cop se li desconnecta el corrent elèctric.

Rellotge DS1307

7. Els rajos infrarojos (IR)

Els rajos infrarojos són utilitzats en molts aparells electrònics. En aquests casos,

però, s’acostumen a utilitzar infrarojos d’alta freqüència (38kHz) per tal que no es

confonguin amb els propis de l’ambient. El més conegut d’aquests aparells és

potser el comandament a distància.

7.1. Comandaments a distància

Un comandament a distància no és res més que un aparell capaç d’enviar diferents

tipus de codis infrarojos segons el botó que es premi. Per generar un codi infraroig,

el LED emissor d’infrarojos del comandament s’encén i s’apaga molt de pressa, de

manera que va generant polsos alts i baixos que s’acaben agrupant en una ona

quadrada. Aquesta ona quadrada representa un nombre en binari (0 en baix i 1 en

alt) i pot fer que un microcontrolador, o un altre dispositiu capaç d’interpretar-la,

actuï d’una manera determinada.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

28

Figura 21. Esquema del protocol SIRC

L’estació meteorològica Meteoπ incorporarà un sistema de control infraroig

construït a partir d’un comandament VTR2 i el sensor d’infrarojos IC101, tots dos

de Sony. Es podrà controlar a distància i només mostrarà les dades corresponents a

la tecla polsada.

7.2. El protocol SIRC de Sony

El protocol SIRC (Sony Infra

Red Control) és un sistema

de codificació infraroja, i

com a tal, envia polsos

d’infrarojos seguint uns

certs paràmetres. Utilitza

un espai de temps de

600µs (que es denomina T)

com a fonamental i

transmet tots els bits en múltiples d’aquest espai de temps. La codificació del

protocol SIRC és per tant bastant simple (polsos de T, 2T i 4T) i permet al receptor

identificar clarament els bits d’informació.

Però per entendre una ordre, no només cal saber diferenciar un 1 d’un 0, sinó

també saber la seva posició dins del missatge sencer. En general, en un missatge

transmès amb protocol SIRC, trobem els bits dividits en:

• Senyal inicial + 7 bits (ordre) + 5 (o 8) bits (dispositiu).

L’ordre està col·locada només en 7 bits, i la resta de bits serveixen per diferenciar

els dispositius entre sí, és a dir, perquè no s’encengui també el DVD quan volem

encendre el televisor.

7.2.1. El bit d’inici

És el primer i el que s’encarrega de preparar el receptor perquè comenci a rebre

dades, en aquest cas, la seva longitud és 4T i el senyal és alt.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

29

Figura 22. Emissor C-0503

Figura 23. Receptor C-0504

7.2.2. El bit 1

Per transmetre un bit 1 l’emissor envia un pols alt de longitud 2T i un pols baix

(sense senyal) de longitud T.

7.2.3. El bit 0

Un bit 0 és codificat per mitjà d’un pols alt de longitud T i un pols baix (sense

senyal) també de longitud T.

8. Senyals de ràdio. C-0503 i C-0504

Per a crear una comunicació inalàmbrica entre els

dos mòduls de l’estació meteorològica es van fer

servir ones portadores de ràdio. Per aconseguir-

les, es van acoblar dos mòduls externs, un dels

quals s’encarregava de produir el senyal i l’altre

de rebre’l. El models triats són la parella emissor-

receptor de Cebek C-0503 i C-0504.

L’emissor rep el missatge que es vol enviar, el modula amb una freqüència de 433

MHz i l’envia a través del medi aeri. El receptor

rep i reconeix aquest senyal i el descodifica per

obtenir de nou el missatge original.

Cal dir que es van tenir molts problemes a l’hora

de fer funcionar correctament aquest sistema.

Exceptuant els problemes de programació i com

enviar les dades, que es van resoldre amb una

mica de recerca i experimentació, els problemes principals van ser l’antena i el

soroll.

En primer lloc s’ha de fer servir una antena adequada, i això implica que sigui

llarga (uns 20 cm) i alhora gruixuda. Si no s’utilitza una antena amb aquestes

característiques, els mòduls no s’arriben a comunicar correctament més enllà de

distàncies curtes, almenys en el nostre cas.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

30

Figura 24. Esquema d’un PICAXE 20X2

Com que en general no podia fer servir un tros de cable com a antena, es va decidir

incorporar una antena de les que solen utilitzar els encaminadors (router) WiFi,

que es va poder adaptar al circuit a través d’un connector tipus RP-SMA.

El segon problema era el soroll. Tot i que el receptor assegura tenir alta immunitat

al soroll, el soroll que es detectava i es visualitzava amb l’oscil·loscopi arribava a

nivells molt elevats i era capaç de fer que el PICAXE no pogués reconèixer el senyal

correctament. Després d’unes quantes proves, es va poder solucionar el problema

amb un condensador de 100 nF, que actua com a filtre del senyal rebut.

Mòdul C-0503

Mòdul C-0504

9. Disseny dels circuits

9.1. Distribució de pins

9.1.1. Els pins del PICAXE 20X2

Aquest PIC té 20 pins. Considerant algunes excepcions, podem dividir aquestes

pins en 3 ports diferents.

El port C comprèn els

pins situats entre el 3 i el

10. Aquests pins poden

actuar com a entrades

analògiques, digitals o

totes dues funcions.

El port A està format

exclusivament per el pin 19, anomenat “Serial out”, que permet connectar i

controlar dispositius en sèrie.

El port B el configuren els pins entre l’11 i el 18 i actuen com a sortides digitals, tot

i que la majoria es poden configurar com a entrades analògiques.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

31

Figura 25. Esquema d’un PICAXE 14M

Els pins 13 i 11 ens permeten a més, connectar dispositius per bus I2C, tot i que

aquest sistema no va ser utilitzat en el nostre projecte.

Els pins 1 (V+) i 20 (0V) són necessaris per a la polarització del circuit integrat i els

connectaré a 5 i 0V respectivament. A més, també cal esmentar el pin 2 “Serial in”,

que permet la comunicació d’un dispositiu sèrie amb el controlador.

A l’hora de dissenyar és important saber les funcions de cada pin i on està situat,

per qüestions d’espai. La disposició dels pins va anar canviant a mesura que es van

incloure o treure dispositius.

9.1.2. Els pins del PICAXE 14M

Aquest és un PICAXE de 14 pins. El podem dividir en dos ports, exceptuant els pins

1 (V+), 14 (0V), que van connectats a 5 i 0V respectivament, 2 (“Serial in”) i 13

(“Serial out”). El port A (pins 3 a 7) és utilitzat per les entrades analògiques o

digitals. El port B (8-12) el configuren sortides digitals, amb la possibilitat de

convertir els tres primers pins en entrades analògiques. Aquest PICAXE estarà

configurat de tal manera que pugui aprofitar totes les seves entrades analògiques

(ADC), on s’hi connectaran les sortides de la majoria de sensors.

9.2. Evolució del disseny

Inicialment, l’objectiu del projecte Meteoπ era només construir un circuit capaç de

llegir dades de tres sensors (temperatura, humitat i pressió) i de mostrar aquests

valors en una pantalla LCD. Per fer això preveia l’ús d’un PICAXE 08M.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

32

Aquesta fita, però, es va aconseguir relativament de pressa, i llavors es va pensar

de dissenyar un mecanisme que oferís interactivitat entre l’usuari i l’estació. Aquí

va aparèixer el control per infrarojos.

Posteriorment, es van afegir noves variables amb la construcció de l’anemòmetre,

el penell i també el fotodíode per mesurar la llum. Això va provocar que el nou

PICAXE sigues un 14M, ja que necessitava més entrades analògiques de les que el

PICAXE 08M oferia.

Després es va pensar a intentar dividir l’estació en dos mòduls, i fer que es

comuniquessin inalàmbricament via ràdio, imitant una EMA del servei

meteorològic. Això va comportar l’ús de dos PICAXE, ja que els mòduls havien

d’estar separats. Es va utilitzar un PICAXE 14M per el mòdul emissor, que havia de

mesurar les variables i enviar-les, i un PICAXE 20X2 per el mòdul receptor, que

havia de rebre, tractar, mostrar i controlar el flux de dades. També es va decidir

que es mostrés la hora, incorporant un rellotge de temps real a l’LCD, i fer que

aquest mòdul interior es pogués comunicar amb l’ordinador mitjançant un cable

jack i conseqüentment, fos reprogramable.

Es va arribar a plantejar la possibilitat de mesurar precipitació aquosa i

d’alimentar el mòdul exterior amb energia solar. Tanmateix, per falta de temps, no

es van poder arribar a finalitzar aquestes parts del projecte. Tot i així existeix un

pluviòmetre sense cap dispositiu electrònic, incorporat a l’estació amb una escala

que mesura la precipitació en l/m2 ajustada en funció de l’àrea del pluviòmetre.

En els següents apartats s’exposa el resultat del disseny final. Els dissenys previs

no s’han explicat ja que són essencialment iguals però traient els components nous

i intercanviant el PICAXE. Tots els circuits s’han dissenyat utilitzant el programa

Eagle Layout Editor 5.9.0.

9.3. Diagrames de blocs

Tant els circuits que conformen el mòdul emissor com el mòdul receptor es poden

dividir en diverses plaques. Cadascuna d’aquestes plaques representa un

subcircuit dins del circuit general.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

33

Figura 26. Diagrama de blocs del mòdul receptor

A damunt de cada placa, que s’han construït utilitzant plaques de circuit per soldar

punt a punt, trobem diversos components que es comuniquen entre ells i/o amb

dispositius de les altres plaques.

9.3.1. Distribució del mòdul receptor

El mòdul receptor està composat per cinc plaques diferents. La tensió de 220V que

ens arriba de la xarxa va fins a la placa d’alimentació, que s’encarrega de

transformar-los als 5V que alimentaran tot el circuit. A la placa inicial trobem, a

més, un commutador que ens permet obrir i tancar pas del corrent i un LED que

ens indica la seva posició.

El PICAXE 20X2 es troba situat a la placa base, on és capaç de llegir el senyal dels

sensors de temperatura i pressió situats a la mateixa placa, així com les dades que

rep el receptor de ràdio. També està connectat al receptor d’infrarojos, que és

exterior a la placa base.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

34

Figura 27. Diagrama de blocs del mòdul emissor

Un cop el PICAXE ha recollit les dades que li interessen, les pot enviar cap a la placa

de LCD, on es mostraran per pantalla. El microcontrolador també pot provocar que

l’LCD llegeixi l’hora del rellotge que porta incorporat a través d’un relé.

A la placa de programació s’hi ha inclòs el circuit de programació, a fi que el

programa del PICAXE es pugui modificar fàcilment a través d’un cable jack adient.

9.3.2. Distribució del mòdul emissor

Aquest circuit està basat en quatre plaques. La funció del PICAXE 14M és enviar

per ràdio les dades que recull dels sensors, que trobem situats en tres plaques

diferents. La primera incorpora els sensors de temperatura, humitat i llum. Les

altres dues estan reservades respectivament per l’anemòmetre i el penell, que

ocupen unes plaques separades a causa de la seva mida menys reduïda.

A la placa base trobem el PICAXE, circuits que serveixen per condicionar el senyal

provinent de l’anemòmetre i el fotodíode i també l’emissor de ràdio, que permet al

microcontrolador enviar les dades fins al mòdul receptor.

Tot el conjunt està alimentat per 3 piles d’1.5V cadascuna. Les piles estan

col·locades en un portapiles que s’ha incorporat a la mateixa placa base.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

35

Figura 28. Circuits de la font d’alimentació

9.4. Circuits del mòdul receptor

Es van col·locar els diferents circuits del mòdul receptor dins d’una caixa, per tal de

donar un caràcter més portàtil a l’estació i millorar-ne l’estètica.

9.4.1. La font d’alimentació

Aquest circuit es va construir seguint el mateix tipus de font que es fa servir en les

pràctiques d’electrotècnia de primer de Batxillerat. La idea és construir un circuit

que sigui capaç de transformar els 220V de corrent altern que utilitzem a casa

(recordem que aquesta part s’ha de poder endollar) a 5V de corrent continu.

El corrent continu és aquell que té un valor constant i en el qual les càrregues

elèctriques només flueixen en una direcció (del pol – al pol +). En canvi el corrent

altern té un valor variable que va augmentant fins a un màxim (VMAX), però després

disminueix fins a 0V i proporciona valors negatius fins a –VMAX , oferint un gràfic

sinusoïdal. Essencialment doncs, el corrent altern varia de valor i sentit amb el

temps, cosa que, atenent als dispositius que utilitzem, no interessa que passi.

El component clau per la rectificació del corrent altern és el diode. Aquest aparell

permet la circulació del corrent només en un sentit, amb la qual cosa, podem

aconseguir que el corrent altern no prengui valors negatius (rectificador de mitja

ona).

Si combinem quatre díodes i creem un pont de díodes, es pot aconseguir que el

corrent altern faci el mateix recorregut independentment del sentit que prengui,

amb la qual cosa, sempre hi hauran

mitges ones positives. Si a més, es

connecta la sortida d’aquest pont

amb un condensador, es pot

aconseguir, per efecte de les seves

càrregues i descàrregues que

aquestes mitges ones es redueixin i

quedi un arrissat. Amb un valor de C

gran, el corrent que obtenim és

pràcticament continu.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

36

Figura 29. Esquema de la font d’alimentació

En el nostre circuit, primer trobem un commutador que ens permet triar si volem

engegar l’aparell o no (si no el corrent no circula i res funciona – off).

Després, si seguim el camí del corrent, trobem un fusible de 0.5A, que evita que

circuli una gran intensitat perillosa per alguns components.

Si continuem, veiem que hi ha un transformador. Aquest és un aparell que serveix

per reduir la tensió del corrent altern i que només funciona amb aquest.

Els transformadors més simples consten de dos bobines. El corrent altern circula

per la primera i genera un camp magnètic. Aquest camp magnètic genera, al seu

torn, tensió per inducció electromagnètica a l’altra bobina, que segons les seves

característiques, ens proporcionarà un valor més alt o més baix que el de la tensió

de la primera bobina. En el nostre cas són 9V, ja que interessa tenir una tensió de

corrent continu que es pugui transformar fàcilment a 5V, com ara 9V (no es volen

220V de corrent continu).

Més endavant trobem el pont de díodes rectificador i el condensador, que ens

atorgarà 9V de corrent continu. Tanmateix, el nostre objectiu és aconseguir 5V que

aquests siguin sempre estables, i per aquesta finalitat s’utilitza un regulador. Un

regulador és un dispositiu que limita la tensió a un valor concret i “elimina” el

voltatge sobrant. En el cas del model escollit, un 7805, la tensió es limita a 5V.

El circuit acaba amb un LED que només serveix per indicar quan el circuit està

tancat (circula corrent) i quan no.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

37

Figura 30. Circuits de la placa base (PIC20X)

9.4.2. La placa base (PIC20X)

A la part esquerra del circuit trobem el PICAXE 20X2, el controlador on es

connectaran els diferents elements del circuit. S’ha connectat el pin 1 del PICAXE a

5V i el pin 20 a 0V, tal i com requereix. També s’han unit aquests dos pins per mitjà

d’un condensador, que és

un element de protecció

que evita que el PICAXE es

pugui fer malbé en els

moments d’encesa i

apagada del circuit.

Juntament amb el PICAXE, a

la part esquerra del circuit,

es troben els sensors de

temperatura i pressió.

El sensor de temperatura es connecta a 5V i a 0V. La seva sortida es connecta al pin

5 del PIC (entrada digital) alhora que es porta a V+ a través d’una resistència de

4k7Ω.

El sensor de pressió es connecta a 5V i 0V i la seva sortida va directament a

l’entrada ADC del pin 17 del PIC. Es col·loca aquest sensor aquí i no en el mòdul

exterior perquè aquest últim estarà alimentat per tres piles de 1,5V, és a dir 4,5V

totals, un voltatge al que l’MPX4115AP no pot treballar correctament.

A la part superior del circuit hi ha l’LCD AXE033 configurat en mode sèrie. En

aquesta configuració, LCD només requereix connectar-se a V+ i Gnd i fer servir la

seva entrada per connectar-se directament a una sortida digital del PICAXE.

També es podria connectar al PICAXE el pin de sortida de l’LCD en el cas que es

desitgi una comunicació entre el microcontrolador i l’LCD. Això permetria, per

exemple, fer sonar una alarma a una hora concreta. Com que no és el cas, s’ha

enviat aquesta sortida a massa.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

38

L’LCD incorpora diversos ponts que s’han de connectar o no en funció de

l’alimentació, les funcions i el mode de connexió que es desitgi.

En el nostre cas, s’han unit els ponts RST, que és necessari per al funcionament, i

CLK, que està unit per mitjà d’un relé. Quan s’uneix aquest últim pont, LCD passa a

mode horari per mitjà del rellotge independent que se li ha instal·lat internament i

no rep ordres del PICAXE. Quan es vulgui mostrar l’hora, només s’ha de posar la

sortida del PICAXE en alt, cosa que activarà el relé, tancarà el pont i farà ensenyar

l’hora de LCD. Quan s’obri, la pantalla tornarà a acceptar ordres.

El transistor per el qual passa el corrent abans d’arribar el relé és un element de

protecció i evita que el consum del relé pugui fer malbé el PICAXE.

A la part inferior, trobem el receptor d’infrarojos IC101 que s’encarrega de captar i

transformar aquest tipus de llum en un senyal elèctric. Consta de tres pins, dos

d’ells connectats a Gnd i V+ i l’últim al pin 10 del PICAXE.

Una part fonamental d’aquest circuit l’integra sens dubte el receptor de ràdio.

Aquest consta de 14 pins, però només 7 s’han de connectar per un correcte

funcionament. Així doncs, s’han enviat els pins 1 i 15 a V+ i els 2, 7 i 11 a Gnd. Al

pin 3 s’hi connectarà l’antena, que rebrà el senyal enviat per l’aire i l’enviarà, a

través del pin 14 i un condensador de 100 nF que actua de filtre, fins al pin 7 del

PICAXE.

A la zona dreta es troba incorporat el circuit de programació, que permet canviar el

codi intern del PICAXE a través d’un ordinador connectat a través d’un cable jack.

El connector jack d’aquest circuit connecta el Serial in del PICAXE a través d’una

resistència de 22kΩ fins al pin 4 i a través d’una altre de 10kΩ fins a massa. El pin 1

es connecta al Serial out i el pin 5 directament a massa. Aquestes connexions i la

utilització d’aquestes resistències són necessàries d’acord amb el funcionament

intern del PICAXE i els processos interns que es provoquen durant la descàrrega

d’un programa.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

39

Figura 31. Esquema de la placa base (PIC20X)

A

SENSORS DE TEMPERATURA I PRESSIÓ

LCD

RECEPTOR DE RÀDIO

CIRCUIT DE PROGRAMACIÓ

SENSOR D’INFRAROJOS

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

40

Figura 32. Circuits de la placa base (PIC14M)

9.5. Circuits del mòdul emissor

El mòdul emissor està construït sobre un tub de PVC d’uns 2 m d’altura dotat d’un

suport per aguantar-se. De la part superior del tub surten 3 canonades de coure.

Una de les canonades acaba en el pluviòmetre, i les altres dues en caixes, on s’ha

inclòs el penell i anemòmetre i la placa base i els seus circuits.

9.5.1. La placa base (PIC14M)

Aquesta placa utilitza, com ja sabem, un PICAXE 14M. Aquí trobem connectats cinc

sensors, els de temperatura, humitat, velocitat i direcció del vent i llum, connectats

respectivament a les entrades dels pins 7, 10, 8, 5 i 3 del PICAXE. Els sensors de

temperatura i humitat només requereixen una connexió a V+ i massa a part de la

sortida, de la mateixa manera que l’anemòmetre i el penell.

L’emissor de ràdio el

tenim connectat a la

sortida de el pin 6 del

PICAXE. Anàlogament al

receptor, no és

necessària la connexió

de tots els pins. Els pins

1, 4 i 13 estan

connectats a massa i el

14 a V+. L’antena es

connecta a el pin 11.

A la part esquerra trobem el circuit que s’encarrega de transformar la intensitat

que circula pel fotodíode. Quan el díode rep llum, genera una intensitat que circula

des de l’ànode fins el càtode. El primer operacional és un convertidor corrent –

tensió que té la funció d’amplificar la intensitat que prové del fotodíode seguint la

llei d’Ohm. Si el corrent que surt del díode és I0, el voltatge a la sortida de

l’operacional serà V = I0 · R1. El segon operacional, que incorpora un potenciòmetre

per ajustar el guany, transforma el senyal de voltatge als valors situats entre 0 i 5V

que m’interessen i que pot llegir el PICAXE. La seva sortida es connecta al pin 3.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

41

Figura 33. Esquema de la placa base (PIC14M)

A

FOTODÍODE I CIRCUIT CONVERSOR

EMISSOR DE RÀDIO

SENSORS DE TEMPERATURA HUMITAT DIRECCIÓ I VELOCITAT DEL VENT

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

42

9.5.2. El penell

El disseny del penell és molt simple. La idea inicial era aconseguir un

potenciòmetre sense fi que pogués variar, perquè variaria la resistència, el valor

del voltatge que donava a la seva sortida. D’aquesta manera podria associar cada

valor (o intervals de valors) a una direcció concreta tenint una referència.

Com que no es va poder trobar un potenciòmetre d’aquestes característiques, que

girés en doble sentit i sense fi, per un preu prou econòmic, es va optar per

construir-lo manualment.

Així doncs, es va decidir construir 16 divisors de tensió resistius (un per a cada

punt cardinal) en una placa circular. Aquest sistema consta de dues resistències

connectades en sèrie entre V+ i Gnd. La tensió d’entrada es divideix entre les dues

resistències en funció del seu valor i varia la tensió al punt de sortida, situat enmig

de les dues resistències.

En el nostre cas els parells de resistències estan constituïdes sempre per una de

valor fix de 10kΩ. Utilitzant aquest valor es van calcular, mitjançant la llei d’Ohm, la

resta de valors perquè cada sortida proporcionés, partint de 0V, un valor de 0,25V

més que la sortida anterior, i que, per tant, es poguessin diferenciar clarament a

l’hora de llegir-les amb PICAXE. Això proporciona el sensor una sortida variable

entre 0 i 3,75V.

Per acabar, es van marcar les posicions cardinals a la placa amb uns terminals i es

van unir les sortides de cada divisor de tensió de manera consecutiva a cada

terminal. Al centre de tots ells hi ha un eix, unit al penell, i que és alhora la sortida

del sensor. L’eix porta incorporada una peça metàl·lica que toca el terminal

corresponent a la direcció que indica el penell. Com que l’eix també és metàl·lic,

aquesta part que està connectada a una entrada del PICAXE que llegeix la tensió.

Amb aquest sistema, si el penell apunta al nord, la peça metàl·lica tocarà el

terminal pertinent i la tensió dividida corresponent a aquest punt cardinal

circularà a través de la peça i l’eix fins al PICAXE. Els terminals que no toca la peça

queden com a circuits oberts.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

43

Figura 34. Esquema del penell

A

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

44

Figura 36. Esquema de l’anemòmetre

Figura 35. Optoacoblador

9.5.3. L’anemòmetre

L’anemòmetre té un disseny similar al del penell. L’aparell es situa sobre un eix i a

la part inferior d’aquest eix s’incorpora una petita peça de plàstic.

Aquesta peça passa, cada volta, entre un optoacoblador. Aquest aparell consta

fonamentalment, d’un díode emissor de llum i un de receptor. Quan el segon díode

no pot rebre la llum del primer, l’aparell genera tensió, que en el nostre cas és de

3,5V. La seva connexió és simple, només requereix V+, massa i la sortida.

Es va pensar que amb aquest sistema es generaria

una ona quadrada (quan el plàstic interrompi el

flux de llum) i que el PICAXE podria contar els pics

de l’ona i, amb un tractament matemàtic,

aconseguir la velocitat.

Aquest sistema, en un principi, no va funcionar. Després d’investigar amb

l’oscil·loscopi es va descobrir que el PICAXE manté els pins flotants a 2,5V com a

conseqüència de les seves connexions internes, de manera que la nostra ona no

arribava a un mínim 0V, sinó que oscil·lava entre 3,5 i 2,5V i el PICAXE no la

reconeixia.

Per solucionar aquest problema es va connectar al pin a massa amb una resistència

(0V) i es va incorporar un transistor

NPN connectant la base a la sortida

de l’optoacoblador, el col·lector a V+ i

l’emissor a l’entrada del PICAXE.

Sabem que els transistors NPN

condueixen quan Vb – Ve > 0,7V. Si

l’optoacoblador no genera tensió

(0V) el transistor no conduirà i per

tant, la nostra ona tindrà un valor 0V.

En canvi, si l’optoacoblador genera

tensió, el transistor conduirà i

s’obtindrà un pic d’ona.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

45

10. Fonaments del BASIC

10.1. Labels

Les etiquetes (traducció de l’anglès labels) són marcadors utilitzats durant el

programa. Tenen la finalitat d’ordenar el codi (esdevenint una mena de títols) i de

marcar una posició en la qual el programa podrà saltar posteriorment utilitzant

ordres com goto o gosub.

Les etiquetes poden incloure qualsevol caràcter o dígit i poden formar paraules

que no estiguin prèviament reservades per altres funcions. Han de començar amb

un caràcter i es defineixen a traves de dos punts (:) en la seva posició.

És convencional definir etiquetes a l’esquerra de la pantalla i la resta d’ordres que

s’hi incloguin identificades amb una tabulació.

Exemple:

main: ‘etiqueta definida com main

high 1 ‘posa la sortida 1 en alt

pause 1000 ‘espera 1s

low 1 ‘posa la sortida 1 en baix

pause 1000 ‘espera 1s

goto main ‘bucle (torna a main)

10.2. Comentaris

Els comentaris s’utilitzen per proporcionar informació addicional al programa, per

explicar certs continguts d’una manera més entenedora i, en definitiva, com a

referència per a futures consultes, alienes o no. Tots els comentaris són

completament ignorats per l’ordinador en la descàrrega del programa.

Per inserir un comentari, cal situar-se al final d’una línia de codi i introduir un

apòstrof (‘) o un punt i coma (;). Automàticament es suposa que qualsevol caràcter

que vingui després és part d’un comentari.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

46

10.3. Constants

Les constants són nombres establerts que s’utilitzen durant el programa. El

PICAXE suporta nombres compresos entre el 0 i el 65535, ja que és capaç de

combinar fins a dos bytes en una constant.

Segons com es declarin, les constants poden ser de 4 tipus diferents: decimals,

hexadecimals, binàries i ASCII.

• Les constant decimals s’escriuen directament sense prefix.

• Els nombres hexadecimals han d’anar precedits pel signe del dòlar ($) o

(0x).

• Els nombres binaris es precedeixen amb un percentatge (%).

• Els caràcters ASCII s’inclouen dins de cometes (“n”).

Exemples:

100 ‘100 decimal

$55 ‘55 hex

0x55 ‘55 hex

%110111 ‘110111 binary

“A” ‘“A” ASCII (65)

“Hola” ‘“Hola” - equivalent a “H”,”o”,”l”,”a”

10.4. Variables

La memòria RAM del microcontrolador permet guardar variables necessàries per

al funcionament d’un programa. Aquestes variables es perden quan el circuit es

desconnecta.

10.4.1. Variables generals

En qualsevol microcontrolador PICAXE es poden trobar un mínim de 14 variables

generals de byte. Aquestes variables s’anomenen b0, b1, b2, etc. Les variables de

byte poden emmagatzemar un nombre entre el 0 i el 255 i no poden utilitzar

nombres negatius ni fraccions. A més a més, es desbordaran si es sobrepassa

d’interval [0,255] (ex: 254 + 3 = 1).

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

47

Tot i així, per contenir nombres més grans, es poden combinar dues variables de

byte i obtenir una variable word, que pot emmagatzemar nombres entre 0 i 65535.

Aquestes variables s’escriuen w0, w1, w2, etc. i es construeixen de la següent

manera:

w0 = b1:b0

w1 = b2:b3

També es pot recórrer a les variables de bit, quan només es necessita 1 bit (0 o 1)

per emmagatzemar la informació. Les variables de bit són part d’una variable de

byte:

b0 = bit7: bit6: bit5: bit4: bit3: bit2: bit1: bit0

b1 = bit15: bit14: bit13: bit12: bit11: bit10

Generalment es pot fer servir qualsevol variable word, de byte o de bit en una

operació matemàtica.

10.4.2. Operacions amb variables

Les matemàtiques amb variables poden contenir, com ja hem dit, fins a 16 bits per

variables i resultat, és a dir, nombres des del 0 fins al 65535. Les operacions

s’executen en ordre des de l’esquerra cap a la dreta, sense donar prioritat a

“*”(multiplicació) i “/”(divisió) sobre “+”(suma) i “-“(resta), com acostumen a fer

calculadores i ordinadors. Per tant, 3+4*5 es calcula:

3+4=7

7*5=35

A més, el microcontrolador no suporta decimals ni nombres negatius. S’haurà, per

tant, de reescriure equacions per tal que utilitzin fraccions en lloc de decimals:

let b1 = b2 / 2.7

No és possible, però es pot reescriure com:

let b1 = b2 * 10 / 27

Que és matemàticament igual i vàlid. Les funcions matemàtiques més utilitzades i

disponibles en tots els models PICAXE són les que s’exposen a continuació:

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

48

+ ; suma - ; resta

* ; multiplicació / ; divisió (retorna quocient)

MAX ; limita el valor a un màxim MIN ; limita el valor a un mínim

OR | ; operador lògic “o” AND & ; operador lògic “i”

NOR ; operador lògic “no A o B” NAND ; operador lògic “no A i B”

ORNOT |/ ; operador lògic “A o no B” ANDNOT &/ ; operador lògic “A i no B”

XOR ^ ; operador lògic “no” // % ; mòdul (retorna residu)

Existeixen moltes altres funcions matemàtiques (funcions lògiques, trigonometria,

radicals, potències, inversions, etc.) però són específiques de cada model de

PICAXE i no influeixen en aquest projecte.

10.4.3. Ordres

El llenguatge BASIC inclou ordres molt diverses i amb funcions concretes que

s’utilitzen per donar més flexibilitat als programes i afavorir la seva polivalència.

En els programes de l’estació Meteoπ, només s’ha fet ús d’algunes d’aquestes

ordres. A fi que es puguin entendre els programes, s’han llistat a continuació les

ordres que formen part dels programes utilitzats:

count, debug, goto, high, low, serin, serout, irin,

if...then/elseif...then/else/endif, if...then(goto), let, let dirs,

pause, readadc, readtemp.

Per obtenir més informació d’alguna d’aquestes ordres o d’altres, es pot consultar

l’Annex 2 d’aquest mateix treball o el manual de programació BASIC adjunt.

BASIC Commands

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

49

11. Programa del mòdul emissor

init: pause 500 ‘espera 0.5 s

main:

let dirsc = %00000000 ‘configura entrades ADC

readtemp 0, b0 ‘llegeix la temperatura i guarda-la a b0

readadc 1, b1 ‘llegeix la humitat i guarda-la a b1

readadc 4, b8 ‘llegeix la llum i guarda-la a b8

readadc 3, b5 ‘llegeix la direcció i guarda-la a b5

count 2, 2000, w1 ‘conta polsos en 2s i guarda-ho a w1

pause 100 ‘espera 0.1 s

serout 1, N2400,(0x55, [...], 0x55) ‘envia caràcters “U”

pause 5 ‘espera 0.005 s

serout 1, N2400, ("Data0", b0) ‘envia “Data0” i b0

[...] ‘es repeteix el codi per la resta de variables

serout 1, N2400,(0x55, [...], 0x55) ‘envia caràcters “U”

pause 5 ‘espera 0.005 s

serout 1, N2400, ("Data5", b5) ‘envia “Data5” i b5

goto main ‘Vés a main

Aquest programa primer espera mig segon a través de l’ordre pause 500. Pause

és una ordre que atura el processament durant la quantitat de temps especificada

tot seguit, que ha d’estar en mil·lisegons.

Després trobem la línia let dirsc = %00000000. La variable dirsc configura a

través dels seus bits la funció dels pins del port C d’un PICAXE 14M. Un bit 0

equival a entrada i un bit 1 equival a sortida. En aquest cas estic configurant tots

els pins com a entrades per tal de poder llegir tots els sensors.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

50

L’odre readtemp és una ordre especial que permet aconseguir el valor de la

temperatura directament a través d’un sensor DS18B20 i guardar-lo en una

variable. Així doncs, és molt avantatjosa perquè aquesta variable ja no necessitarà

cap tractament.

Readadc permet llegir el valor del voltatge que arriba a un pin concret i

emmagatzemar-lo en una variable. S’utilitza per llegir les dades que envien els

sensors d’humitat, pressió i el penell.

Per llegir el valor de la velocitat del vent s’utilitza l’ordre count, que permet

comptar el nombre de polsos en un pin d’entrada durant un temps determinant (2

segons en el nostre cas). Aquesta ordre utilitza una variable word, però aquest fet

no suposa cap inconvenient.

Quan el PICAXE ha llegit les dades de tots els sensors les ha d’enviar, però s’ha de

buscar una manera de fer-ho que permeti al receptor saber quina variable està

rebent en cada cas. Per aconseguir-ho, es fa que l’emissor enviï contínuament

caràcters “U” a través de l’ordre serout, que serveix per enviar dades a través d’un

pin (“U” equival a 55 en codi hexadecimal). Els caràcters “U” tenen una doble

funció: serveixen perquè l’emissor i el receptor no perdin contacte i per intentar

reduir el soroll ambiental, ja que “U” és un caràcter poc freqüent.

En moment puntuals i ràpids, l’emissor enviarà la seqüència “Data0”, “Data1”,

“Data2”, etc. seguida de la variable d’una magnitud coneguda. Així doncs, quan el

receptor detecti alguna d’aquestes seqüències, sabrà a quina magnitud pertany la

dada que ve a continuació. Abans d’enviar una seqüència “Data0”, es fa una pausa

de 5 ms per assegurar la transmissió.

L’última línia, goto main, fa que el programa salti fins a main, és a dir que torni a

començar. És el que s’anomena un bucle. D’aquesta manera l’emissor està

contínuament llegint i enviant dades, i el receptor les pot reconèixer parcialment i

quan li interessi i a temps real.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

51

12. Programa del mòdul receptor

El programa del mòdul receptor és considerablement més llarg que el del mòdul

emissor. És per això que s’ha decidit exposar-lo en forma de blocs.

12.1. El bloc Welcome init: pause 500 ‘espera 0.5 s

Welcome:

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("ESTACIO") ‘envia ESTACIO

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("METEOROLOGICA") ‘envia METEOROLOGICA

irin [2500, Showtime], C.0, b13 ‘llegeix infraroig

if b13 = 27 then Showtemp

if b13 = 28 then Showhumi

if b13 = 24 then Showpres

if b13 = 26 then Showlght

if b13 = 90 then Showwind

if b13 = 25 then Showinfo

goto Showtime ‘Vés a Showtime

Aquesta és la part principal del programa. A la primera línia trobem una pausa de

mig segon. Aquesta serveix per esperar que s’iniciï l’LCD, ja que si se li envia

informació abans que s’hagi engegat, aquesta es podria perdre parcialment.

Després es troba la línia serout B.5, N2400, (254,1). Serout és l’ordre que

s’utilitza per enviar informació a través d’un pin, en aquest cas, el connectat a

l’LCD. Per tant, aquesta línia està enviant a l’LCD a través del pin B.5 l’ordre de

control 254,1. Les ordres de control són nombres precedits per la xifra 254 que

serveixen per enviar ordres a l’LCD (ex: mou el cursor a la dreta, esborra línia,

etc.). En aquest cas 254,1 vol dir esborrar la pantalla.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

52

Figura 37. LCD ensenyant ESTACIO METEOROLOGICA

Anàlogament, el programa es situa a la primera línia (254,128), imprimeix

ESTACIO, es situa a la segona línia (254,192) i imprimeix METEOROLOGICA.

A continuació trobem l’ordre irin, que s’utilitza per detectar un codi d’infrarojos

tipus SIRC del comandament Sony VTR2. Si el codi detectat correspon amb algun

dels valors que del comandament de l’estació pot generar, aleshores el programa

ens redirigeix cap a un lloc o un altre en funció d’aquest valor. Això ho aconseguim

mitjançant una bateria de condicionals tipus if...then goto. Aquesta

sentència exposa una condició

després de if i si aquesta es

compleix, el programa salta

cap a l’etiqueta escrita

després de then.

Si ens hi fixem, però, veurem que després de irin trobem [2500, Showtime],

que és un afegit a l’ordre. 2500 és un valor de temps de 2.5 segons i Showtime una

direcció. Significa que si el programa no detecta cap codi infraroig en 2.5 segons,

salti a Showtime. Des d’aquest punt de vista, la línia del final goto Showtime pot

semblar redundant, però està escrita pensant en la possibilitat que el PICAXE

detecti un codi infraroig que no provingui del comandament de l’estació.

12.2. El bloc Showtime Showtime:

high B.7 ‘posa B.7 en alt

pause 200 ‘espera 0.2 s

low B.7 ‘posa B.7 en baix

irin [2500, Welcome], C.0, b13 ‘llegeix infraroig

if b13 = 27 then Showtemp

if b13 = 28 then Showhumi

if b13 = 24 then Showpres

if b13 = 26 then Showlght

if b13 = 90 then Showwind

if b13 = 25 then Showinfo

goto Welcome ‘vés a Welcome

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

53

Figura 38. LCD ensenyant DIA i HORA

High i low són dues ordres que serveixen respectivament perquè el voltatge de

sortida d’un pin sigui igual a la tensió de polarització del PICAXE (V+) o 0V.

Aquesta part del programa, primer posa el pin B.7 en alt, espera 0.2 segons i

després posa el pin B.7 en

baix. El pin B.7 està

connectat a un relé, i quan

aquest s’activa, tanca un pont

incorporat en LCD i fa que

aquest mostri el dia i la hora.

A continuació trobem el mateix fragment de codi que en l’apartat anterior, amb la

peculiaritat que s’han canviat les direccions Showtime per Welcome. El programa

torna a llegir l’infraroig i a esperar 2.5 segons a rebre’l.

Si es combinen els blocs Welcome i Showtime, obtenim un LCD que va alternant els

missatges ESTACIO METEOROLOGICA amb DIA HORA, que s’aconsegueix

mitjançant un relé, cada 2.5 segons aproximadament. A més, aquest codi és capaç

de captar un codi infraroig i actuar en algun dels dos punts de detecció.

12.3. Els blocs Showtemp i Tempneg Showtemp:

serin C.3, N2400, ("Data0"), b0 ‘rep temperatura a b0

readtemp C.5, b6 ‘llegeix la temperatura i guarda-la a b6

if b0 > 127 and b6 > 127 then Tempneg3

if b6 > 127 then Tempneg1

if b0 > 127 then Tempneg2

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("T. INT. ") ‘envia T. INT.

serout B.5, N2400, (#b6) ‘envia el valor de T

serout B.5, N2400, (" ºC") ‘envia ºC

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("T. EXT. ") ‘envia T. EXT.

serout B.5, N2400, (#b0) ‘envia el valor de T

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

54

Figura 39. LCD ensenyant TEMPERATURA

serout B.5, N2400, (" ºC") ‘envia ºC

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

Quan l’usuari polsa el botó de la temperatura, el programa ens porta fins al bloc

Showtemp. Aquest fragment del programa comença rebent les dades enviades pel

mòdul exterior, que emmagatzema a la variable b0 a través de l’ordre serin, i

llegeix la temperatura del sensor DS18B20 del mòdul interior mitjançant l’ordre

readtemp. En funció de si els

valors són o no més grans de

127, el programa ens porta

cap a tres seccions diferents,

que veurem tot seguit.

Si els valors no són més grans de 127, el programa mostra el valor de la

temperatura interior a la línia superior de l’LCD i el valor de la temperatura

exterior a la inferior.

Després s’espera 5 segons, temps suficient perquè l’usuari pugui assimilar les

dades mostrades i retorna a Welcome. A partir d’aquí, el programa entra de nou en

la dinàmica anterior d’alternar els missatges de ESTACIO METEOROLOGICA i DIA

HORA fins que es torna a polsar un botó del comandament.

Tempneg1:

let b6 = b6 – 128 ‘troba el valor de T

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("T. INT. -") ‘envia T. INT. -

serout B.5, N2400, (#b6) ‘envia el valor de T

serout B.5, N2400, (" ºC") ‘envia ºC

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("T. EXT. ") ‘envia T. EXT.

serout B.5, N2400, (#b0) ‘envia el valor de T

serout B.5, N2400, (" ºC") ‘envia ºC

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

55

Tempneg2:

let b0 = b0 – 128 ‘troba el valor de T

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("T. INT. ") ‘envia T. INT.

serout B.5, N2400, (#b6) ‘envia el valor de T

serout B.5, N2400, (" ºC") ‘envia ºC

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("T. EXT. -") ‘envia T. EXT. -

serout B.5, N2400, (#b0) ‘envia el valor de T

serout B.5, N2400, (" ºC") ‘envia ºC

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

Tempneg3:

let b0 = b0 – 128 ‘troba el valor de T

let b6 = b6 – 128 ‘troba el valor de T

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("T. INT. -") ‘envia T. INT. -

serout B.5, N2400, (#b6) ‘envia el valor de T

serout B.5, N2400, (" ºC") ‘envia ºC

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("T. EXT. -") ‘envia T. EXT. -

serout B.5, N2400, (#b0) ‘ envia el valor de T

serout B.5, N2400, (" ºC") ‘envia ºC

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

El sensor de temperatura DS18B20 proporciona una sortida digital d’un byte, és a

dir, de la forma 00000000. El primer d’aquests bits ens indica si la temperatura és

negativa o no. Per tant, les temperatures negatives presenten la forma 10000000 i

porten un corresponent valor de 128 afegit al valor de la temperatura negativa en

el sistema decimal.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

56

És per això que si la temperatura interior, exterior o totes dues són més grans que

127 vol dir que són negatives, i per tant el programa es dirigeix cap als blocs

Tempneg3, Tempneg1 i Tempneg2 utilitzant la bateria de condicionals del bloc

Showtemp.

Essencialment, aquests blocs fan el mateix que Showtemp, amb l’excepció que

resten 128 al valor d’una temperatura negativa per conèixer el seu valor real, el

qual mostren amb un signe “–” al davant perquè l’usuari entengui que es tracta

d’una temperatura negativa. En tots els casos s’espera 5 segons i es retorna a

Welcome.

12.4. El bloc Showhumi Showhumi:

serin C.3, N2400, ("Data1"), b1 ‘rep la humitat a b1

let b10 = b1 - 41 * 100 / 167 ‘transforma el valor en %

let b11 = b1 - 41 * 100 // 167 ‘troba residu

let b11 = b11 * 100 / 167 ‘troba 2 decimals

let b10 = b1 - 41 * 100 / 167 MAX 99 ‘limita el valor a 99

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("HUMITAT REL.") ‘envia HUMITAT REL.

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, (#b10) ‘envia la part entera

serout B.5, N2400, (",") ‘envia “,”

serout B.5, N2400, (#b11) ‘envia la part decimal

serout B.5, N2400, (" %") ‘envia %

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

Aquest fragment s’executa quan s’ha polsat el botó d’humitat. Primerament rep el

valor de la humitat a través de la ràdio i el pin C.3 i l’emmagatzema a b1. A

continuació es realitzen una sèrie d’operacions amb la variable per convertir el

valor de voltatge obtingut a un valor en tant per cent d’humitat relativa, del qual

també es troben decimals obtenint el residu de la divisió amb l’operació // i

tornant a dividir.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

57

Figura 40. LCD ensenyant HUMITAT

Figura 41. LCD ensenyant PRESSIÓ

En acabat es limita la part entera a 99 amb l’ordre MAX 99, ja que en algunes

temperatures baixes havia obtingut valors lleugerament superiors al 100%

d’humitat. Per ser rigorosos s’hauria d’aplicar una correcció del valor d’humitat en

funció de la temperatura, però el nivell de les matemàtiques que es poden manejar

amb un PICAXE és limitat.

En acabat, el programa

mostra el valor de la humitat

a través de l’LCD seguint la

metodologia ja descrita,

s’espera 5 segons i retorna a Welcome.

12.5. El bloc Showpres Showpres:

readadc 2, b7 ‘llegeix la pressió

let b17 = b7 * 195 + 4750 / 450 ‘transforma el valor en kPa

let b16 = b7 * 195 + 4750 // 450 ‘troba residu

let b16 = b16 * 100 / 450 ‘troba 2 decimals

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("PRESSIO ATM.") ‘envia PRESSIO ATM.

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, (#b17) ‘envia la part entera

serout B.5, N2400, (",") ‘envia “,”

serout B.5, N2400, (#b16) ‘envia la part decimal

serout B.5, N2400, (" kPa") ‘envia kPa

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

El sensor de pressió va

incorporat al mòdul interior

per motius de voltatge. Així

doncs, no és necessari rebre

la seva tensió de sortida per

ràdio i es pot utilitzar l’ordre readadc.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

58

Quan es polsa el botó de pressió, i de la mateixa manera que en el cas de la humitat,

el programa opera amb la variable rebuda b7 per obtenir el valor de la pressió en

kPa i trobar-ne 2 xifres decimals.

Després mostra les dades per pantalla, espera 5 segons i retorna a Welcome.

12.6. El bloc Showlght Showlght:

serin C.3, N2400, ("Data2"), b2 ‘rep llum a b2

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("I LLUM ") ‘envia I LLUM

let b20 = b2 * 307 / 1000 ‘transforma el valor en klx

let b21 = b2 * 307 // 1000 ‘troba residu

let b21 = b21 * 10 / 1000 ‘troba 1 decimal

serout B.5, N2400, (#b20) ‘envia la part entera

serout B.5, N2400, (",") ‘envia “,”

serout B.5, N2400, (#b21) ‘envia la part decimal

serout B.5, N2400, (" klx") ‘envia klx

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("R SOL ") ‘envia R SOL

let b14 = b20 * 1000 / 683 ‘transforma el valor de W/m2

let b15 = b20 * 1000 // 683 ‘troba residu

let b15 = b15 * 10 / 683 ‘troba 1 decimal

serout B.5, N2400, (#b14) ‘envia la part entera

serout B.5, N2400, (",") ‘envia “,”

serout B.5, N2400, (#b15) ‘envia la part decimal

serout B.5, N2400, (" W/m2") ‘envia W/m2

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

Aquesta part s’executa quan es polsa el botó de llum. Primerament, el programa

rep el valor de voltatge del fotodíode a la variable b2. Aquesta variable s’aprofita

per calcular el valor de la intensitat lluminosa (klx), on el factor de conversió

aplicat és totalment experimental i s’ha calculat contrastant amb un luxímetre real.

Després s’ha intentat convertir el valor de la intensitat lluminosa a radiació.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

59

Figura 42. LCD ensenyant LLUM

La conversió és en realitat del tot impossible perquè el fotodíode és sensible a ones

lluminoses de diferents longituds d’ona (UV, llum visible i IR) i cadascuna transmet

una radiació diferent. No s’ha pogut saber quina proporció de cada tipus d’ona hi

ha en cada moment, i per tant,

es suposa que totes vénen en

igual mesura i s’aplica la

conversió a partir de la

radiació de la llum verda. Es

troben les xifres decimals de cada magnitud amb el procediment ja conegut.

Un cop fet això, el programa mostra el valor de la intensitat lluminosa a la fila

superior de l’LCD i la radiació solar a la fila inferior. Després espera 5 segons i

retorna a Welcome.

12.7. El bloc Showwind Showwind:

serin C.3, N2400, ("Data4"), b4 ‘rep el valor de v

serin C.3, N2400, ("Data5"), b5 ‘rep el valor de direcció

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("V VENT ") ‘envia V VENT

let b18 = 8970 * b4 / 10000 ‘transforma en m/s

let b19 = 8970 * b4 // 10000 ‘troba residu

let b19 = b19 * 10 / 10000 ‘troba 1 decimal

serout B.5, N2400, (#b18) ‘envia part entera

serout B.5, N2400, (",") ‘envia “,”

serout B.5, N2400, (#b19) ‘envia part decimal

serout B.5, N2400, (" m/s") ‘envia m/s

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("DIR. VENT ") ‘envia DIR. VENT

if b5 < 10 then N

if b5 > 10 and b5 < 25 then NNW

if b5 > 25 and b5 < 40 then NW

if b5 > 40 and b5 < 50 then WNW

if b5 > 50 and b5 < 60 then W

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

60

Figura 43. LCD ensenyant VENT

if b5 > 60 and b5 < 75 then WSW

if b5 > 75 and b5 < 90 then SW

if b5 > 90 and b5 < 105 then SSW

if b5 > 105 and b5 < 120 then S

if b5 > 120 and b5 < 130 then SSE

if b5 > 130 and b5 < 150 then SE

if b5 > 150 and b5 < 170 then ESE

if b5 > 170 and b5 < 180 then E

if b5 > 180 and b5 < 190 then ENE

if b5 > 190 and b5 < 205 then NE

if b5 > 205 then NNE

N:

serout B.5, N2400, ("N") ‘envia N

goto Redirect ‘vés de Redirect

[...] ‘es repeteix el codi per la resta de direccions

NNW:

serout B.5, N2400, ("NNW") ‘envia NNW

goto Redirect ‘vés a Redirect

Redirect:

pause 5000 ‘espera 5 s

goto Welcome ‘vés a Welcome

El programa rep del mòdul emissor els valors de voltatge corresponents a les

variables de velocitat i

direcció del vent quan es polsa

el botó vent.

La velocitat del vent es pot

‘convertir fàcilment a m/s

combinant les lleis físiques del moviment circular amb les consideracions

pertinents de diferència de fregament entre la cara convexa i còncava de la

cassoleta amb l’aire. La velocitat del vent resultant es mostra a la línia superior de

l’LCD.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

61

Figura 44. LCD ensenyant INFO

Per tal de trobar quina és la direcció correcta, es van provar i anotar quins valors

donaven els terminals del penell i, a partir d’aquestes dades, es va poder elaborar

una bateria de condicionals if...then goto que comparen aquests valors

amb els de la variable rebuda.

Quan s’ha detectat quina és la posició correcta, el programa salta cap a un bloc que

envia aquesta direcció a l’LCD i la mostra a la línia inferior. Al final de cada bloc de

direcció hi ha un altre salt a Redirect, on el programa espera 5 segons i retorna a

Welcome.

12.8. El bloc Showinfo Showinfo:

serout B.5, N2400, (254,1) ‘esborra LCD

serout B.5, N2400, (254,128) ‘situa’t a la primera línia

serout B.5, N2400, ("Projecte per:") ‘envia Projecte per:

serout B.5, N2400, (254,192) ‘situa’t a la segona línia

serout B.5, N2400, ("J. Gines Ametlle") ‘envia el meu nom

pause 5000 ‘espera 5 segons

goto Welcome ‘vés a Welcome

Si es polsa el botó Info, el programa salta a Showinfo. Aquí la única cosa que fa és

ensenyar el nom de l’autor

per pantalla, amb el mateix

procediment que s’ha descrit

al llarg de tot el programa.

Espera 5 segons i torna a

Welcome.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

62

13. Conclusió

El primer que vull dir és que estic enormement satisfet amb el resultat d’aquest

treball de recerca, que ha arribat a aconseguir allò que m’havia proposat en el seu

inici i a superar-ho amb escreix. Tot i així, també cal fer autocrítica i dir que

l’estació meteorològica que resulta del meu treball té encara molts aspectes per

polir, sobretot pel que fa als programes utilitzats i a les calibracions d’alguns

sensors, i s’haurien de realitzar moltes més proves abans de considerar aquest

projecte com a definitivament acabat.

Em va resultar força difícil trobar informació i fer-me a la idea de com muntar

aquest projecte. El meu tutor va ser qui em va donar un fil per estirar quan em va

presentar els microcontroladors PICAXE. Vaig començar una difícil recerca de

sensors per mesurar cada variable, en la qual em va costar decidir els millors, i a

“jugar” una mica amb el llenguatge de programació BASIC. A partir d’aquí vaig

anar pensant com s’havien de fer els circuits i la programació per tal d’aïllar el

resultat de cada variable, mostrar dades per pantalla, enviar dades per ràdio i la

resta de funcionalitats de l’estació, fent forces proves bàsiques per comprovar el

funcionament de cada component o buscar-ne una connexió apropiada.

He intentat que aquest prototip sigui una eina eficaç, domèstica, còmode i

interactiva per qui la volgués utilitzar, i és evident que algú altre amb més recursos

i temps hagués pogut construir un aparell més eficient, precís i que ocupés menys

espai que el meu. Valorant, però, les limitacions que té aquest projecte en tractar-

se d’un treball de recerca, i tot i les pegues encara pugui tenir, el resultat és força

bo en aquest sentit.

Tant disseny com la construcció de l’estació Meteoπ han estat molt gratificants per

a mi i m’han aportat una manera nova d’abordar els problemes així com un major

grau d’autonomia a l’hora de treballar. Per a mi, aquest treball ha estat molt més

que això i ha constituït una gran font d’eines i coneixements; i és que, si alguna

cosa ha estat constant durant el procés, són els errors i el mal funcionament. Que jo

recordi, no hi ha hagut cap circuit que hagi muntat i hagi funcionat al primer intent.

És cert que això em deprimia una mica, però també m’engrescava a buscar el

problema i la seva solució.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

63

Figura 45. Mòdul receptor acabat

Figura 46. Mòdul emissor acabat

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

64

14. Bibliografia

ORTS, Jordi; Microcontroladors PICAXE: Electrònica didàctica al segle XXI. 1a ed.

Barcelona: 2007. [Llibre on s’analitzen diversos aspectes relacionats amb els

microcontroladors tipus PICAXE].

ARAGUZ, Carles. Estació meteorològica controlada per un PICAXE. IES Príncep de

Viana. Barcelona: 2006. [Treball de recerca].

DE GUINEA, Núria. Estació meteorològica controlada per ordinador. IES Príncep de

Viana. Barcelona: 2002. [Treball de recerca].

FÉRNANDEZ, Adriana. Telemetria amb PICAXE. IES Príncep de Viana. Barcelona

2010. [Treball de recerca].

TAMAÑO, Mark. Controlador de temperatura amb PICAXE. IES Príncep de Viana.

Barcelona: 2005. [Treball de recerca].

TORREGROSA SAURET, Ivan. Disseny d’una estació meteorològica remota. UPC.

Enginyeria electrònica. Vilanova i la Geltrú: 2008. [Projecte fi de carrera].

XUCLÀ, Ignasi. Estació meteorologica controlada per ordinador II. Ampliació i

modificació: sensors de pressió i sensors eòlics. IES Príncep de Viana. Barcelona:

2003. [Treball de recerca].

RAKO, Paul. National Semiconductor. Photodiode Amplifiers. Changing Light to

Electricity. 2004. [Presentació explicativa on s’exposen els problemes dels

fotodíodes i les seves solucions].

D.D.A.A. WIND SPEED MEASUREMENT AND USE OF CUP ANEMOMETRY. 1999.

[Article on s’analitza el comportament físic de diversos instruments de mesura en

relació amb l’aire].

Revolution Education Ltd. AXE033 SERIAL/I2C LCD & CLOCK. [Full de

característiques de l’LCD AXE033].

Vishay Telefunken. Photo Modules for PCM Remote Control Systems. 2000. [Full de

característiques de la sèrie de sensors infrarojos TSOP18].

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

65

Cebek. EMISOR SAW PARA DATOS - 433,92MHz. C-0503. [Full de característiques

del mòdul emissor de ràdio C-0503]

Cebek. RECEPTOR PARA DATOS - 433,92MHz. C-0504. [Full de característiques del

mòdul receptor de ràdio C-0504].

Dallas Semiconductor. DS1307 64 X 8 Serial Real Time Clock. [Full de

característiques del rellotge en temps real DS1307].

Siemens. Silicon Photodiode for the visible spectral range BPW21. 1999. [Full de

característiques del fotodíode BPW21].

Vishay Semiconductors. Silicon PIN Photodiode BPW34. 1999. [Full de

característiques del fotodíode BPW34].

NEC. BIPOLAR ANALOG INTEGRATED CIRCUIT μPC358. 1997. [Full de

característiques de l’operacional LM358].

Freescale Semiconductor. Media Resistant, Integrated Silicon Pressure Sensor for

Manifold Absolute Pressure, Altimeter or Barometer Applications On-Chip Signal

Conditioned, Temperature Compensated and Calibrated. 2009. [Full de

característiques del sensor de pressió MPX4115].

Dallas Semiconductor. DS18B20. Programmable Resolution 1-Wire® Digital

Thermometer. [Full de característiques del sensor de temperatura DS18B20].

National Semiconductor. LM35 Precision Centigrade Temperature Sensors. 2000.

[Full de característiques del sensor LM35].

Honeywell. Reference and application data. Temperature Sensors TD series. [Full de

característiques dels sensor de temperatura de la sèrie TD].

Sensiron. Datasheet SHT1x (SHT10, SHT11, SHT15) Humidity and Temperature

Sensor. 2010. [Full de característiques del sensor d’humitat SHT1x].

Honeywell. HIH-4000-001. [Full de característiques del sensor d’humitat HIH-4000-001].

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

66

Honeywell. Humidity Sensor HIH-3600 Series. [Full de característiques dels sensors

de la sèrie HIH-3600 (antiga versió dels sensors de la sèrie HIH-4000)].

Humirel. RELATIVE HUMIDITY SENSOR HS 1100 / HS 1101. 2002. [Full de

característiques dels sensors d’umitat HS1100 i HS1101].

Motorola. Plastic medium-power complementary silicon transistors. 1995. [Full de

característiques del transistor TIP120].

Revolution Education. Última revisió: 28 / 12 / 2010.

http://www.rev-ed.co.uk/picaxe/.

[Pàgina web del fabricant dels microcontroladors PICAXE].

Revolution Education. PICAXE MANUAL Section 1. Última revisió: 28 / 12 / 2010.

http://www.rev-ed.co.uk/docs/picaxe_manual1.pdf.

[Primera part del manual del PICAXE distribuït pel fabricant].

Revolution Education. PICAXE MANUAL Section 2. Última revisió: 28 / 12 / 2010.

http://www.rev- ed.co.uk/docs/picaxe_manual2.pdf.

[Segona part del manual del PICAXE distribuït pel fabricant].

Revolution Education. PICAXE MANUAL Section 3. Última revisió: 28 / 12 / 2010.

http://www.rev- ed.co.uk/docs/picaxe_manual3.pdf.

[Tercera part del manual del PICAXE distribuït pel fabricant].

Tech supplies. The online PICAXE and technology store. Última revisió: 28 / 12 /

2010.

http://www.techsupplies.co.uk/PICAXE.

[Botiga online on es poden encarregar microcontroladors PICAXE i productes

relacionats].

Fuentes de alimentación. Última revisió: 28 / 12 / 2010.

http://www.electronicafacil.net/tutoriales/Fuentes-alimentacion.php.

[Lloc web on es dóna informació sobre el funcionament de les fonts d’alimentació].

I2C BUS – WHAT’S THAT?. Última revisió: 28 / 12 / 2010.

http://www.i2c-bus.org/i2c-bus/.

[Lloc web on es dóna informació sobre el funcionament del bus i2c].

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

67

Denjhox. Decodificando el infrarojo : SIRC. Última revisió: 28 / 12 / 2010.

http://libertadelectronica.wordpress.com/2009/12/03/decodificando-el-

infrarrojo-sirc/.

[Lloc web on es dona informació sobre el funcionament del protocol SIRC].

Sony IR. Última revisió: 28 / 12 / 2010.

http://benryves.com/products/sonyir/#hardware_protocol.

[Lloc web amb informació sobre el protocol d’infrarojos SIRC].

Sony SIRC Protocol. Última revisió: 28 / 12 / 2010.

http://www.sbprojects.com/knowledge/ir/sirc.htm.

[Lloc web amb informació sobre el protocol d’infrarojos SIRC].

How SONY’s SIRCS/CTRL-S protocol works. Última revisió: 28 / 12 / 2010.

http://www.boehmel.de/sircs.htm.

[Lloc web amb els codis SIRC de totes les funcions dels aparells de Sony].

Actividad: Veleta. Última revisió: 28 / 12 / 2010.

http://usuarios.multimania.es/atlastecnologia/Equilibrio%20dis%20veleta.htm.

[Lloc web amb informació de com construir un penell].

PICAXE interfacing with SPI devices. Última revisió: 28 / 12 / 2010.

http://www.phanderson.com/picaxe/spi.html.

[Lloc web on es descriu la interacció de microcontroladors PIC i PICAXE amb

diversos sensors].

Light Sensors. Última revisió: 28 / 12 / 2010.

http://www.electronics-tutorials.ws/io/io_4.html.

[Lloc web on es descriu el funcionament de diversos sensors de llum].

ASENSIO MORCILLO, Luis Javier; HIDALGO PUERTAS, Félix; MARTÍN CUENCA,

Eugenio. Intensidad luminosa. Última revisió: 10 / 1 / 2010.

http://www.fisiologia-

animal.es/publicaciones/PublicacionesLibro6Articulo06.pdf.

[Article on es descriu com muntar un circuit conversor intensitat – tensió amb un

fotodíode així com el seu funcionament].

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

68

Magnitudes y unidades de medida. Última revisió: 28 / 12 / 2010.

http://edison.upc.edu/curs/llum/fotometria/magnitud.html.

[Lloc web on s’analitzen diverses magnituds fotomètriques].

Anònim. 2002. Última revisió: 28 / 12 / 2010.

www.fing.edu.uy/if/cursos/intr_optica/Material/lux_wikipedia.pdf.

[Lloc web amb informació sobre fotometria].

Estació meteorològica amb PIC. Última revisió: 28 / 12 / 2010.

http://www.qsl.net/ea3cno/meteo.htm.

[Lloc web on s’explica com construir una estació meteorològica amb un PIC].

Wheaterstation. Última revisió: 28 / 12 / 2010.

http://www.inthelight.co.nz/techo/weatherstation.htm.

[Lloc web on es descriu el muntatge d’una estació meteorològica estructurada en

mòduls emissor i receptor].

Servei Meteorològic de Catalunya. Última revisió: 10 / 1 / 2010.

http://www.meteo.cat/servmet/index.html.

[Lloc web principal del Servei Meteorològic de Catalunya on es pot obtenir

informació sobre la Xarxa d’Estacions Meteorològiques, la localització de les

estacions, consultar dades de les EMA, accedir a les previsions meteorològiques,

etc.].

Datasheet Catalog. Última revisió: 10 / 1 / 2010.

http://www.datasheetcatalog.net.

[Lloc web que ens facilita l’obtenció de fulls de característiques (datasheets) de

molts fabricants].

Cadsoft online. Última revisió: 10 / 1 / 2010.

http://www.cadsoft.de.

[Lloc web del fabricant del programa Eagle Layout Editor i on s’hi pot trobar

informació sobre el mateix programa, descarregar llibreries, etc.].

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

69

Joan Ginés Ametllé

Barcelona. Gener del 2011

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

70

ANNEX 1. Calibració dels sensors

Sensor de temperatura DS18B20

El sensor de temperatura no precisa cap calibració, ja que el mateix PICAXE és

capaç d’extreure el valor de la temperatura a partir de la sortida digital del sensor.

Això ho aconseguim, com ja hem dit, a través de l’ordre readtemp.

Sensor d’humitat HIH-4000-001

En la imatge veiem un gràfic de la

resposta del sensor HIH-4000-001 a

diferents temperatures. Quan s’utilitza

un PICAXE, el voltatge de sortida del

sensor és mesurat per el

microcontrolador i emmagatzemat en

una variable d’un byte (p.e. b1). Dins la

variable, el valor es tradueix com un

nombre entre 0 i 255. Cada pas analògic

és 5V/256 = 0.0195V (assumint una

tensió d’alimentació regulada a 5V).

El gràfic del fabricant mostra una

sortida mínima de 0.8V i, si s’agafa la

recta de resposta a 0°C, tindrem un voltatge de sortida màxim de 4.07V.

Si es transformen els voltatges de sortida mínim i màxim, obtenim respectivament

que:

𝑉0 = 0.85

256

= 40.96 ≈ 41

𝑉𝑀𝐴𝑋 = 4.07

5256

= 208.38 ≈ 208

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

71

Sabem que una funció lineal presenta la forma 𝑦 = 𝑚𝑥 + 𝑛, que en aquest cas

podríem expressar com 𝑉𝑑𝑐 = 𝑚𝑅𝐻 + 𝑛. Si s’aïlla la humitat d’aquesta equació:

𝑅𝐻 = 𝐴𝐷𝐶 − 𝑛

𝑚

Coneixem el valor de 𝑛, que és el punt de tall amb l’eix d’ordenades i correspon a

41. Així doncs, només cal imposar que la recta passi per un punt conegut per

obtenir una fórmula de conversió.

𝑅𝐻 = 𝐴𝐷𝐶 − 41

𝑚 → 𝑃 (100, 208)

100 = 208 − 41

𝑚 → 𝑚 =

208 − 41100

= 1.67

Ara només ens resta transformar l’equació perquè la pugui entendre el nostre

PICAXE:

𝑅𝐻 = 𝐴𝐷𝐶 − 41

1.67 → 𝑅𝐻 =

(𝐴𝐷𝐶 − 41) · 100167

Sensor pressió MPX4115-AP

En aquest cas, el

mateix fabricant ja ens

proporciona la funció

de conversió. Aquesta

està calibrada a 5.1V,

però com que l’error

que es comet en

relació a 5V després

d’operar és molt petit,

es podrà fer servir.

𝑉0 = 5 (0.009𝑃 − 0.095)

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

72

Primer s’ha d’adaptar la sortida del sensor a les unitats de mesura del PICAXE:

𝑉0 = 5 · (0.009𝑃 − 0.095)

𝑉0 = 5 · 𝐴𝐷𝐶

256

→ 5 · 𝐴𝐷𝐶

256= 5 · (0.009𝑃 − 0.095)

I ja només resta operar per aïllar la pressió i expressar la fórmula de conversió de

manera que la pugui interpretar el PICAXE:

5 · 𝐴𝐷𝐶256

= 5 · (0.009 · 𝑃 − 0.095) → 5 · 𝐴𝐷𝐶

256= 0.045 · 𝑃 − 0.475

195 · 𝐴𝐷𝐶 = 450 · 𝑃 − 4750 → 𝑃 = 195 · 𝐴𝐷𝐶 + 4750

450

Sensor de llum BPW34

Per calibrar el fotodíode es van tenir certes dificultats. Els

valors de sortida del fotodíode són molt petits, i per tant,

l’error relatiu de la mesura augmenta fent servir un PICAXE

i passant a través dels operacionals.

Era difícil obtenir una fórmula que relacionés la sortida del

fotodíode amb la iluminància, ja que s’havien d’incloure en

els càlculs les transformacions dels operacionals i al final

s’obtenia un error molt gran.

Així doncs, es va optar per utilitzar un luxímetre fiable per

fer mesures de llum en un punt concret i anotar la sortida

que el PICAXE llegia del fotodíode. D’aquesta manera es

poden establir parelles de valors i a partir d’aquí, esbrinar

una relació lineal que relacionés les dues magnituds. Es van

obtenir els resultats que mostra la taula.

Es pot observar que els errors que es cometen són grans, i

que per tant, la resposta del sensor no és gaire acurada (o el

PICAXE no la pot apreciar del tot). Així doncs, les mesures

de la iluminància i la radiància no seran fiables, sinó simplement orientatives

respecte la llum que hi ha realment (poden servir, per exemple, per saber en quin

moment del dia ens trobem).

ADC Klux 39 9 15 3 23 4.2 49 5 114 25 35 5 21 2.6 31 5.2 24 4.4 12 2.5 2 0.34 3 0.75 3 0.52 4 1.35 20 3.4 184 73 49 10 20 2.3 27 5.7 35 7.5 31 6.6 34 8.8

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

73

Si es representen els resultats en una gràfica obtenim el següent:

En la gràfica es veu que la dispersió de punts segueix més o menys una funció

lineal. En els dos últims punts, però, es veu d’una manera molt gràfica la imprecisió

de la nostra mesura a mesura amb valors molt grans.

Si es traça una recta de regressió lineal i s’imposa que aquesta passi per l’origen de

coordenades 𝑂 (0,0), obtenim una recta amb l’equació 𝑦 = 0.3068𝑥, que serà la

funció de transferència que es farà servir. S’ha d’adaptar abans, però, al PICAXE.

𝑘𝑙𝑢𝑥 = 𝐴𝐷𝐶 · 0.3068 → 𝑘𝑙𝑢𝑥 =3068 · 𝐴𝐷𝐶

10000

Que es pot aproximar poc rigorosament a:

𝑘𝑙𝑢𝑥 = 307 · 𝐴𝐷𝐶

1000

Calcular la radiància a partir de la iluminància és difícil, ja que la composició

espectral de la llum que incideix en el fotodíode és desconeguda i cada longitud

d’ona té un valor de radiació concret. La longitud d’ona que produeix més lux per

W/m2 és la verda, que arriba a nivells de 683 lux per W/m2.

y = 0,3068x

0

10

20

30

40

50

60

70

80

0 50 100 150 200

Ilum

inàn

cia

(klu

x)

ADC

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

74

De moment, aquesta serà la conversió que s’aplicarà, però cal tenir en compte que

això ens proporcionarà un valor major que el real, ja que no tota la llum de

l’espectre té la mateixa eficiència lluminosa que el verd. Per tant:

𝑊𝑚2 =

1000 · 𝑘𝑙𝑢𝑥683

Anemòmetre

Per saber la velocitat del vent que incideix en l’anemòmetre i el fa girar s’hauran de

fer servir les lleis físiques del moviment circular.

En primer lloc, ja que sabem les voltes 𝑠 que dóna l’anemòmetre en 2 segons

(perquè s’ha programat el PICAXE perquè conti el nombre de polsos en aquests 2

segons) podem calcular la freqüència 𝑓 i la freqüència angular 𝜔 del moviment.

𝑓 = 𝑠2

𝐻𝑧

𝜔 = 2 · 𝜋 · 𝑓 = 𝜋 · 𝑠 𝑟𝑎𝑑/𝑠

Suposant que aquest moviment estigués lliure de fregament, la velocitat de gir

seria igual a la velocitat del vent 𝑣:

𝑣 = 𝜔𝑟 → 𝑣 = 𝜋 · 𝑠 · 𝑟

On 𝑟 és el radi de l’anemòmetre, que hem mesurat i prenem com 𝑟 = 0.086 𝑚. Per

tant

𝑣 = 0.086 · 𝜋 · 𝑠

Tanmateix, aquesta expressió no té en compte les forces de fregament entre l’aire i

l’anemòmetre.

La resistència aerodinàmica de l’anemòmetre 𝑀𝐴, ve donada per l’expressió:

𝑀𝐴 = 12𝑟𝜌𝐴𝐶𝑑𝑣 · (𝑣 − 𝑟𝜔)2 −

12𝑟𝜌𝐴𝐶𝑑𝑥 · (𝑣 − 𝑟𝜔)2

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

75

En aquesta fórmula, 𝐴 és l’àrea frontal de l’anemòmetre, 𝜌 és la densitat de l’aire i

𝐶𝑑𝑣 i 𝐶𝑑𝑥 són els coeficients de fregament per les cares còncava i convexa de les

cassoletes.

En la fase inicial no hi ha resistència aerodinàmica (𝑀𝐴 = 0), i per tant, l’equació

queda reduïda en:

𝐶𝑑𝑣 · (𝑣 − 𝑟𝜔)2 = 𝐶𝑑𝑥 · (𝑣 − 𝑟𝜔)2

Si definim el coeficient total de velocitat λ i el coeficient total de fregament 𝜇 com a:

λ = 𝑟𝜔𝑣

𝜇 = 𝐶𝑑𝑣𝐶𝑑𝑣

Podem expressar l’equació en forma quadràtica de la següent manera:

λ = 𝜇 + 1𝜇 − 1

− 𝜇 + 1𝜇 − 1

2

− 1

Uns valors típics de 𝐶𝑑𝑣 i 𝐶𝑑𝑥 són 1.4 i 0.4 respectivament. Si substituïm, obtenim:

𝜇 = 1.40.4

= 3.5

λ = 3.5 + 13.5 − 1

− 3.5 + 13.5 − 1

2

− 1 = 0.3033

I per tant, es preveu que la velocitat de gir de l’anemòmetre serà igual a

aproximadament un terç de la velocitat real del vent. La velocitat real del vent serà

per tant:

𝑣 = 𝑟𝜔λ

= 0.086 · 𝜋 · 𝑠

0.3033= 0.89079 · 𝑠

I si s’adapta aquest valor a les matemàtiques del PICAXE, obtenim la relació:

𝑣 = 8908 · 𝑠10000

→ 𝑣 = 891 · 𝑠1000

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

76

Penell

Per saber els valors de sortida de cada divisor de tensió, es va dissenyar un

programa tal que el PICAXE mesures la tensió d’un pin d’entrada i l’ensenyés per

l’LCD. Connectant aquest pin d’entrada a cada divisor es va poder obtenir el seu

valor analògic. És cert que es disposava de valors teòrics, però aquests s’havien vist

alterats perquè es van utilitzar resistències de valor aproximat a les calculades per

fer salts de 0.25V i perquè les mesures del PICAXE divergeixen una mica dels

càlculs teòrics. Els valors obtinguts van ser els següents (els valors ADC són els

mesurats pel PICAXE i es tracta d’una aproximació al valor real, ja que van canviant

constantment).

Direcció R1 (Ω) R2 (Ω) Voltatge (V) ADC

N 10k 68 0.01 0

NNW 10k 600 0.24 12

NW 10k 1k2 0.49 32

WNW 10k 2k 0.74 44

W 10k 2k8 0.96 56

WSW 10k 3k8 1.18 68

SW 10k 4k8 1.43 79

SSW 10k 6k5 1.64 100

S 10k 8k 1.94 113

SSE 10k 10k 2.25 126

SE 10k 13k 2.38 137

ESE 10k 16k 2.89 162

E 10k 20k 3.1 174

ENE 10k 26k 3.28 185

NE 10k 33k 3.43 194

NNE 10k 48k 3.71 212

A partir d’aquests valors es poden establir intervals de valors que ens indicaran la

direcció corresponent.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

77

ANNEX 2. Ordres del BASIC

Count

SINTAXI: COUNT pin, period, wordvariable

- Pin és una variable/constant (0-7) que especifica el pin d’entrada a utilitzar.

- Period és una variable/constant (1-65535) que especifica el temps.

- Wordvariable rep el resultat (0-65535) i l’emmagatzema en una variable word.

FUNCIÓ:

Comptar el nombre de polsos en un pin d’entrada.

INFORMACIÓ:

L’ordre revisa l’estat del pin especificat i conta el nombre de transicions des de 0V

fins a V+ en el temps establert com a period. Necessita utilitzar una variable word.

La seva precisió depèn de la freqüència a la que treballi el microcontrolador, però

en general es poden llegir freqüències des de 0 fins a 25 kHz. Els integrats més

potents arriben als 100 kHz.

EXEMPLE: main:

count 1, 5000, w1 ‘conta els polsos en 1 durant 5 segons

debug w1 ‘ensenya el valor w1

goto main ‘vés a main

Debug

SINTAXI: DEBUG var

- Var és una variable opcional (exemple: b1).En general no cal utilitzar-la.

FUNCIÓ:

Ensenyar per pantalla cada variable i el seu valor en la finestra Debug.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

78

INFORMACIÓ:

L’ordre debug actualitza el valor de totes les variables a través del cable de

descàrrega a la pantalla de l’ordinador.

EXEMPLE: main:

let b1 = b1 + 1 ‘incrementa el valor de b1

readadc 2,b2 ‘llegeix el valor analògic

debug b1 ‘ensenya el valor per pantalla

pause 500 ‘espera 0.5 segons

goto main ‘vés a main

Goto

SINTAXI: GOTO address

- Address és un etiqueta que especifica a on anar.

FUNCIÓ:

Fer saltar el programa cap a una nova secció, determinada per una etiqueta, de

manera permanent.

INFORMACIÓ:

Aquesta odre és utilitzada força en el nostre codi de programació, tot i que no és

del tot rigorosa, ja que trenca el flux del programa i el fa difícil de seguir. La

manera correcte d’aconseguir aquest el seu mateix afecte seria intercalant diversos

bucles com while, for, etc. Tot i així, es pot fer servir si es vol una estructura més

simple.

EXEMPLE: main:

high 1 ‘posa la sortida 1 en alt

pause 1000 ‘espera 1 segon

low 1 ‘posa la sortida 1 en baix

pause 1000 ‘espera 1 segon

goto main ‘vés a main

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

79

High

SINTAXI: HIGH pin ,pin,pin...

- Pin és la variable/constant (0-7) que indica el pin I/O a utilitzar. Es poden

utilitzar en la mateixa ordre tants pins es vulgui.

FUNCIÓ:

Posar la sortida del pin especificat en alt. Per tant, el voltatge de sortida del pin

serà igual al d’alimentació del microcontrolador (V+).

EXEMPLE: main:

high 1 ‘posa la sortida 1 en alt

pause 5000 ‘espera 5 segons

low 1 ‘posa la sortida 1 en baix

pause 5000 ‘espera 5 segons

goto main ‘vés a main

Low

SINTAXI: LOW pin ,pin,pin...

- Pin és la variable/constant (0-7) que indica el pin I/O a utilitzar. De la mateixa

manera que amb l’odre high, es poden utilitzar tants pins com es vulgui dins la

mateixa ordre.

FUNCIÓ:

Tancar una sortida, és a dir posar-la a baix. El voltatge de sortida serà igual a 0V.

EXEMPLE: main:

high 1 ‘posa la sortida 1 en alt

pause 5000 ‘espera 5 segons

low 1 ‘posa la sortida 1 en baix

pause 5000 ‘espera 5 segons

goto main ‘vés a main

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

80

Serin

SINTAXI: SERIN pin,baudmode,(qualifier,qualifier...)

SERIN pin,baudmode,(qualifier,qualifier...),#var,#var...

SERIN pin,baudmode,#var,#var...

- Pin és una variable/constant (0-7) que especifica el pin I/O a utilitzar.

- Baudmode és una variable/constant que especifica el mode. Pot presentar les

formes Txxx o Nxxx.

- T(xxx): Dóna una sortida directe.

- N(xxx): Dóna una sortida invertida.

- xxx: Serveix per indicar la freqüència a la que el microcontrolador ha de

treballar i pren valors diferents segons el model que s’utilitzi.

- Qualifiers són variables/constants opcionals (0-255) que s’han de rebre en

l’ordre exacte perquè es puguin rebre la resta de bytes a continuació.

- Les variables reben els resultats (0-255). El símbol “#” pot ser utilitzat per

inserir nombres ASCII decimals en les variables en lloc de caràcters.

FUNCIÓ:

Captar dades a través d’una entrada amb qualificadors opcionals.

INFORMACIÓ:

Aquesta ordre no es pot utilitzar amb el pin de descàrrega sèrie, que només pot fer

servir l’ordre serrxd.

Els qualifiers requereixen la recepció d’un indicador, byte o seqüència. Així

docs, serin 1,N2400,(“ABC”),b1 , requereix rebre la cadena “ABC” abans de

que el següent byte a rebre s’emmagatzemi a b1. Sense qualificadors, serin

1,N2400,b1, assigna el primer byte rebut a b1 automàticament.

EXEMPLE: main:

for b0 = 0 to 63 ‘comença bucle (63 cops)

serin 6,N2400,b1 ‘rep el valor sèrie

write b0,b1 ‘escriu el valor a b1

next b0 ‘següent bucle

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

81

Serout

SINTAXI: SEROUT pin,baudmode,(#data,#data...)

- Pin és una variable/constant (0-7) que especifica el pin I/O a utilitzar.

- Baudmode és una variable/constant que especifica el mode. Presenta les mateixes

formes que en el cas del serin.

- Data són variables/constants (0-255) que especifiquen quina dada ha de sortir.

- Els símbols “#” es poden utilitzar per produir nombres en codi ASCII en lloc de

caràcters. Si hi ha text, també es pot col·locar entre cometes (“Hola”).

FUNCIÓ:

Transmetre dades de sortida.

INFORMACIÓ:

L’ordre serout s’utilitza per transmetre dades en mode sèrie a través d’un pin de

sortida del microcontrolador. No pot ser utilitzada amb el pin de descàrrega, que

només accepta l’ordre sertxd.

El símbol “#” permet una sortida en codi ASCII. Així doncs, #b1 quan b1 conté la

dada 123, donarà a la sortida els caràcters ASCII “1”, “2”, “3” en lloc de 123.

EXEMPLE: main:

for b0 = 0 to 63 ‘comença bucle (63 cops)

read b0,b1 ‘llegeix el valor a b1

serout 7,N2400,(b1) ‘envia el valor sèrie

next b0 ‘següent bucle

Irin

SINTAXI: IRIN pin, variable

IRIN [timeout, address], pin, variable

- Timetout és una variable/constant que especifica un temps en mil·lisegons.

- Adress és una etiqueta que indica on anar si es supera el temps de timeout.

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

82

- Pin és una variable/constant (0-7) que especifica el pin a utilitzar.

- Variable rep la dada i l’emmagatzema.

FUNCIÓ:

Esperar fins que es rep un nou codi infraroig, llegir-lo i guardar-lo. És una ordre

similar a la infrain2, que es pot trobar en molts models de PICAXE, però irin es

pot fer servir en qualsevol pin d’entrada.

DESCRIPCIÓ:

Aquesta ordre s’utilitza per rebre un senyal infraroig emès per un altre PICAXE.

També pot ser utilitzada per rebre un senyal infraroig d’un transmissor que utilitzi

el protocol SIRC de Sony. Tot procés es para fins que no es rep el senyal o fins que

s’acaba el temps d’espera. En aquest punt, el programa saltarà fins a address . Si

es rep un senyal infraroig, s’emmagatzema i es guarda el seu valor en la variable

definida.

EXEMPLE: main:

irin [1000,main],3,b0 ‘espera nou senyal

if b0 = 1 then on1 ‘si b0 és igual a 1 vés a on1

if b0 = 4 then off1 ‘si b0 és igual a 4 vés a off1

goto main ‘vés a main

on1: high 1 ‘posa 1 en alt

goto main ‘vés a main

off1: low 1 ‘posa 1 en baix

goto main ‘vés a main

If...then\elseif...then\else\endif

SINTAXI: IF variable ?? value AND/OR variable ?? value ... THEN

code

ELSEIF variable ?? value AND/OR variable ?? value ... THEN

code

ELSE

code

ENDIF

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

83

- Les variables han de ser comparades a valors.

- Value és una variable/constant (0-65535).

- ?? és la conducció que imposem. Les condicions principals són les següents:

= igual a <>, != diferent de

> més gran que < més petit que

>= més gran o igual que <= més petit o igual que

FUNCIÓ:

Comparar i, condicionalment, executar seccions del programa.

INFORMACIÓ:

L’ordre if...then\elseif\else\endif ocupa múltiples línies i comprova

l’acompliment de condicions per part de certes variables. Si les condicions

s’acompleixen, s’executa el fragment de codi corresponent i el programa salta fins

a la posició endif. Si les condicions no s’acompleixen, el programa salta fins al

següent elseif o else.

La secció else del codi només s’executa si cap de les condicions incloses en les

ordres if o elseif s’acompleixen.

Quan es treballa amb la variable d’un pin d’entrada (pin1, pin2, etc.) no s’ha

d’utilitzar el nom del pin (1,2, etc.). La línia hauria de ser “if pin1=1 then ... ”

i no “if 1=1 then ...”.

EXEMPLE: main:

if b0 > 1 then ‘si b0 és més gran que 1

goto label ‘vés a label

else ‘sinó

goto label2 ‘vés a label2

endif

Aquest programa també es pot expressar de la manera següent: if b0 > 1 then : goto label : else : goto label2 : endif

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

84

If...then goto i if...and/or...then goto

SINTAXI: IF variable ?? value AND/OR variable ?? value ... THEN address

- Les variables han de ser comparades a valors.

- Value és una variable/constant.

- Address és una etiqueta que especifica la línia de codi on saltar si es compleix la

condició.

- ?? és la conducció que imposem. Les condicions són les mateixes que en una

sentència if normal:

= igual a <> , != diferent de

> més gran que < més petit que

>= més gran o igual que <= més petit o igual que

FUNCIÓ:

Comparar i, condicionalment, saltar cap a una nova posició dins el programa.

INFORMACIÓ:

L’odre if...then s’utilitza per comparar una o diverses variables segons certes

condicions. Si aquestes condicions es compleixen, el programa salta a l’etiqueta

especificada. Si no es compleixen les condicions, el programa continua fluint cap a

la línia següent.

Quan es treballa amb la variable d’un pin d’entrada (pin1, pin2, etc.) no s’ha

d’utilitzar el nom del pin (1,2, etc.). La línia hauria de ser “if pin1=1 then ... ”

i no “if 1=1 then ...”.

EXEMPLE: main:

if pin0 = 1 then flsh ‘ vés a flsh si pin0 està en alt

goto main ‘vés a main

flsh: high 1 ‘posa la sortida 1 en alt

pause 5000 ‘espera 5 segons

low 1 ‘posa la sortida 1 en baix

goto main ‘vés a main

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

85

Let

SINTAXI: LET variable = - value ?? value ...

- Variable és la variable que s’operarà.

- Value(s) són variables/constants que operaran la variable.

FUNCIÓ:

Manipular una variable matemàticament.

INFORMACIÓ:

La paraula let és opcional.

Les operacions s’efectuen estrictament de dreta a esquerra.

El microcontrolador no suporta nombres negatius ni fraccions.

EXEMPLE: main:

inc b0 ‘incrementa b0

sound 7,(b0,50) ‘fes un soroll

if b0 > 50 then rest ‘vés a rest si b0 és més gran que 50

goto main ‘vés a main

rest:

let b0 = b0 max 10 ‘limita b0 a 10

goto main ‘vés a main

Let dirs

SINTAXI: LET dirs = value

LET dirsc = value

- Value(s) són variables/constants que operen en el registre de memòria.

FUNCIÓ:

Configurar pins com entrades i sortides (en el cas d’un PICAXE 14M són els pins

del port C).

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

86

INFORMACIÓ:

Alguns microcontroladors permeten que els seus pins puguin ser configurats com

entrades o sortides. En aquests casos, és necessari dir al microcontrolador quins

pins ha d’utilitzar com a entrades i quins com a sortides. Això es pot fer de diverses

maneres:

a) Fer servir una ordre de sortida (high, low, etc.) o d’entrada (serin, irin,

etc.), que automàticament configurarà el pin com a una sortida o entrada.

b) Fer servir l’ordre let dirsc = value.

Quan s’utilitza let dirsc, és convencional utilitzar la notació binaria. Amb

aquesta notació, el pin7 es situa a l’esquerra i el pin0 a la dreta. Si el bit és un 0, el

pin serà una entrada; si és un 1, una sortida.

EXEMPLE: let dirs = %00000011 ‘canvia els pins 0 i 1 a sortides

let pins = %00000011 ‘posa els pins 0 i 1 en alt

Pause

SINTAXI: PAUSE milliseconds

- Millisecons és una variable/constant que especifica quants mil·lisegons ha de

durar la pausa.

FUNCIÓ:

Parar tot procés durant el temps establert.

INFORMACIÓ:

L’ordre pause crea un endarreriment temporal en mil·lisegons. El temps més llarg

d’endarreriment és de 65.535 segons. Per crear temps d’espera més llargs s’ha de

fer servir un bucle.

EXEMPLE: main:

high 1 ‘posa la sortida 1 en alt

pause 5000 ‘espera 5 segons

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

87

low 1 ‘posa la sortida 1 en baix

pause 5000 ‘espera 5 segons

goto main ‘torna a l’inici

Readadc

SINTAXI: READADC channel,variable

- Channel és una variable/constant que especifica el pin ADC a utilitzar.

- Variable rep el valor llegit.

FUNCIÓ:

Llegir el valor de la tensió en un pin d’entrada ADC i guardar-lo en una variable (0-

255).

INFORMACIÓ:

L’ordre readadc s’utilitza per llegir el valor analògic en un dels pins d’entrada del

microcontrolador. El voltatge de referència acostuma a ser aquell a que està

polaritzat el microcontrolador (3, 4.5 o 5V).

La resolució més corrent, de 8 bits en una entrada analògica, proporciona 256

lectures diferents per un rang de voltatge de 0 a 5V. Cada model, però té la seva

pròpia resolució d’acord amb les seves característiques.

EXEMPLE: main:

readadc 1,b1 ‘llegeix valor en b1

if b1 > 50 then flsh ‘vés a flsh si b1 > 50

goto main ‘vés a main

flsh:

high 1 ‘posa la sortida 1 en alt

pause 5000 ‘espera 5 segons

low 1 ‘posa la sortida 1 en baix

goto main ‘vés a main

CONSTRUCCIÓ D’UNA ESTACIÓ METEOROLÒGICA AUTOMATITZADA AMB PICAXE

88

Readtemp

SINTAXI: READTEMP pin,variable

- Pin és una variable/constant que especifica el pin d’entrada a utilitzar

- Variable rep el valor llegit.

FUNCIÓ:

Llegir la temperatura des d’un sensor digitat DS18B20 i guarda-la en una variable.

L’ordre readtemp arrodoneix el valor fins a nombre enter de graus Celcius més

proper.

INFORMACIÓ:

La temperatura es llegeix en graus Celsius enters, i el sensor DS18B20 opera des de

-55 fins a 125 graus Celsius. El 7 bit de la seva sortida és 0 per temperatures

positives i 1 per negatives. Per tant, els valors negatius porten un valor de 128

afegit al valor real de la temperatura.

EXEMPLE: main:

readtemp 1,b1 ‘llegeix valor en b1

if b1 > 127 then neg ‘esbrina si el valor és negatiu

serout 7,N2400,(#b1) ‘envia el valor b1 sèrie

goto loop ‘vés a loop

neg:

let b1 = b1 - 128 ‘ajusta el valor negatiu

serout 7,N2400,(“-”) ‘envia el signe “-“

serout 7,N2400,(#b1) ‘envia el valor b1 sèrie