construcciÓ d’una estaciÓ meteorolÒgica …condensador en un circuit elèctric que transformi...
TRANSCRIPT
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
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