Pages: [1]   Go Down
Author Topic: IR-Blue-duino caméra thermique  (Read 3013 times)
0 Members and 1 Guest are viewing this topic.
France
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3515
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je vous fais partager ma dernière réalisation.
Une caméra thermique basée sur le capteur Melexis MLX90620. Ce capteur infrarouge permet de faire de vrais images thermiques. Il est relativement bon marché. En contre-partie la résolution est assez faible mais on peut quand même faire des choses pas mal avec.
Je n'ai pas inventé grand chose. Je suis parti d'un projet open source qui utilisait un PIC et j'ai adapté le schéma et le code pour le faire tourner sur plate-forme Arduino.
En pièce jointe un petit document avec des liens vers les projets dont je me suis inspiré, quelques explications le schéma, la nomenclature valorisée et des photos de la réalisation.
La montage fonctionne en association avec un smartphone Android ou iPhone(n'ayant pas d'iPhone moi même je n'ai pas pu tester si le portage fonctionne aussi sur iPhone).
Le capteur infrarouge est lu par l'arduino. L'image infrarouge est ensuite transmise par bluetoth au téléphone pour affichage.
La photo en pièce jointe montre ce que l'on peut obtenir. L'image infrarouge n'est pas parfaitement superposée car pour l'instant je n'ai pas trouvé de moyen pour garantir un bon alignement entre mon boîtier et le téléphone. L'application sur le smartphone permet d'aligner correctement les 2 images.
La sortie se faisant par la liaison série (ou le bluetooth) on peut très bien récupérer les informations par un autre moyen que le téléphone et exploiter, par exemple, les images sur un PC.

Edit : 22/6ajouté une photo du boîtier en situation.
Edit : 23/6 explications complémentaires
Edit : 10/7 changé le pdf (j'avais oublié de mettre le schéma)

* MLX90620_IR_Blue.ino (8.71 KB - downloaded 90 times.)

* FIR130622171235.png (252.83 KB, 800x420 - viewed 453 times.)

* P6220396.JPG (24.23 KB, 633x305 - viewed 206 times.)
* IR-blue-duino_project.pdf (311.01 KB - downloaded 231 times.)
« Last Edit: July 10, 2013, 02:00:35 am by fdufnews » Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ahhhh mais c'est perfecto ça !!! bien joué, il ce pourrai que j'utilise ce capteur thermique incessamment sous peut !!!!

L’échantillonnage est - il assez rapide? en tout cas chapeau smiley

Skizo !

Logged

Un tien vaux mieux que deux tu l'auras !

France
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3515
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

L’échantillonnage est - il assez rapide?
Le capteur a une interface I²C. Donc il n'y a pas de problème d'échantillonnage.
La résolution du capteur étant assez basse, il y a peu de points à lire et les données peuvent être rapatriées rapidement.
Par contre si tout le traitement est fait dans l'Arduino (compensation d'offset et  de gain point à point, compensation en température) comme les calculs se font en flottant cela charge pas mal le micro. Mais c'est possible j'ai commencé comme ça avant de trouver l'appli sur smartphone.
Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, et tu peut interpréter ces données directement dans le arduino? si c'est le cas je crois que ça sera mon prochaine achat :p

Skizo !
Logged

Un tien vaux mieux que deux tu l'auras !

France
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3515
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, et tu peut interpréter ces données directement dans le arduino? si c'est le cas je crois que ça sera mon prochaine achat :p
Sans problème.
Voilà le code dont je suis parti. Là tous les calculs sont fait dans l'arduino. La sortie se fait sur la console mais libre à toi de faire ce que tu veux. Il suffit de remplacer la fonction Temperatures_Serial_Transmit() par ton traitement. Les données sont dans le tableau "temperatures".
Concernant la sortie sur la console, il y a un #define VT100 qui permet d'activer, lorsqu'il est decommenté, une mise en forme pour rendre l'affichage plus agréable sur un terminal émulant le standard VT100 (Hyperterminal, Putty, Realterm, Minicom, ...).

ATTENTION
Dans le fichier "MLX90620_Example.ino" il y a le tableau "alpha_ij" qui doit être adapté à chaque capteur. Pour cela il faut utiliser "MLX90620_alphaCalculator.ino" qui va générer les valeurs du tableau à recopier dans toutes les applications que tu feras avec ce même capteur. C'est à faire en premier car sinon les valeurs retournées par "MLX90620_Example.ino" sont erronées.

* MLX90620_examples.zip (8.11 KB - downloaded 39 times.)
Logged

83 - var
Offline Offline
God Member
*****
Karma: 9
Posts: 864
ARDUINO Powa !
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok je te remercie de ton retour d’expérience tu va me faire gagné beaucoup de temps smiley C'est parfait pour ce que je veux faire en plus :p


encore merci !
Skizo
Logged

Un tien vaux mieux que deux tu l'auras !

France
Offline Offline
Faraday Member
**
Karma: 38
Posts: 3515
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oupssss  smiley-red
Je viens de m'apercevoir que j'avais mis le mauvais pdf dans le premier post. Il manquait le schéma du montage.
L'erreur est corrigée, le premier post mis à jour. La schéma est maintenant dans le document "IR-blue-duino_project.pdf"
Logged

Pages: [1]   Go Up
Jump to: