http://relojcalendariotemyhum.blogspot.com/ ()tructura basica de programacion.
Por: Byron Ganazhapa
'!(O)* CO!"#$#O% &"'
C&(!%&'# O* +!,P!'&+'& -,!&
http://relojcalendariotemyhum.blogspot.com/
Página 1
CONTENIDO INTRODUCCIÓN ........................................................................1
¿QUÉ NECESITAMOS ?................................................................1 D ESARROLLO ........................................................................4 DESPLAZAMIENTO O B ARRIDO....................................................................0 ................................ ..................... ..................... ...................................... ........................... BCD A 7 SEGMENTOS..................... ............................... ..................... ..................... ..................... ...................................... ........................... HORA Y F FECHA..................... EMPERATURA......................................................................... SENSOR DE T EMPERATURA
.............................. ..................... ..................... ..................... ...................... .................. .......2 2 SENSOR DE HUMEDAD....................
ESQUEMÁTICOS .......................................................................1 DISEÑO DE PCB......................................................................1 DISEÑO DE LA TARJETA DE CONTROL PARA SU ELABORACIÓN EN PCB DE PLACA DOBLE ..................... ............................... ..................... ..................... ..................... ..................... ..................... ...................... ..................... .................. ........ 1 DISPLAY Y VISUALIZACIÓN VISUALIZACIÓN EN PCB......................3 DISEÑO DE LA TARJETA DE DISPLAY Y PCB......................3
DISEÑO EN 3D DE LAS PLACAS PCB.......... PCB.................... ..................... ..................... ............................ ..................4 4
C ODIGO ...............................................................................4
.....................................11 ..............11 I MÁGENES DE L PROYECTO CONCLUIDO.......................
INTRODUCCIÓN -n 5isualizador de reloj de tiempo real y 5ariables de clima* se utiliza para 5isualizar el tiempo y 6echa en curso con temperatura y humedad en el ambiente seleccionado. !ste proyecto deliberará la 5isualizaci7n del tiempo en el 6ormato hh:mm:ss de 30 horas* 6echa en un 6ormato de :,,:&&* temperatura en grados celcius 89C y humedad relati5a 8;. !l microcontrolador utilizado es el &tmega43&
segmentos ?nodo com@n. (os 12 disp displa lays ys so son n ence encend ndido idoss indi indi5i 5idu dual alme ment nte e uno uno se segu guid ido o de otr otro y ca cada da conju co njunt nto o de A disp displa lays ys so son n co cone nect ctad ados os a un chip chip deco decodi dic cad ador or BC BC a > segmentos >00>D con el prop7sito de ahorrar puertos conectados al &tmega* mientras
Página 3
3%4EF0 a un puerto del &tmega. Para la hora y 6echa se usa una '+C $14F>D* para la temperatura un termistor ++C1F4D y humedad un sensor 1F cuya salida es un 5alor de 6recuencia. !l programa del microcontrolador dispone una 5elocidad de desplazamiento o de barrido entre displays por cada 1ms* as= como los datos a 5isualizar
¿Q U
NECESITAMOS !
Para ara es este te proy proyec ecto to es muy muy indi indisp spen ensa sabl ble e disp dispon oner er de un co conj njun unto to de herramientas básicas de un laboratorio de electr7nica: un soldador* alambre de estaHo* unos alicates de punta de aguja y cables. Para ara el desa desarrrollo ollo de nues nuestr tro o proy proyec ecto to disp dispon ondr drem emos os de los los sigu siguie ient ntes es materiales: •
1 &tmega43&
•
1 termistor ++C1F4
•
1 sensor de umedad 1F
•
12 disp displa lays ys de > se segm gmen ento toss ?nod ?nodo o co com@ m@n n a su co colo lorr pre6 pre6er erid idoD oD 2 displa displays ys en par pe
•
3 ecodicadores BC a > segmentos >0($0>.
•
1 resistencias de 44F Ohms.
•
12 resistencias de 1 IOhms
•
resistencias de 1F IOhms
•
3 resistencias de 0.> IOhms
http://relojcalendariotemyhum.blogspot.com/
Página 4
•
3 resistencias de 2F Ohms
•
1 resistencia de 13F Ohms
•
1 resistencia de 33F Ohms
•
1 potenci7metro lineal de 1F IOhms
•
12 transistores 3%4EF0
•
1 'eal +ime ClocJ $14F>
•
1 cristal 43.>2AIK
•
1 bater=a de bot7n 4" con su portaLpila
•
3 condensadores electrol=ticos de 0>uM
•
1 condensador electrol=tico de 1FFuM
•
3 condensadores cerámicos de F.1uM
•
0 condensadores cerámicos de 1FnM
•
1 (ed rojo de 4mm
•
4 pulsadores
•
0 jumpers.
•
1 regleta de espadines hembra y macho
•
1 regulador de 5oltaje (,41>
•
•
)acJ C para PCB. Placa doble PCB
http://relojcalendariotemyhum.blogspot.com/
Página 0
&temga43&
+ermistor +ermistor ++ ++C1F
1F
isplays en par
isplay
isplay mediano
ecodicadores BC a > segmentos >0($0>
'esistencias.
Potenci7metro Potenci7metro lineal
+transistores +transistores
'eal +ime ClocJ
Cristal 43.>2AIK
3%4EF0
$14F>
http://relojcalendariotemyhum.blogspot.com/
Página
Bater=a de bot7n 4"
Condensadores
con su portaLpila
electrol=ticos
(ed rojo de 4mm
Pulsadores
)umpers
!spadines hembra y
'egulador de
)acJ C para PCB
macho
5oltaje (,41>
Condensadores Condensadores cerámicos
D ESARROLLO D ESPLAZAMIENTO O B ARRIDO !l barrido de los displays es básicamente una manera de acti5ar uno por uno en un instante a una 6recuencia ele5ada. -n display de >Lsegmentos es una manera de 5isualizar datos obtenidos por el uC en5iados a tra5s de A puertos por lo Lsegmentos. http://relojcalendariotemyhum.blogspot.com/
Página 2
Pero Pero en esta ocasi7n nos encontramos con la necesidad de utilizar más de un display pero a la 5ez no disponemos de la cantidad suciente de puertos para ser utilizados. Por la 6alta de puertos es imposible conectar y encender todo un conjunto de 12 dispalys* para ello se utiliza el mtodo de barrido
BCD A 7 SEGMENTOS -no de los problemas mencionados anteriormente es el n@mero de puertos limitados del uC* por lo segmentos correspondiente correspondiente a cada display* Cada conjunto de A displays son conectados a un chip decodicador BC a >Lsegmentos* por lo 0($0>. !l n@mero total de puertos utilizados para la presentaci7n de datos son de A puertos* y para el barrido de los displays son de 12 puertos uno por display conectado al com@n* por lo tanto los puertos utilizados por el uC son de 30 puertos para un total de 12 displays. ORA Y F H ORA F ECHA
(a presentaci7n de hora y 6echa se la realiza mediante un el dispositi5o $14F>* Por la simple raz7n de trabajar con e5entos más precisos* puntuales y eactos a lo largo del tiempo. !ste pe
http://relojcalendariotemyhum.blogspot.com/
Página >
conabilidad a largo plazo. Preparado para o6recerte la hora hasta el aHo 31FF y bisiestos. Para la lectura de hora y 6echa se usa el bus #3C entre el uC y '+C
-no de los principales objeti5os de este proyecto es el uso de un sensor de temperatura anal7gica para la 5isualizaci7n de temperatura en grados celcius en dos displays. !l sensor utilizado es el ++C1F4 de salida de 5oltaje anal7gico* por la @nica raz7n de disponer este dispositi5o* la opci7n de utilizar otro sensor es opcional* pero yo dispongo del termistor. (as caracter=sticas del termistor son las siguientes: Caracter=sticas
"alor
Valor alor de ress!e ress!e"# "#a a "o$"a "o$"all 1FFFF 8ohm del !er$s!or %NTC& a '()C Par*$e!ro +e!a 0FF 8I ,-r$la !l/ada 0or el R ( T )= R 25 exp ( B /T − B / T 25) a+r#a"!e Para la lectura de los datos del sensor se utiliza un puerto anal7gico del uC el cual es el puerto &C>* y para obtener la temperatura real se utiliza la 67rmula propuesta el 6abricante en grados Iel5in* y para obtener en grados celcius como se lo ha propuesto solo se usa una simple ecuaci7n 9C 9I L 3>4.1. ENSOR DE DE H UMEDAD S ENSOR H UMEDAD
Otro de los objeti5os de este proyecto es el uso de un sensor de humedad para la 5isualizaci7n de humedad relati5a en dos displays. !l sensor utilizado es el 1F cuya salida es un 5alor de 6recuencia
Página A
!l modul odulo o del 1F 1F co cons nsis iste te en un senso ensorr capac apacit iti5 i5o o tipo tipo C,O C,O$* con5ertidor
de
6recuencia
y
una
memoria
!!P'O,
usada
para
el
almacenamiento de los 6actores de calibraci7n y para el cálculo de la humedad. ebido a las caracter=sticas del sensor de humedad de tipo condensador* el sistema puede responder a los cambios de humedad muy rápido. (as caracter=sticas del sensor de humedad son las siguientes:
Parámetro
,=nimo
2a"3o de $edad e5a#!!d 2a"3o de
1; L4 ; L1F 9C
!e$0era!ra Vol!a6e de o0era#-" es!a+ldad 7s !e$0o Corre"!e de #o"s$o 2a"3o 2a"3o de re# re#e e"# "#a a
3.> " 13F u& Jz
nominal
,áimo EE ; Q4 ; Q2F 9C
4" 1 ; por aHo 1F u& 2. Jz
4.4 " 1AF u& 1F Jz
de salda Para la lectura de humedad correcta* dos 6actores de calibraci7n deben ser le=dos desde la !!P'O, en la direcci7n 1F y 13 por un bus i3C para la sensibilidad y compensaci7n respecti5amente. -na 5ez calibrado el modulo* se mide la 6recuencia de salida del sensor* entonces el 5alor de humedad correcto puede ser calculada mediante la siguiente epresi7n: 12
HR ()=(compensacion − Fout )∗ sens / 2
(a direcci7n 6=sica de la !!P'O, está jada a A1. irecci7n de la sensibilidad 1F. irecci7n de la compensaci7n 13.
http://relojcalendariotemyhum.blogspot.com/
Página E
Para la lectura de los 6actores de calibraci7n puedes usar otro programa en el mismo circuito del proyecto o como preeras para saber > y compensaci7n >>E3.
ULSADORES P ULSADORES
Con el objeto de realizar un reloj con 6unciones básicas* se incorpor7 4 pulsadores con con el prop7sito de igualar la hora o cambiar la 6echa. !l pulsador ,en@ realiza la 6unci7n de cambiar de modo normal a modo minutos* horas* aHos* meses y d=as: • • • • • • •
,enu FN modo normal ,enu 1N modo de igualar minutos ,enu 3N modo de igualar horas ,enu 4N modo de igualar &Hos ,enu 0N modo de igualar meses ,enu N modo de igualar d=as ,enu 2N modo de guardar en memoria tiempo y 6echa actualizada
(os pulsadores de disminuir LD y aumentar QD realizar la simple 6unci7n de cambiar los 5alores de los datos para obtener los deseados o igualados con respecto a un reloj o calendario actual.
E SQUEMÁTICOS !s
http://relojcalendariotemyhum.blogspot.com/
Página 1F
ATMEGA32A &
R**
13 12 BCD_1_A BCD_1_B BCD_1_C BCD_1_D DISPLAY_1_SEG DISPLAY_2_SEG DISPLAY_1_MIN TERMISTOR
40 3& 38 37 36 35 34 33
DISPLAY_2_!UMEDAD MENU !!10D R*+*_,-/- BCD_2_A BCD_2_B BCD_2_C BCD_2_D
1 2 3 4 5 6 7 8
RESET XTAL1 XTAL2 PA0%ADC0 PA1%ADC1 PA2%ADC2 PA3%ADC3 PA4%ADC4 PA5%ADC5 PA6%ADC6 PA7%ADC7 PB0%XC%T0 PB1%T1 PB2%INT2%AIN0 PB3%OC0%AIN1 PB4%SS PB5%MOSI PB6%MISO PB7%SC
PC0%SCL PC1%SDA PC2%TC PC3%TMS PC4%TDO PC5%TDI PC6%TOSC1 PC7%TOSC2 PD0%RXD PD1%TXD PD2%INT0 PD3%INT1 PD4%OC1B PD5%OC1A PD6%ICP PD7%OC2
SCL(RTC
22 23 24 25 26 27 28 2&
SCL SDA DISPLAY_2_MIN DISPLAY_1_!ORA DISPLAY_2_!ORA DISPLAY_1_A)O DISPLAY_2_A)O DISPLAY_1_MES
ATMEGA32
30 32
1 2
CONN(!2
DS1307
1 2
6 5
SCL SDA
1
3
2
VBAT X2
2
3 VOLTS
R23
1 ( 74LS47N 7 1 2 6 4 5 3
BCD_1_A BCD_1_B BCD_1_C BCD_1_D
3
120
C1
C2 0.1
R4 1k
CRYSTAL
SOUT
A B C D BI%RBO RBI LT
13 12 11 10 & 15 14
$A $B $C $D $E $' $G
R27 R28 R2& R30 R31 R32 R33
A_1 B_1 C_1 D_1 E_1 '_1 G_1
330 330 330 330 330 330 330
7447
Bloque del Sensor de Humedad
A I D _ 2 _ Y
!!10D
2 ( 74LS47N
!!10D
R24
R25
7 1 2 6 4 5 3
BCD_2_A BCD_2_B BCD_2_C BCD_2_D
560 1 2
330
1
DS1307 2
0.1
C& 10'
R42
1
X1
C8 47'
32.768!" 7
NTC(TT103 R O T S I M R E T
D1 LED(RED
4.7k
R1 AVCC ARE'
A
4.7k
R3
SCL DISPLAY_2_MES SDA DISPLAY_1_DIA INCREMENTO DECREMENTO DISPLAY_2_DIA DISPLAY_1_TEMPERATURA DISPLAY_2_TEMPERATURA DISPLAY_1_!UMEDAD
14 15 16 17 18 1& 20 21
R O ! _ 2 _ Y A L P S I D
R2
CONN(!2 SDA(RTC CONN(!2
R*+*_,-/-
560
A B C D BI%RBO RBI LT
13 12 11 10 & 15 14
$A $B $C $D $E $' $G
R34 R35 R36 R37 R38 R3& R40
A_2 B_2 C_2 D_2 E_2 '_2 G_2
330 330 330 330 330 330 330
A L P S I D
R10
7447
1k
10k
SCL(!!10D CONN(!2 SDA(!!10D
LM317T LM317T 3
CONN(!2
VI
2
VO
3V,,
D A
1 2
R26
C3 100'
SCL SDA
10k
!!10D 3V,,
C4
1
10'
3
RV1
1 2 _ _ P P M M E E T T
5 4 3 2 1 CONN(!5
2
1 1 1 1 1 1 1 _ _ _ _ _ _ _ A B C D E ' G
!!10D
1 2
220
1
1 2 3 4 5 6 _ _ _ _ _ _ E E E E E E M M M M M M I I I I I I T T T T T T
1 1 1 1 1 1 1 _ _ _ _ _ _ _ A B C D E ' G
1
R41
1
MENU
1
INCRE
DECR
10k 2
2
2
MENU
R**
INCREMENTO
DECR
1
RESET
C5
R20
C6
10k 10'
R21
C7
10k 10'
R22 10k
10'
2
2 2 2 2 2 2 2 _ _ _ _ _ _ _ A B C D E ' G
1 2 _ _ E E M M U U ! !
2 2 2 2 2 2 2 _ _ _ _ _ _ _ A B C D E ' G
1 2 3 4 5 6 _ _ _ _ _ _ A A A A A A T T T T T T A A A A A A D D D D D D
RTC BYRON GANAZHAPA SERVOMOTOR _COMUNICACIO _COMUNICA CIO
%ota: no eiste una librer=a en Proteus para el 1F por lo por la raz7n de utilizar componentes disponibles a mi alcance* si preeres puedes usar un (m111> y modicar el es
http://relojcalendariotemyhum.blogspot.com/
Página 11
ISEÑO DE DE PCB D ISEÑO PCB DE LA LA D ISEÑO DE
TARJETA DE CONTROL PA PARA RA SU SU ELABORACIÓN ELABORACIÓN EN EN PC PCB DE
PLACA DOBLE PLACA DOBLE
Placa superior de la PCB.
Placa in6erior de la PCB.
http://relojcalendariotemyhum.blogspot.com/
Página 13
ISEÑO DE DE LA LA TARJETA TARJETA DE DE DISPLAY Y DISPLAY Y VISUALIZACIÓN VISUALIZACIÓN EN EN PCB. D ISEÑO PCB.
Placa superior de la PCB.
http://relojcalendariotemyhum.blogspot.com/
Página 14
Placa in6erior de la PCB.
ISEÑO EN EN 3D LAS PLACAS PLACAS PCB D ISEÑO 3D DE LAS PCB
$e 6abricarán 3 placas para e5itar realizar una sola grande y para empotrar una sobre otra. $i preeres puedes usar componentes superciales o $, y modicando el diseHo en PCB.
http://relojcalendariotemyhum.blogspot.com/
Página 10
C ODIGO !l programa 6ue desarrollado en Code5ision&"' 5ersi7n 3.F.F /***************************************************** This program was produced by the CodeWizardAVR V2.05.0 ro!essio"a# Automatic rogram $e"erator % Copyright &''()20&0 ae# +aiduc, + -"!oTech s.r.#. http//www.hpi"!otech.com roect Versio" ate Author Compa"y Comme"ts
Re#o, Temperatura y +umedad &.0 10/0'/20& 3yro" $a"azhapa 4T
Chip type rogram type AVR Core C#oc6 !re7ue"cy 8emory mode# :;ter"a# RA8 size ata 9tac6 size
ATmega12A App#icatio" (,000000 8+z 9ma## 0 5&2
http://relojcalendariotemyhum.blogspot.com/
Página 1
*****************************************************/
=mega12a.h> =math.h> =stdio.h> =std#ib.h> =de#ay.h> =bcd.h>
// Variab#es de tiempo y !echa u"sig"ed char hora? u"sig"ed char mi"u? u"sig"ed char seg? u"sig"ed char dia? u"sig"ed char mes? u"sig"ed char a"yo? u"sig"ed char hora@3C? u"sig"ed char mi"u@3C? u"sig"ed char seg@3C? u"sig"ed char dia@3C? u"sig"ed char mes@3C? u"sig"ed char a"yo@3C? u"sig"ed char dig@2@seg, dig@&@seg? u"sig"ed char dig@2@mi", dig@&@mi"? u"sig"ed char dig@2@hora, dig@&@hora? u"sig"ed char dig@2@dia, dig@&@dia? u"sig"ed char dig@2@mes, dig@&@mes? u"sig"ed char dig@2@a"yo, dig@&@a"yo? u"sig"ed char get@hora, get@mi"u, get@seg? u"sig"ed char get@dia, get@mes, get@a"yo?
-9A@&@9:$ -9A@2@9:$ -9A@&@8-B -9A@2@8-B -9A@&@+RA -9A@&@+ RA -9A@2@+RA -9A@2@+ RA -9A@&@-A -9A@2@-A -9A@&@8:9 -9A@2@8:9 -9A@&@AB -9A@&@A B -9A@2@AB -9A@2@A B
0;0& 0;0& 0;0& 0;0& 0;0& 0;0& 0;0& 0;0& 0;0& 0;0& 0;0& 0;0&
-9A@&@T:8:RAT4RA -9A@2@T:8:RAT4RA -9A@&@+48:A -9A@&@+ 48:A -9A@2@+48:A -9A@2@+ 48:A
0;0& 0;0& 0;0& 0;0&
i"t 8e"uD0? i"t dig@&@temp, dig@2@temp? i"t dig@&@hum, dig@2@hum? // ariab#es u"sig"ed i"t !#oat !#oat !#oat i"t
para se"sor de humedad cou"t D 0? temp? !recue"cia? + D 0.0? +umedad?
http://relojcalendariotemyhum.blogspot.com/
Página 12
// ariab#es para se"sor !#oat Vi" D 5.0? te"sio" !#oat Rau; D &0000? diisor de te"sio" !#oat R0 D &0000? termistor GBTCH a 25IC !#oat T0 D 2'(.&5? !#oat Vout D 0.0? !#oat Rout D 0.0? !#oat beta D 050.0? !#oat TempJ D 0.0? i"t TempC D 0? !#oat Ri"!? #o"g iCo"t D 0? media !#oat cTemp&? #eidas
de tempoeratura // EVF Vo#tage de e"trada e" e# diisor de // EohmF // EohmF // // // // // // // //
Va#or de #a resiste"cia secu"daria de# Va#or de resiste"cia "omi"a# de#
EJF G25ICH EVF Vo#tage gie" by the Vo#tage)iider Vo#tage)ii der EohmF Resiste"cia actua# de# Termistor GBTCH EJF arametro 3eta EJF Temperatura de sa#ida e" grados Je#i" EICF Temperatura de sa#ida e" grados Ce#sius EohmF arametros Ri"! Co"tador de cic#os, par e# ca#cu#o de #a temperatura
// Variab#e tempora# para acumu#ar #as temperaturas
// ariab#es para AC u"sig"ed i"t adc@data?
//L
// -2C 3us !u"ctio"s // 9&10L Rea# Time C#oc6 !u"ctio"s
// :;ter"a# -"terrupt 0 serice routi"e i"terrupt E:MT@-BT0F oid e;t@i"t0@isrGoidH e;t@i"t0@isrGoidH N i!G8e"u DD &HN // igua#ar mi"utos mi"u D mi"u O &? de#ay@msG&00H? i!Gmi"u>5'H mi"u D 0? P i!G8e"u DD 2HN // igua#ar horas hora D hora O &? de#ay@msG&00H? i!Ghora>2H hora D 0? P i!G8e"u DD 1HN // igua#ar aQo a"yo D a"yo O &? de#ay@msG&00H? i!Ga"yo>''H a"yo D 0? P i!G8e"u DD HN // igua#ar mes mes D mes O &? de#ay@msG&00H?
http://relojcalendariotemyhum.blogspot.com/
Página 1>
i!Gmes>&2H mes D 0? P i!G8e"u DD 5HN // igua#ar dia dia D dia O &? de#ay@msG&00H? i!Gdia>1&H dia D 0? P P // :;ter"a# -"terrupt & serice routi"e i"terrupt E:MT@-BT&F oid e;t@i"t&@isrGoidH e;t@i"t&@isrGoidH N i!G8e"u DD &HN // igua#ar mi"utos mi"u D mi"u ) &? de#ay@msG&00H? i!GGsig"ed charHmi"u=0H mi"u D 5'? P i!G8e"u DD 2HN // igua#ar horas hora D hora ) &? de#ay@msG&00H? i!GGsig"ed charHhora=0H hora D 21? P i!G8e"u DD 1HN // igua#ar aQo a"yo D a"yo ) &? de#ay@msG&00H? i!GGsig"ed charHa"yo=0H a"yo D ''? P i!G8e"u DD HN // igua#ar mes mes D mes ) &? de#ay@msG&00H? i!GGsig"ed charHmes=0H mes D &2? P i!G8e"u DD 5HN // igua#ar dia dia D dia ) &? de#ay@msG&00H? i!GGsig"ed charHdia=0H dia D 1&? P P // Timer& output compare A i"terrupt serice routi"e i"terrupt ET-8&@C8AF oid timer&@compa@isrGoidH timer&@compa@isrGoidH N TCBT&+ D 0;00? TCBT& D 0;00? temp D G!#oatHcou"t? !recue"cia D temp*&.0255? //co"sta"te de ca#ibraci" D &.0215. CS#cu#o de humedad + D GLL'2)!recue"ciaH*G0.0'20 GLL'2)!recue" ciaH*G0.0'20H? H? +umedad D Gi"tH+? cou"t D 0? P // A"a#og Comparator i"terrupt serice routi"e i"terrupt EABA@C8F oid a"a@comp@isrGoidH a"a@comp@isrGoidH N
http://relojcalendariotemyhum.blogspot.com/
Página 1A
cou"t D cou"tO&? // CS#cu#o de !recue"cia. P
// Read the A co"ersio" resu#t u"sig"ed i"t read@adcGu"sig"ed char adc@i"putH N A84MDadc@i"put GAC@VR:K@T: U 0;!!H? // e#ay "eeded !or the stabi#izatio" o! the AC i"put o#tage de#ay@usG&0H? // 9tart the A co"ersio" AC9RAD0;0? // Wait !or the A co"ersio" to comp#ete whi#e GGAC9RA U 0;&0HDD0H? AC9RAD0;&0? retur" ACW? P // ec#are your g#oba# ariab#es here oid mai"GoidH N // ec#are your #oca# ariab#es here RTAD0;00? RAD0;LK? RT3D0;00? R3D0;K&? RTCD0;00? RCD0;KC? RTD0;00? RD0;K1? // Timer/Cou"ter & i"itia#izatio" i"itia#izatio" // C#oc6 source 9ystem C#oc6 // C#oc6 a#ue 1&,250 6+z // 8ode CTC topDCR&A // C&A output isco". // C&3 output isco". // Boise Ca"ce#er !! // -"put Capture o" Ka##i"g :dge // Timer& er!#ow -"terrupt !! // -"put Capture -"terrupt !! // Compare A 8atch -"terrupt " // Compare 3 8atch -"terrupt !! TCCR&AD0;00? TCCR&3D0;0C? TCBT&+D0;00? TCBT&D0;00? -CR&+D0;00? -CR&D0;00? CR&ADG1&250)&H? CR&3+D0;00? CR&3D0;00? // :;ter"a# -"terruptGsH i"itia#izatio" // -BT0 "
http://relojcalendariotemyhum.blogspot.com/
Página 1E
// -BT0 8ode Ka##i"g :dge // -BT& " // -BT& 8ode Ka##i"g :dge // -BT2 !! $-CRD0;C0? 8C4CRD0;0A? 8C4C9RD0;00? $-KRD0;C0? // TimerGsH/Cou"terGsH TimerGsH/Cou"terGsH -"terruptGsH i"itia#izatio" i"itia#izatio" T-89JD0;&0?
// A"a#og Comparator i"itia#izatio" // A"a#og Comparator " // -"terrupt o" Risi"g utput :dge // A"a#og Comparator -"put Capture by Timer/Cou"ter & !! AC9RD0;03? 9K-RD0;00? // AC i"itia#izatio" i"itia#izatio" // AC C#oc6 !re7ue"cy 500,000 6+z // AC Vo#tage Re!ere"ce AVCC pi" A84MDAC@VR:K@T: U 0;!!? AC9RAD0;(? // -2C 3us i"itia#izatio" i"itia#izatio" i2c@i"itGH? // 9&10L Rea# Time C#oc6 i"itia#izatio" i"itia#izatio" // 97uare wae output o" pi" 9W/4T !! // 9W/4T pi" state 0 rtc@i"itG0,0,0H? rtc@get@timeGUget@hora,Uget@mi"u,Uget@segH? rtc@get@dateGUget@dia,Uget@mes,Uget@a"yoH? de#ay@msG&00H? hora mi"u seg dia mes a"yo
D D D D D D
get@hora? get@mi"u? get@seg? get@dia? get@mes? get@a"yo?
rtc@set@timeGhora,mi"u,segH? rtc@set@dateGdia,mes,a"yoH? // $#oba# e"ab#e i"terrupts
modo modo modo modo modo modo
"orma# de igua#ar de igua#ar de igua#ar de igua#ar de igua#ar
mi"utos horas AQos meses dXas
http://relojcalendariotemyhum.blogspot.com/
Página 3F
8e"u D Y? modo de guardar e" memoria tiempo y !echa actua#izada */ i! G-B3.& DD &HN // 3ot" de 8e"Z 8e"u D 8e"u O &? // me"u e" modo de igua#ar hora y !echa de#ay@msG500H? de#ay@msG500 H? // retrazo para eitar rebotes P i! G8e"u DD YHN rtc@set@timeGhora,mi"u,se rtc@set@time Ghora,mi"u,segH? gH? // me"u e" modo de grabar e" memoria de# 9&10L e# tiempo y !echa actua#izada. rtc@set@dateGdia,mes,a"yoH? de#ay@msG&000H? 8e"u D 0? P
RT.Y D -9A@2@T:8:RAT4RA -9A@2@T:8 :RAT4RA U 0;00? RT3.0 D -9A@2@+48:A -9A@2@+48 :A U 0;00?
i!G8e"u DD 0HN // obte"er e# tiempo y !echa e" modo "orma# rtc@get@timeGUhora,Umi"u,UsegH? rtc@get@dateGUdia,Umes,Ua"yoH? P
cTemp&D0? i! GiCo"t=D50000HN GiCo"t=D50000HN Ri"!DR0*e;pG)beta/T0H? Ri"!DR0*e;pG )beta/T0H? // D 0.0&2Y0L' adc@dataDread@adcGLH? adc@dataDrea d@adcGLH? // #eo e# ca"a# AC L // CS#cu#o de# a#or de #a resiste"cia termistor GBTCH actua# Ga tra[s de VoutH Vout D Vi"*Gadc@dataH/&021.0? Vi"*Gadc@dataH/&021.0? Rout D GRau;*Vout/GVi")VoutHH? GRau;*Vout/GVi")VoutHH? // Ca#cu#o de #a temperatura e" grados Je#i" TempJD#ogGRout/Ri"!H? TempJDGbeta/TempJH? // Ca#cu#o de #a temperatura e" grados Ce#sius TempCDTempJ)2L1.&5? // A#mace"amos #a temperatura Ggrados Ce#suisH actua# para despues obte"er #a media cTemp& D cTemp& O TempC? de#ay@usG&0H? iCo"t OO? P e#seN // Ca#cu#amos #a temperatura media TempC D Gi"tHGcTemp&/iCo"tH? Gi"tHGcTemp&/ iCo"tH? de#ay@usG&0H? iCo"tD0? P // Co"ierto #os digitos a 3C y #os diido e" dos partes de bits para cada disp#ay. seg@3C D bi"2bcdGsegH? dig@2@s eg D Gseg@3CU0;K0H>>? dig@2@seg Gseg@3CU0;K0 H>>? dig@&@seg D seg@3CU0;0K? seg@3CU0;0K? mi"u@3C D bi"2bcdGmi"uH? bi"2bcdGmi"uH ? dig@2@mi" D Gmi"u@3CU0;K0H>>? Gmi"u@3CU0;K 0H>>? dig@&@mi" D mi"u@3CU0;0K? mi"u@3CU0;0K? hora@3C D bi"2bcdGhoraH? bi"2bcdGhoraH ? dig@2@hora D Ghora@3CU0;K0H>>? Ghora@3CU0;K 0H>>? dig@&@hora D hora@3CU0;0K? hora@3CU0;0K? TempC D bi"2bcdGTempCH? bi"2bcdGTempC H? dig@2@temp D GTempCU0;K0H>>? GTempCU0;K0H> >? dig@&@temp D TempCU0;0K?
http://relojcalendariotemyhum.blogspot.com/
Página 31
dia@3C D bi"2bcdGdiaH? bi"2bcdGdiaH ? Gdia@3CU0;0KH==? mes@3C D bi"2bcdGmesH? bi"2bcdGmesH ? Gmes@3CU0;0KH==? a"yo@3C D bi"2bcdGa"yoH? bi"2bcdGa"yo H? Ga"yo@3CU0;0KH==? +umedad D bi"2bcdG+H? G+umedadU0;0KH==?
dig@2@dia
D dia@3CU0;K0?
dig@&@dia
D
dig@2@mes
D mes@3CU0;K0?
dig@&@mes
D
dig@2@a"yo D a"yo@3CU0;K0? a"yo@3CU0;K0 ?
dig@&@a"yo D
dig@2@hum
dig@&@hum
D +umedadU0;K0?
// Rea#izo #a mi#tip#e;aci" mi#tip#e;aci " de disp#ays. RTA D dig@&@seg? RT3 D dig@&@a"yo? RTA. D -9A@&@9:$? -9A@&@9:$ ? RTC.5 D -9A@&@AB? -9A@&@AB ? de#ay@msG&H? RTA. D -9A@&@9:$ U 0;00? RTC.5 D -9A@&@AB -9A@&@AB U 0;00? RTA D dig@2@seg? RT3 D dig@2@a"yo? RTA.5 D -9A@2@9:$? -9A@2@9:$ ? RTC.Y D -9A@2@AB? -9A@2@AB ? de#ay@msG&H? RTA.5 D -9A@2@9:$ U 0;00? RTC.Y D -9A@2@AB -9A@2@AB U 0;00? RTA D dig@&@mi"? RT3 D dig@&@mes? RTA.Y D -9A@&@8-B? -9A@&@8-B ? RTC.L D -9A@&@8:9? -9A@&@8:9 ? de#ay@msG&H? RTA.Y D -9A@&@8-B U 0;00? RTC.L D -9A@&@8:9 U 0;00? RTA D dig@2@mi"? RT3 D dig@2@mes? RTC.2 D -9A@2@8-B? -9A@2@8-B ? RT.0 D -9A@2@8:9? -9A@2@8:9 ? de#ay@msG&H? RTC.2 D -9A@2@8-B U 0;00? RT.0 D -9A@2@8:9 U 0;00? RTA D dig@&@hora? RT3 D dig@&@dia? RTC.1 D -9A@&@+RA? -9A@&@+R A? RT.& D -9A@&@-A? -9A@&@-A ? de#ay@msG&H? RTC.1 D -9A@&@+RA -9A@&@+R A U 0;00? RT.& D -9A@&@-A U 0;00? RTA D dig@2@hora? RT3 D dig@2@dia? RTC. D -9A@2@+RA? -9A@2@+R A? RT. D -9A@2@-A? -9A@2@-A ? de#ay@msG&H? RTC. D -9A@2@+RA -9A@2@+R A U 0;00? RT. D -9A@2@-A U 0;00? RTA D dig@&@temp? RT3 D dig@&@hum? RT.5 D -9A@&@T:8:RAT4RA? -9A@&@T:8 :RAT4RA? RT.L D -9A@&@+48:A? -9A@&@+48 :A? de#ay@msG&H? RT.5 D -9A@&@T:8:RAT4RA -9A@&@T:8 :RAT4RA U 0;00? RT.L D -9A@&@+48:A -9A@&@+48 :A U 0;00? RTA D dig@2@temp?
http://relojcalendariotemyhum.blogspot.com/
Página 33
D
RT3 D dig@2@hum? RT.Y D -9A@2@T:8:RAT4RA? -9A@2@T:8 :RAT4RA? RT3.0 D -9A@2@+48:A? -9A@2@+48 :A? de#ay@msG&H?
P P
I MÁGENES
D EL PROYECTO CONCLUIDO
http://relojcalendariotemyhum.blogspot.com/
Página 34
http://relojcalendariotemyhum.blogspot.com/
Página 30
http://relojcalendariotemyhum.blogspot.com/
Página 3
http://relojcalendariotemyhum.blogspot.com/
Página 32
http://relojcalendariotemyhum.blogspot.com/
Página 3>
http://relojcalendariotemyhum.blogspot.com/
Página 3A
2EO TEMPE2ATU2A 8UMEDAD '+CL$14F>
C
+ime 8ora Da
M". Mes
Se3. Ao
89: 9:;;
ate B@ro" O.
Me">
http://relojcalendariotemyhum.blogspot.com/
=
<
ON
Página 3E
http://relojcalendariotemyhum.blogspot.com/
Página 4F
http://relojcalendariotemyhum.blogspot.com/
Página 41
Si deseas descargar el proyecto completa visita el siguiente blog: http://relojcalendariotemyhum.blogspot.com/
http://relojcalendariotemyhum.blogspot.com/
Página 43