Le but premier de ce projet etait de mettre en oeuvre un afficheur graphique de
telephone portable Nokia.
Le montage presente ici  est un petit thermometre autonome, permettant d'une 
part d'afficher toutes les secondes deux temperatures(interieure et exterieure)
et d'autre part, de visualiser sur deux courbes distinctes, les 72 dernieres 
temperatures, prises toutes les 5 minutes.

Caracteristiques

    * Afficheur graphique 84x48 (LPH7779)
    * PIC 18LF452 en boitier TQFP (pas facile a souder)
    * Capteurs de temperature Dallas geres par protocole 1-Wire
    * Alimentation par deux piles 1.5V
    * Le montage se loge dans une petite boite en platique.

On peut mettre en avant 3 criteres pour concevoir cette realisation :

    * miniaturisation
    * consommation
    * tension d'alimentation

Miniaturisation
L'element le plus volumineux etant l'afficheur, il est necessaire de faire une 
carte de la meme taille, voire plus petite.
Dans ce cas, on prend un PIC en boitier TQFP, un capteur DS1822 en boitier SO8 
(CMS) pour la temperature interieure. Le capteur exterieur n'etant pas integre 
sur la carte, la version TO92 suffit.
Au niveau du quartz, on peut prendre un boitier normal, voire bas-profil.

Tension d'alimentation
On choisit ici de n'avoir qu'une seule alimentation (2 piles de 1.5V).
L'afficheur ne fonctionnant qu'en 3V, il faut donc utiliser un PIC de la famille 
LF. Pour les capteur Dallas, pas de soucis ; ils travaillent de 3 a 5V.

Consommation
Pas de secret. Il faut tourner le moins vite possible a une tension la plus 
faible possible.
Pour la tension on ne peut plus rien faire de miraculeux (simplement).
En revanche, pour la vitesse, on pourrait imaginer tourner (au niveau du PIC) 
a 32KHz. Mais, il y a un mais, il n'est plus possible de respecter les timings
pour gerer le protocole 1-Wire.
On devrait pouvoir tourner a 2MHz mais, n'ayant pas de Quartz de cette valeur,
j'ai pris la valeur dispo : 4MHz.

La version V1 correspond à la version réalisée (en photo) et consomme quelque 
chose comme 2.5mA. C'est beucoup trop pour 2 petites piles, si l'on veut une 
grande autonomie ou si l'on veut mettre deux piles lithium.

L'idee (version V2) consiste a utiliser le mode sleep du PIC pour ne rien faire.
Cela necessite un quartz supplementaire de 32KHz. En effet, ce quartz est connecte
a un timer interne du PIC qui continue de fonctionner lorsque le PIC est en "sleep".
Lorsque le timer "overflow", une interruption reveille le PIC. Ce dernier recupere
les donnees des capteurs, fait les conversions pour l'affichage, dessine sur 
l'afficheur, relance les conversions de temperature et se remet en sommeil ...
Avec cette technique, simple, on devrait gagner un petit peu. Il ne reste qu'a
le tester !

Version V1 (16/12/2004): Fonctionne, ou plutot a fonctionnee, devrais je dire : j'ai mis en
orbite l'afficheur en le coincant dans une fenetre au moment de sa mise en 
service officielle !

Version V2 (01/01/2005) : La carte etant tres peu differente de la version A, elle ne devrait
pas poser de probleme. En revanche, la gestion de l'interruption et du mode sleep
n'est pas implementee a ce jour.

Nomenclature
------------
1x PIC18LF452 TQFP
1x DS1822 TO92
1x DS1822 SO8
1x Quartz 4.0MHz
2x Condensateurs 33pF CMS
1x Condensateur 1uF
3x Resistances 10K CMS
1x Afficheur LPH7779 provenant d'un GSM Nokia type 3310
1x Quartz 32768KHz (platine Version V2)

Implantation des composants
---------------------------
Voir fichiers ThermoLog_V1_composants.png & ThermoLog_V2_composants.png

En rouge : connecteurs
En bleu : condensateurs
En vert : resistances
En gris : circuits integres
En rose : quartz


Liste des fichiers sources
--------------------------
Les sources sont destines a etre compiles avec MCC18 de Microchip.
Les fichiers ThermoLog_V1.brd et ThermoLog_V2.brd correspondent aux PCB (format Eagle)

Linux Files
-----------
Makefile      : Project file
NokiaMain.c   : Main Linux file
S_DS1822.c    : Dallas stub routines
S_DS1822OD.c  : Dallas stub routines
SimuLcd.c     : Display routines
SimuLcd.h     :

Common files
------------
Temperature.c : Temperature conversion routines
Temperature.h : 
NokiaLCD.c    : Nokia LCD routines
NokiaLCD.h    : 
Sample.c      : Samples routines
Sample.h      :
DS1822.h      : Dallas DS1822 prototypes 
DS1822OD.h    : 
Platform.h    : Types & typdedef 

PIC files
---------
DS1822.c      : Dallas DS1822 routines
DS1822OD.c    : Dallas DS1822 routines
Wait.h        : Crystal dependent routines
Thermo.c      : Main PIC file
Thermo2.mcp   : MPlab project file
Thermo2.mcw   : MPlab workspace file
Thermo.lkr    : MPlab linker file

