Go Down

Topic: Controllo RGB led con sensore DHT11 (Read 354 times) previous topic - next topic

Sergio_A

Salve a tutti,
volevo costruire una lampada che cambiasse colore in funzione della temperatura ambiente.
Dopo una ricerca online ho trovato questo progetto:

http://breadboarder.blogspot.com/2015/06/arduino-with-dht11-and-rgb-led-which.html

Dopo aver realizzato i vari collegamenti sulla breadboard ho fatto un copia incolla dello skecth e al momento della verifica mi sono imbattuto in questo errore:

exit status 1
dht.h: No such file or directory


Ho pensato fosse un problema di libreria non aggiornata al quale ho provveduto immediatamente ma il problema persiste.

Qualche suggerimento?

Grazie mille

fabpolli

Ti manca la libreria per gestire il DHT, l'hai installata dal library manager?
Se si solito consiglio, fatti una versione portabile dell'IDE (scarica lo zip dal sito, scompattalo e al suo interno crei una cartella con nome portable) lo avvii, installi la libreria per il DHT dal library manager, apri il tuo programma e riprovi se con la versione portabile funziona tutto oppure no

torn24

Se il messaggio è ancora quello, allora non hai installato bene la libreria! L'IDE non distingue le versioni della libreria, cerca la libreria con quel nome nelle cartelle specifiche. Il problema che sia la prima volta, che dopo con la libreria aggiornata, non sono state inserite nella cartella giusta.

Sergio_A

Siccome non sono una cima, mi sono voluto informare su cosa fosse Arduino portable e mi sono imbattuto in queste istruzioni che erano molto simili alla risposta di fabpolli:

https://www.arduino.cc/en/Guide/PortableIDE

Ho seguito le istruzioni per creare le cartelle, ho aggiornato le librerie ma niente da fare.

Sulle istruzioni di fabpolli specifica di avviare Arduino portable... io ho solo la versione "arduino-1.8.9".

Grazie ancora!!

torn24

Sul computer hai in programmi(86) la cartella "arduino" se la apri troverai la sub cartella "libraries", a quel punto puoi vedere se è presente la cartella con il nome della libreria. Volendo con copia e incolla la puoi aggiungere manualmente senza il gestore.

fabpolli

Siccome non sono una cima, mi sono voluto informare su cosa fosse Arduino portable e mi sono imbattuto in queste istruzioni che erano molto simili alla risposta di fabpolli:

https://www.arduino.cc/en/Guide/PortableIDE

Ho seguito le istruzioni per creare le cartelle, ho aggiornato le librerie ma niente da fare.

Sulle istruzioni di fabpolli specifica di avviare Arduino portable... io ho solo la versione "arduino-1.8.9".

Grazie ancora!!
Hai installato Arduino con l'installer oppure hai scaricato il formato zip e lo hai scomattato inuna cartella a tuo piacere? Se hai fatto l'installer prova la seconda strada, zip, scompatti in un posto che ti piace (magari non nella cartella programmi), prima di aprirlo crei la cartella portable e poi avvii l'IDE, installi le librerie e riprovi con questa versione.

torn24

L'IDE con istallazione è quello consigliato, solo se non si è amministratori del sistema si ha l'alternativa di IDE senza installazione. Il programma è collaudato, quindi porrei l'attenzione a cosa fai di sbagliato piuttosto di pensare che IDE "non funzioni correttamente".

fabpolli

Che ci sia un errore nell'installazioen della libreria è chiaro, però visto gli innumerevoli problemi avidenziati n passato da utenti che avevano incasinato tutto con installazione di librerie di terze parti in modi anche non canonici pasare da un installazione nuova, portable a volte aiuta a passare l'ostacolo e capire meglio dove stia il problema.
Una grande parte degli utilizzatori del forum è passato all'uso delle portable da tempo, e la consigliano per molti aspetti rispetto alla versione con installatore

torn24

Non ho "antipatia" per una o per l'altra versione dell' IDE :) ma non sono a conoscenza che una abbia bug rispetto ad un altra. Ma posso anche sbagliarmi  :)

fabpolli

Ovvio che non sono buggate ne una ne l'altra, o meglio almeno per la parte di gestione librerie, piccoli bug ci sono e man mano li correggono ovviamente

Sergio_A

Slave Ragazzi,
intanto ringrazio chi si è interessato al mio problema e poi volevo informare che ho risolto tagliando la testa al toro... Ho utilizzato un.altro tipo di sensore: "KY-001" basato su DS18B20 e uno sketch tutto nuovo.



Code: [Select]
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

#define RED_PIN 11
#define GREEN_PIN 10
#define BLUE_PIN 9

int blue = 255, red = 0;

void setLED(int blue, int red) {
  analogWrite(BLUE_PIN, blue);
  analogWrite(RED_PIN, red);

}

void setup(void) {
  pinMode(BLUE_PIN, OUTPUT);
  pinMode(RED_PIN, OUTPUT);
  pinMode(GREEN_PIN, OUTPUT);

  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Librery Demo");

  sensors.begin();
  for (int i = 0; i < 255; i++) {
    setLED(255 - i, i);
    delay(20);
  }
 }

void loop(void) {
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures();
  Serial.println("DONE");

  Serial.print("Temperature is: ");
  float temp = sensors.getTempCByIndex(0);
  Serial.println(temp);
  if (temp <= 30.00 && temp > 18.00) {
    red = map((int) (temp * 100), 1800, 3000, 0, 255);
    blue = 255 - red;
   
  }
  setLED(blue, red);
  delay(10);
}


Funziona tutto Perfettamente.

Grazie

Go Up