[Neofita] Delucidazioni progetto green

leo72:
Per esperienza, ti posso dire che se non metti quel controllo poi hai problemi ad aprire la seriale dal PC.

Si, appunto .. serve poi per la gestione della seriale :slight_smile:

Io suggerivo, in generale, il delay() per evitare i soliti casini con il bootloader ... :wink:

E comunque ... non mi spiego gli errori che sta incontrando ardumaker ... :roll_eyes:

Guglielmo

Neanch'io (ho letto il thread).
L'unico suggerimento che mi viene da dare è quello di utilizzare le piazzole ICSP, saldarci 6 pin, prendere un programmatore esterno e provare a riscriverci sopra il bootloader ufficiale della Leonardo/Micro. E vedere se così viene gestita dall'IDE di Arduino. Altrimenti, se anche così non va, scrivere gli sketch via ICSP bypassando il bootloader.

Ho provato con un altro pc.. ora riesco a caricare anche se a volte mi compare lo stesso errore interessante la questione della condizione if.. non ho però ben capito, vale la pena inserirlo nel mio sketch? Il fatto è che a volte va e altr no pur lasciando sempre connesso il chip. Mmmh

Di sicuro il delay(1000) all'inizio ti protegge da problemi con il bootloader e la "if (Serial)" ti assicura che la porta seriale/USB sia veramente aperta prima di leggerci/scriverci :wink:

Quindi ... male non fanno ... :grin:

Guglielmo

Piano piano sto facendo passi avanti, ora mi sono bloccato alla lettura dei valori dal DHT11 e dal Moisture Sensor... collegandoli correttamente infatti, e scrivendo un esempio di codice trovato nelle loro librerie, mi esce come risultato "Read Fail"..
Quale potrebbe essere il problema?

Allego codice:

 /*
Connection:
1.DHT11 & Free Life v1.0 board
    S      ---   Digital Pin9
   VCC     ---   VCC
   GND     ---   GND
   
2.Moisture Sensor(Humidity) & Free Life v1.0 board 
    1S      ---   Analog Pin2
   2GND     ---   GND
   3VCC     ---   VCC
*/

#include <AutoWatering.h>
#include <DHT.h>

#define MaxTemprature 40  //The Maximum Value of the Temperature
#define Sensor 1
#define Carbon 0

AutoWatering flower;

int temperature;
int moisture_dat;
int humidity;

void setup()
{
  flower.Initialization();//Initialization for the watering kit
  Serial.begin(115200);//Buad Rate is set as 115200bps
}
void loop()
{
  //Obtain the Temperasture from DHT11 Sensor
  temperature = flower.getTemperature();
  Serial.print("Temperature is:" );
  Serial.println(temperature);  
  
 //Obtain the Humidity from DHT11 Sensor
  humidity = flower.getHumidity();
  Serial.print("Humidity is:" );
  Serial.println(humidity); 
  
 //Obtain the Soil Moisture from the Moisture Sensor 
  moisture_dat = flower.MoistureSensor();
  Serial.print("Soil Moisture is:" );
  Serial.println(moisture_dat);  
  
  Serial.println();
  Serial.println();
  delay(1500);
}

Mah ... essendo le loro librerie suppongo affidabili, il dubbio è su un errato collegamento ... :roll_eyes:

In compenso, vedo dall'esempio che hai riportato, che stai ignorando sia il mio che il suggerimento di Leo ... difatti non vedo né un delay() iniziale nel setup(), nel l'uso della if(Serial) ... poi non venire a chiedere aiuto se un giorno hai problemi e non riesci più a caricare i programmi ... ]:smiley:

Guglielmo

Si scusami Guglielmo, ti ho caricato direttamente il loro codice senza le mie (nostre) modifiche per fartelo vedere in originale. Cosa faccio ti inoltro una foto dei collegamenti? Ogni due per tre ci sono problemi..

ardumaker:
Cosa faccio ti inoltro una foto dei collegamenti?

Si, può essere utile, purché ... sia nitida e non sfocata :grin: :grin: :grin:

ardumaker:
Ogni due per tre ci sono problemi..

Normale ... altrimenti cosa impareresti ??? :roll_eyes:

Guglielmo

Sono stato via per lavoro, mi scuso per non aver dato più notizie.. il problema però persiste, allego dunque una immagine della sola board con i due sensori attaccati! Serve altro?

ardumaker:
Piano piano sto facendo passi avanti, ora mi sono bloccato alla lettura dei valori dal DHT11 e dal Moisture Sensor... collegandoli correttamente infatti, e scrivendo un esempio di codice trovato nelle loro librerie, mi esce come risultato "Read Fail"..

Dato che i collegamenti mi sembrano corretti ... puoi riportare ESATTAMENTE cosa vedi sul monitor seriale ? Va bene anche unp ScreenPrint così si legge tutto ... :wink:

Guglielmo

Sul seriale vedo questo..

Read fail0.00,100,0.00,33,ff

ripetuto ad ogni loop.. se ti serve uno ScreenPrint dimmelo che provvedo!
Grazie ancora di tutto eh :slight_smile:

Non capisco ...
... guardando il tuo loop() vedo :

void loop()
{
  //Obtain the Temperasture from DHT11 Sensor
  temperature = flower.getTemperature();
  Serial.print("Temperature is:" );
  Serial.println(temperature);  
  
 //Obtain the Humidity from DHT11 Sensor
  humidity = flower.getHumidity();
  Serial.print("Humidity is:" );
  Serial.println(humidity); 
  
 //Obtain the Soil Moisture from the Moisture Sensor 
  moisture_dat = flower.MoistureSensor();
  Serial.print("Soil Moisture is:" );
  Serial.println(moisture_dat);  
  
  Serial.println();
  Serial.println();
  delay(1500);
}

... quindi, a parte i valori, che possono esserci o può esserci il "fail", le Serial.print() che ci sono in quel loop le DEVE eseguire e quindi si DEVONO vedere "Temperature is:" seguito da qualche cosa, "Humidity is:" seguito da qualche altra cosa, "Soil Moisture is:" seguito da qualche altra cosa ancora ... sicuro di stare usando lo stesso programma ??? :astonished:

Guglielmo