Ok super merci pour les réponses!
Lien vers le F12 PWM
Les modifs ont été faites (ajout résistances, remplacement par IRLZ44N):
J'ai précisé que les diodes seraient de type Schottky conformément à cette page.
" la diode est capable de basculer (passer de l’état bloquant à passant) de manière très rapide. Dès lors qu’il y a une surtension engendrée par le moteur lorsque l’on le coupe de l’alimentation, la diode va l’absorber aussitôt avant que le transistor ait le temps d’avoir des dommages"
Et le code:
#include "DHT.h"
//CONNEXIONS DU DHT22
// Connexion de pin 1 (à gauche) au +5V
// Connexion de pin 2 (data) à la broche définie par DHTPIN
// Connexion de pin 4 (à droite) au GROUND
// Connexion d'un resistance 10K entre pin 2 (data) et + 5V
#define DHTPIN 2 // definotion de la broche de la connection du DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302) définition du type de capteur DHT
#define fan 11 // broche du moteur
int vitesse = 0; // definition d'une variable appellée vitesse, celle de rotatation du moteur du ventilateur
DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor for normal 16mhz Arduino
void setup() {
pinMode(fan, OUTPUT); // je declare fan comme etant une broche de sortie
// Serial.begin(9600); // pas d'affichage serial pour le moment, je risque par contre de ne pas savoir s'il y a des erreurs
dht.begin(); // initialisation du DHT
}
void loop() {
// pas de temps de mesure, attente pour lire les capteur (normalement 250 ms, mais peut aller jusque 2s si capteurs "usés" a ce que j'ai compris
delay(2000);
float h = dht.readHumidity(),0,100; // definition d'une variable à virgule flottante apellée h, l'humidite
// et qui lit sur le capteur l'humidité allant de 0 à 100.
if (! isnan(h)) { // si c'est un nombre valide
vitesse=constrain(map(h, 0, 100, 0, 255), 0 , 255); //vitesse est la valeur proportionnelle à l'humidité, mais s'étale de 0 à 255
}
if(h<40){
analogWrite(11,0); // si l'humidite est inferieure a 40%, le ventilo est à l'arrêt
}
else{
if(h>42){
analogWrite(11,vitesse);
}
}
}
"Un ventilo 3 fils ne tournera pas en dessous de ~ 5V. Tu dois en tenir compte dans le logiciel.
Il faut essayer de mesurer sa tension minimale de démarrage."
OK. Bon en fait 40% de 12V (seuil de démarrage du ventilo) ça fait 4.8V...C'est pas parfait si je dois monter à 5V mais je peux m'en contenter.
"car il existe aussi en PWM. Dans ce cas pas besoin de mosfet? mais l'entrée pwm de ce ventilo est-elle en 12v? Car les broches de l'arduino sortent max 5v."
"Je crois que le signal PWM est en 5V."
ça voudrait dire que, dans le cas d'un F12 PWM (qui contrairement au premier, a 4 pins), je branche les fils sur GND et 12V, normal, et je peux piloter "en direct" depuis la broche 11 de l'arduino vers la pin pwm du ventilo? la dernière pin étant j'imagine le tachymètre.
Merci encore.