Bonjour je souhaite faire un programme de test pour faire tourner un moteur a courant continu avec une accélération lorsque la température dépasse par exemple 10°C j'ai deja trouver un petit bout du programme pour convertir les valeurs du capteur de température en °C. voici mon programme mais lorsque je le test avec un générateur rien ne se passe. il y a quelques // a ne pas prendre en compte
{code}
#define In1 5
#define In2 6
#define pinTempSensor 1 // Grove - Temperature Sensor connect to A5
//#define Capt_lum 2
//#define mot2
#include <math.h>
boolean ouverture;
int temp;
//int lum;
void setup()
{
Serial.begin(9600);
// put your setup code here, to run once:
pinMode(pinTempSensor,INPUT);
pinMode(In1,OUTPUT);
pinMode(In2,OUTPUT);
//pinMode(Capt_lum,INPUT);
//pinMode(In1,OUTPUT);
//pinMode(In2,OUTPUT);
}
float lect_temp ()
{
int a;
float R;
float temperature;
const int B = 4250; // B value of the thermistor
const int R0 = 100000; // R0 = 100k
a = analogRead(pinTempSensor);
R = 1023.0/a-1.0;
R = R0*R;
temperature = 1.0/(log(R/R0)/B+1/298.15)-273.15; // convert to temperature via datasheet
Serial.print("temperature = ");
Serial.println(temperature);
delay(100);
return (temperature);
}
void loop() {
temp = lect_temp();
if(temp >10) //&&(lum>50000)
{
ouverture==true;
}
else
{
ouverture==false;
}
if(ouverture==true)
{
digitalWrite(In2,LOW);
analogWrite(In1,32);
delay(1111);
analogWrite(In1,64);
delay(1111);
analogWrite(In1,85);
delay(1111);
analogWrite(In1,128);
delay(1111);
analogWrite(In1,255);
delay(1111);
analogWrite(In1,128);
delay(1111);
analogWrite(In1,85);
delay(1111);
analogWrite(In1,64);
delay(1111);
analogWrite(In1,32);
delay(1111);
}
else
{
digitalWrite(In2,LOW);
digitalWrite(In1,LOW);
delay(2000);
}
}
{/code}
Mon pont en h est basique 8Ampère et je fait mes test avec un moteur de lève vitre de voiture.
En espérant pouvoir être aider.