bonjour à tous,
Je suis novice dans la monde arduino et je sèche depuis deux jours sur un problème surement basique.
J'ai modifié un code pour pouvoir allumer ou eteindre une ventalition grace à un relais en fonction de la temperture et du niveau d'humiditée.
Tout fonction á merveille sur un arduino uno.
Je désire maintenant telecharger le programme sur un mkr1000 pour pouvoir regler a distance via Wifi, les conditions de temperature et d'humidité qui declencheront la ventilation.
voic le code :
#include <LiquidCrystal.h>
#include <dht.h>
dht DHT;
#define DHT11_PIN 2
// the output pin of the LM35 temperature sensor
int temphum = 3;
int lcdRSPin = 8;
int lcdEPin = 9;
int lcdD4Pin = 4;
int lcdD5Pin = 5;
int lcdD6Pin = 6;
int lcdD7Pin = 7;
LiquidCrystal lcd(lcdRSPin, lcdEPin,
lcdD4Pin, lcdD5Pin, lcdD6Pin, lcdD7Pin);
void setup()
{
Serial.begin(9600);
lcd.begin(16, 2);
pinMode(temphum, OUTPUT);
}
void loop()
{
int chk = DHT.read11(DHT11_PIN);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(DHT.temperature);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Hum: ");
lcd.print(DHT.humidity);
lcd.print("%");
Serial.print("Temp: ");
Serial.print(DHT.temperature);
Serial.print("C");
Serial.print("Hum: ");
Serial.print(DHT.humidity);
Serial.print("%");
// wait 1s before reading the temperature again
if (DHT.humidity >35.00 && DHT.temperature >3)
{
digitalWrite(temphum, HIGH);
}
else
{
digitalWrite(temphum, LOW);
}
delay(60000);
}
Le code est compilé et téléchargé sans probleme sur le uno et tout fonctionne tres bien.
Voici le code d'erreur que j'obtiens lorsque je le vérifie en sélectionnant le mkr1000 comme type de carte :
In file included from C:\Users\Geoffroy GARNIER\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.6.12\cores\arduino/delay.h:27:0,
from C:\Users\Geoffroy GARNIER\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.6.12\cores\arduino/Arduino.h:81,
from C:\Users\Geoffroy GARNIER\Documents\Arduino\libraries\DHTLib\dht.h:18,
from C:\Users\Geoffroy GARNIER\Documents\Arduino\libraries\DHTLib\dht.cpp:30:
C:\Users\Geoffroy GARNIER\Documents\Arduino\libraries\DHTLib\dht.cpp: In member function 'int dht::_readSensor(uint8_t, uint8_t)':
C:\Users\Geoffroy GARNIER\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.6.12\variants\mkr1000/variant.h:47:78: error: invalid conversion from 'PortGroup*' to 'uint8_t {aka unsigned char}' [-fpermissive]
#define digitalPinToPort(P) (&(PORT->Group[g_APinDescription[P].ulPort]))
^
C:\Users\Geoffroy GARNIER\Documents\Arduino\libraries\DHTLib\dht.cpp:115:17: note: in expansion of macro 'digitalPinToPort'
uint8_t port = digitalPinToPort(pin);
^
C:\Users\Geoffroy GARNIER\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.6.12\variants\mkr1000/variant.h:51:41: error: base operand of '->' is not a pointer
#define portInputRegister(port) (&(port->IN.reg))
^
C:\Users\Geoffroy GARNIER\Documents\Arduino\libraries\DHTLib\dht.cpp:116:29: note: in expansion of macro 'portInputRegister'
volatile uint8_t *PIR = portInputRegister(port);
^
Utilisation de la bibliothèque Adafruit_Sensor-master version 1.0.2 dans le dossier: C:\Users\Geoffroy GARNIER\Documents\Arduino\libraries\Adafruit_Sensor-master
Utilisation de la bibliothèque LiquidCrystal version 1.0.5 dans le dossier: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal
Utilisation de la bibliothèque DHTLib prise dans le dossier : C:\Users\Geoffroy GARNIER\Documents\Arduino\libraries\DHTLib (legacy)
exit status 1
Erreur de compilation pour la carte Arduino/Genuino MKR1000
Merci beaucoup pour votre aide !