Vai al contenuto

Aiuto problema con arduino


dead94TM

Messaggi raccomandati

Giorno a tutti, ho alcuni problemi con questo programma e volevo sapere se qualcuno di voi avesse qualche suggerimento

Grazie mille

#include <SPI.h>

#include <Ethernet.h>

#include <LiquidCrystal.h>

#include <math.h>

#define LED1 12

#define LED2 11

LiquidCrystal lcd(2, 3, 4, 5, 6, 7);

int TempI= A0;

double v;/*voltaggio tra 0 e 1023*/

double volt;/* voltaggio reale tra o e 5 volt*/

double Rt;/* resistenza del termistore*/

double R1=10000;/*valore resistenza in ohm che abbiamo messo noi (sia per termostato da 5 che da 10 k)*/

double temp;/* temperatura in Kelvin*/

double Temperatura;

int stato =0;

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

byte ip[] = { 192, 168, 1, 68 };

byte gateway[] = { 192, 168, 1, 1 };

byte subnet[] = { 255, 255, 255, 0 };

EthernetServer server(9000);

String readString;

String newValue;

 

void setup() {

lcd.begin(16, 2);

Serial.begin(9600);

 

pinMode(8, OUTPUT);

pinMode(13, OUTPUT);

 

Ethernet.begin(mac, ip, gateway, subnet);

server.begin();

}

 

void loop() {

v=analogRead(TempI);/*leggiamo il valore della tensione ai capi di R1*/

volt=5*v/1023;// riportiamo la tensine tra 0 e 5 volt con una proporzione

Rt=R1*(5/volt-1);//resistenza del termistore

temp=1/(0.001319+(0.000234125*log(Rt))+(0.0000000876741*log(Rt)*log(Rt)*log(Rt)));/*calcolo la temperatura con la formula di Steinhart-Hart*/

Temperatura=temp-273.15;// gradi Chelsius

 

if(Temperatura>20){

digitalWrite(LED1, HIGH);}

if(Temperatura<19){

digitalWrite(LED2, LOW);}

 

lcd.setCursor(0, 0);

lcd.print("Temp: ");

 

lcd.print(Temperatura);/*stampo il valore della teperatura*/

delay(1000);/*ritardo di un secondo*/

 

EthernetClient client = server.available();

while (client.connected()) {

if (client.available()) {

readString=client.readStringUntil('\n');

}

 

if (readString=="?button8on" ){

digitalWrite(8, HIGH);

}

if (readString=="?button8off" ){

digitalWrite(8, LOW);

}

if (readString=="?button13on" ){

digitalWrite(13, HIGH);

}

if (readString=="?button13off" ){

digitalWrite(13, LOW);

}

}

newValue="";

readString="";

}

Link al commento
Condividi su altri siti

  • 2 mesi dopo...

Crea un account o accedi per lasciare un commento

Devi essere un membro per lasciare un commento

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!

Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.

Accedi Ora

Giochi in Uscita



  • Community Hive Community Hive

    Community Hive allows you to follow your favorite communities all in one place.

    Follow on Community Hive
  • Utenti

    Non ci sono membri da mostrare

×
×
  • Crea Nuovo...