Arduino Forum

International => Italiano => Software => Topic started by: albertooo on Jun 15, 2018, 12:43 pm

Title: aiuto
Post by: albertooo on Jun 15, 2018, 12:43 pm
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
Title: Re: aiuto
Post by: Patrick_M on Jun 15, 2018, 12:54 pm
3 post uguali in 3 posti diversi, complimenti :)
Title: Re: aiuto
Post by: SukkoPera on Jun 15, 2018, 12:55 pm
Io ho male a una spalla. Perché?
Title: Re: aiuto
Post by: Silente on Jun 15, 2018, 12:56 pm
Se non posti i due scatch (e come li metti insieme) come facciamo a saperlo?
Title: Re: aiuto
Post by: Silente on Jun 15, 2018, 12:57 pm
Poi, se vuoi aiuti, presentati eleggi il regolamento. Se non lo farai Guglielmo di bannerà
Title: codice temperatura e umidita e poi quello dell'anemometro
Post by: albertooo on Jun 15, 2018, 01:05 pm
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();
}

}


Title: Re: aiuto
Post by: gpb01 on Jun 15, 2018, 01:08 pm
>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 (http://forum.arduino.cc/index.php?topic=113640.0) (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 (http://forum.arduino.cc/index.php?topic=149082.0) ...

... 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