Bonjour à tous ,
J' ai réussi à faire le montage et le programme arduino pour afficher la fréquence en Hertz et la vitesse en Tr/min .
Merci à TOUS de m'avoir mis sur le chemin .
Pour résumer , j'ai utilisé un arduino UNO + un LCD 2 lignes basique avec un module I2C.
J'ai confectionner un code pour arduino avec des exemples combinés de plusieurs sites pour mesurer la fréquence et en déduire les tours par minutes.
En branchement finalement le signal du contrôleur de la broche PG sur la PIN8 de l' arduino et les masses, j' ai bien l' affichage des 2 valeurs.
Pour l'essai , j' avais branché l'arduino avec une pile 9V, plus tard je me reprendrai sur un 12V interne de mon coffret de commande.
Sur cette photo, mes premiers essais avec un montage à base de NE555 .
CI dessous le code :
---------------------------------------------------------------------------------------------------------------------
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int Htime; //integer for storing high time
int Ltime; //integer for storing low time
float Ttime; // integer for storing total time of a cycle
float x; //storing x for frequency
int frequency=round(x); // frequence arrondie au dessus , pas de virgule
float y; //storing x for trmin
int trmin=round(y); // trmin arrondie au dessus , pas de virgule
void setup()
{
pinMode(8,INPUT); // entree PIN 8 pour mesure
lcd.init(); // initialisation du LCD
lcd.backlight(); // allumage retro eclairage
//-------- Write characters on the display ------------------
// NOTE: Cursor Position: (CHAR, LINE) start at 0
delay(2000);
lcd.setCursor(0,0); //Start at character 0 on line 0
lcd.print("-----jeo------"); // ecriture texte de presentation 1ere ligne
delay(2000);
lcd.setCursor(0,1);
lcd.print("mon tachymetre"); // ecriture texte de presentation 2eme ligne
delay(4000);
lcd.clear(); // effacement du LCD
}
void loop()
{
Htime=pulseIn(8,HIGH); //read high time
Ltime=pulseIn(8,LOW); //read low time
Ttime = Htime+Ltime;
frequency=1000000/Ttime; //getting frequency with Ttime is in Micro seconds
lcd.setCursor(0,0); //Start at character 0 on line 0
lcd.print(frequency); //ecriture de la frequence
lcd.print(" Hz "); //ecriture de HZ
delay(500);
trmin=frequency*60; //calcul de la vitesse
lcd.setCursor(0,1); //Start at character 0 on line 1
lcd.print(trmin); //ecriture de la vitesse
lcd.print(" tr/min "); //ecriture de tr/min
delay(500);
}
---------------------------------------------------------------------------------------------------------------
En tout cas, bien heureux d' avoir réussi et de pouvoir faire partager cette info avec vous .
Certainement que les choses peuvent être améliorées, je ne suis pas un pro donc n' hésitez pas à corriger ou à améliorer ce post.
Merci Forum !!