***Pour revenir à la page d’accueil** ICI
Le principe de ce petit montage est d’apparier tout capteur( sonde, Trama...) plus ou moins compatible avec le cadran d’origine sur nos autos/motos d’époque.
Cet adaptateur se veut aussi générale que possible entre tout capteur résistif (ou même capacitif) et tout afficheur.
Par exemple : flotteur de niveau de carburant, capteur de pression d’huile, capteur de temperature... et un afficheur de type cadran à aiguille.
En utilisant pour l’étalonnage un smartphone (ou tablette) sous Android, la partie materiel est simplifiée au maximum, 4 ou 5 composants + Nano Arduino et module Bluetooth HC05/06.
Ceci permet de se passer de circuit imprimé et de limiter le coût autour de 10€.
Le module Bluetooth ne servant que pour l’étalonnage on le retire du circuit en utilisation normale.
Sur établi,le montage est alimenté en 12V, ou même 9V.
Comme nous sommes dans le cas d’un capteur résistif :
une resistance de 100 ohms est connectée entre +5V et A0
la broche A6 est connectée au +5V
On connecte le capteur entre la broche A0 et la masse.
Après installation d’une appli type Terminal, de preference "Bluetooth Terminal HC05", sur le smartphone, on se connecte et choisit l’étalonnage en tapant "e" puis l’étalonnage du capteur par "c". La tension d’entrée s’affiche.
Capteur à vide, on enregistre cette tension comme "z".
On applique 1 bar au capteur (pression d’eau par exemple, ou d’air avec un compresseur).
A la pression de 1 bar, on enregistre le capteur comme "a" et ainsi de suite jusqu’à 6 bar enregistré comme "d".
Sur le véhicule, cadran connecté au montage, on effectue cette fois l’étalonnage de l’afficheur (cadran).
l’Arduino génère un déplacement croissant de l’aiguille.Quand celle ci arrive au 0, on fige cette valeur en tapant "f", et on l’enregistre comme "z".
L’aiguille poursuit son déplacement, et quand elle atteint ce que l’on estime correct pour 1 bar, on fige cette valeur en tapant "f", on l’enregistre comme "a" etc.
Devant les positions 1 et 5 il serait utile pour cet exemple d’ajouter un repère sur le verre.
On peut alors débrancher le module Bluetooth qui ne sert plus une fois l’étalonnage terminé.
Tout ceci est plus simple à réaliser qu’à décrire car l’on est guidé par le texte à l’écran du smartphone.
Quand on met le contact, à titre de verification, le cadran affiche toutes les secondes : 0 puis 1, puis 3, puis 5, et enfin 6 avant de revenir afficher la valeur actuelle.
Entre 0 et 5 V la valeur varie de 0 à 1023 unités.
Le cadran est alimenté en PWM fourni par l’Arduino.
Une originalité pour le capteur capacitif :
on ne cherche pas à mesurer sa capacité ( de 120 à 300 pF, typique) mais la tension aux bornes du diviseur capacitif qu’il constitue avec la resistance parasite de la broche A0 vers la masse ( environ 30 pF) en parallèle avec 220pF.
La broche A2 charge quasi instantanément les condensateurs en série sous 5V et on lit la tension en A0 (comme pour le capteur résistif).
Ensuite on décharge les condensateurs : d’abord A2 à la masse puis A0 à la masse.
Coucou mon Philippe,
Et on en profiterait pas pour rajouter une petite Led d’alarme (basse ou haute ou les deux avec une bi-colore Vert/Rouge) ?
je sais que c’est la crise mais tout de meme :) :)
Biz de ton lulu
Bonjour Ludo
je ne vais quand même pas te refuser ça...
D4 au +5V quand < mini et D5 au +5V quand > maxi ça t’irait ?
Bonjour Alors je sui complètement débutant avec Arduino, et voulais tester ce programme (mon objectif étant de transformer une jauge de NIVEAU d’huile de Citroen SM en jauge de PRESSION d’huile). J’ai donc installé l’IDE d’Arduino et recopié votre code. Lors de la phase de vérification, j’ai l’erreur suivante :
Arduino : 1.8.8 (Mac OS X), Carte : "Arduino/Genuino Uno"
In function ’void setup()’ : /private/var/folders/cl/cyxs__0s03503m2qzvnlrj340000gn/T/AppTranslocation/B8AC4F3F-5453-40CF-B1BC-B7FE42FAE7A4/d/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/EEPROM/src/EEPROM.h:130:5 : error : invalid declaration of member template in local class
template< typename T > T &get( int idx, T &t ) ^
/private/var/folders/cl/cyxs__0s03503m2qzvnlrj340000gn/T/AppTranslocation/B8AC4F3F-5453-40CF-B1BC-B7FE42FAE7A4/d/Arduino.app/Contents/Java/hardware/arduino/avr/libraries/EEPROM/src/EEPROM.h:137:5 : error : invalid declaration of member template in local class
template< typename T > const T &put( int idx, const T &t ) ^
sketch_mar22a:62:1 : error : a function-definition is not allowed here before ’’ token //Affiche les 5 points de l’afficheur au demarrage ^
sketch_mar22a:78:1 : error : a function-definition is not allowed here before ’’ token ^
sketch_mar22a:87:1 : error : a function-definition is not allowed here before ’’ token //Interpolle pour la periode de l’afficheur ^ sketch_mar22a:412:1 : error : expected ’’ at end of input ^ exit status 1 a function-definition is not allowed here before ’’ token
J’ai logiquement les mêmes erreurs en travaillant sur Windows.
Ou est le problème ? Merci
NB : le caractère qui ne s’affiche pas dans le " avant token est (accolade)
Bonjour Pierreb18
ton problème de compilation semble dû au Mac ?
Peux tu préciser ce que tu as fait pour le résoudre : mis les fonctions en fin de programme ?
D’autre part quand tu auras avancé sur cette appli intéressante, merci de me passer l’info, je l’ajouterai à l’article.
En attendant tu peux me contacter sur philippe.loutrel@laposte.net
Amitiés