Bonjour à tous,
Je me lance dans l'univers arduino avec un projet relativement simple (à mon avis) mais qui ne l'est pas pour moi visiblement.
Il s'agit d'un "contrôleur" de ventilateur pour un caisson d'imprimante 3D, un capteur de température (DHT22) active un relais qui met en marche un ventilateur de pc (12v) passé une certaine température.
J'ai testé ce montage sur une carte Arduino Uno et une Breadboard, l'ensemble fonctionne à la perfection. Par la suite j'ai voulu le fixer sur une carte PCB double côté pour le rendre définitif. Le courant semble circuler correctement jusque là pas de problème.
C'est au moment du téléversement vers une copie chinoise d'Arduino Nano (la Elegoo Nano V3.0) qui utilise un ATmega328P et un chip CH340 que les problèmes ont commencé.
J'ai au préalable installé les drivers (trouvé sur le site de la marque) vérifié que je suis sur le bon port (COM8 dans mon cas) et sélectionné la bonne carte "Arduino Nano" avec le processeur "ATMega328P (Old Bootloader)".
Au moment du téléversement j’obtiens ce message d'erreur:
Arduino : 1.8.13 (Windows Store 1.8.42.0) (Windows 10), Carte : "Arduino Nano, ATmega328P (Old Bootloader)"
Le croquis utilise 3960 octets (12%) de l'espace de stockage de programmes. Le maximum est de 30720 octets.
Les variables globales utilisent 203 octets (9%) de mémoire dynamique, ce qui laisse 1845 octets pour les variables locales. Le maximum est de 2048 octets.
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xda
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xda
Problème de téléversement vers la carte. Voir http://www.arduino.cc/en/Guide/Troubleshooting#upload pour suggestions.
Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
SI quelqu'un a une idée et/ou une explication je suis preneur...
SI jamais, voici le code du programme:
#include "DHT.h"
#define DHTPIN 2 // Digital pin connected to the DHT sensor
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
const byte interrupteur = 3; //pin de l'interrupteur qui allumele circuit
void setup() {
Serial.begin(9600);
pinMode(6, OUTPUT); // Sortie relais
dht.begin();
pinMode (interrupteur, INPUT_PULLUP);
}
void loop() {
delay(2000);
// Read temperature as Celsius (the default)
float t = dht.readTemperature();
if (digitalRead (interrupteur) == LOW)
{
if (t>20){ // Si la température est supérieure à 20°C alors...
digitalWrite(6, HIGH);
}
else{
digitalWrite(6, LOW);
}
}
if (digitalRead (interrupteur) == HIGH){ //Si l'interrupteur est ouvert alors le relais s'éteint
digitalWrite(6, LOW);
}
}
Merci d'avance pour vos réponses