Go Down

Topic: aiuto (Read 254 times) previous topic - next topic

albertooo

ciao a tutti.
io ho due sketch; il primo che mi legge la temperatura e umidità in un display
il secondo ho un anemometro che mi legge la velocità del vento
ho un problema a mettere insieme i due sketch perchè quando li metto insieme il sensore non mi da la temperatura e umidità
perche?
grazie a chi mi è d'aiuto

Patrick_M

3 post uguali in 3 posti diversi, complimenti :)
per inserire (lo sketch) il programma, dall'IDE clicca modifica, clicca copia per il forum poi vieni qui e incolla nel tuo post (ctrl+v) ;)

SukkoPera

Io ho male a una spalla. Perché?
"Code is read much more often than it is written, so plan accordingly. Design for readability."

Guida rapida a ESP8266: https://goo.gl/kzh62E

Silente

Se non posti i due scatch (e come li metti insieme) come facciamo a saperlo?
Dove va un numero va una variabile o una funzione. E dove va una boolean va un insieme di test.

Se vuoi ottenere devi saper spiegare

In pochi capiscono l'importanza di formattare, sii tra di essi

Silente

Poi, se vuoi aiuti, presentati eleggi il regolamento. Se non lo farai Guglielmo di bannerà
Dove va un numero va una variabile o una funzione. E dove va una boolean va un insieme di test.

Se vuoi ottenere devi saper spiegare

In pochi capiscono l'importanza di formattare, sii tra di essi

albertooo

#5
Jun 15, 2018, 01:05 pm Last Edit: Jun 15, 2018, 01:09 pm by albertooo
Code: [Select]


#include <DHT.h>

#include <LiquidCrystal.h>
#include "DHT.h"
#define DHTPIN 8
// 8 è il pin di Arduino a cui collego il sensore di temperatura
#define DHTTYPE DHT11
// dht11 è il tipo di sensore che uso
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(12, 11, 5, 4, 3, 10);
// connessione display (pin)

int pioggia;

int luce;





void setup() {
  // put your setup code here, to run once:



lcd.begin(16, 2);
// imposto il tipo di display (colonne, righe)
lcd.print("Temperatura C");
lcd.setCursor(0,1);
lcd.print("Umidita'%");


pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(13,OUTPUT);

pinMode(9,OUTPUT);

Serial.begin(9600);

}

void loop() {
  // put your main code here, to run repeatedly:
int t = dht.readTemperature();
int h = dht.readHumidity();
// posiziono il cursore alla colonna 12 e riga 0
lcd.setCursor(14, 0);
lcd.print(t);
lcd.setCursor(14, 1);
lcd.print(h);

pioggia=analogRead(A0);
Serial.println(pioggia);
delay(500);
if(0<=pioggia && pioggia<250)
digitalWrite(13, HIGH);
if(0<=pioggia && pioggia<250)
digitalWrite(6, LOW);
if(0<=pioggia && pioggia<250)
digitalWrite(7, LOW);
if(250<pioggia && pioggia<305)
digitalWrite(13, LOW);
if(250<pioggia && pioggia<305)
digitalWrite(6, LOW);
if(250<pioggia && pioggia<305)
digitalWrite(7, HIGH);
if (305<pioggia)
digitalWrite(7, LOW);
if (305<pioggia)
digitalWrite(6, HIGH);
if (305<pioggia)
digitalWrite(13, LOW);

luce=analogRead(A1);
Serial.println(luce);
delay(500);
    if (luce>200) {
      digitalWrite(9, HIGH);
    }
    
    else {
      digitalWrite(9, LOW);
}




}











Code: [Select]



#include <math.h>

#define WindSensorPin (2) // The pin location of the anemometer sensor

volatile unsigned long Rotations; // cup rotation counter used in interrupt routine
volatile unsigned long ContactBounceTime; // Timer to avoid contact bounce in interrupt routine

float WindSpeed; // speed miles per hour

void setup() {
 

Serial.begin(9600);

pinMode(WindSensorPin, INPUT);
attachInterrupt(digitalPinToInterrupt(WindSensorPin), isr_rotation, FALLING);

Serial.println("Davis Wind Speed Test");
Serial.println("Rotations\tMPH");

}

void loop() {


Rotations = 0; // Set Rotations count to 0 ready for calculations

sei(); // Enables interrupts
delay (3000); // Wait 3 seconds to average
cli(); // Disable interrupts

// convert to mp/h using the formula V=P(2.25/T)
// V = P(2.25/3) = P * 0.75

WindSpeed = Rotations * 0.75;

Serial.print(Rotations); Serial.print("\t\t");
Serial.println(WindSpeed);


}

// This is the function that the interrupt calls to increment the rotation count
void isr_rotation () {

if ((millis() - ContactBounceTime) > 15 ) { // debounce the switch contact.
Rotations++;
ContactBounceTime = millis();
}

}



gpb01

#6
Jun 15, 2018, 01:08 pm Last Edit: Jun 15, 2018, 01:08 pm by gpb01
>albertooo: prima di tutto, NON avendolo tu ancora fatto, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ...

... poi, in conformità al suddetto regolamento, punto 13, il cross-posting è proibito (anche tra lingue diverse) per cui ... i tuoi thread duplicati sono stati cancellati.

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up