Acquisire valori da arduino [Database]

Salve ragazzi, sto facendo un progetto per gli esami che prevede la costruzione di un inseguitore solare costruito da due fotoresistenze, servomotore, e pannello solare. Oltre al movimento, volevo acquisire quanta energia prende il pannello solare quindi caricare il tutto in un database, per esempio ad intervalli di minuti o ore, così poi tramite una pagina in php andare a fare una select dove io posso decidere l'intervallo di tempo e la pagina mi faccia vedere per esempio che in una settimana ha acquisito "tot" energia, in un anno "tot" di energia e così via. Come posso fare?

Se ti leggi questo thread http://arduino.cc/forum/index.php/topic,154187.0.html troverai una discussione sulle librerie per accedere a MySQL ...

Guglielmo

Grazie :) Ma adesso il problema è un'altro! Io come faccio a prendere i valori dal pannello solare e a mandarli nel database?

Ho trovato dei sensori di corrente, ma io avendo un piccolo pannello solare, come Ampere mi da un massimo di 250mA, qualche sensore che misura questa corrente?

Hai già visto questo : https://www.sparkfun.com/products/8883 ? ... al massimo misura 5A, ma ha un fattore di guadagno regolabile (da 4.27 a 47) ... magari potrebbe andare ... prova a dare un'occhiata al datasheet

Guglielmo

Grazie mille :) Sembrerebbe ottimo! Comunque per le librerie di mysql non ho ben capito quali andare a scaricare perchè si parla di arduino 2, ed io ho la UNO!

gabry0410:
Grazie mille :slight_smile: Sembrerebbe ottimo!
Comunque per le librerie di mysql non ho ben capito quali andare a scaricare perchè si parla di arduino 2, ed io ho la UNO!

No, no, vanno bene sia per la UNO che per la DUE … anzi, tutta la discussione è nata proprio perché andavano bene SOLO per la UNO e le abbiamo modificate per essere generiche :wink:

Guglielmo

Perfetto :slight_smile: Intanto faccio delle prove solo in Php, poi aggiungo arduino!

Allora. Ho creato la pagina su altervista. Ho seguito qualche guida online, ma niente se inserisco i dati dall’arduino non riesco a fare nulla. Praticamente ho il mio sito:
provarduino.altervista.org
Se io direttamente dal browser scrivo:
provarduino.altervista.org/data.php/241/45
Nel database mi vado a ritrovare i valori scritti qui sopra.
Invece dall’arduino non ci riesco a mandarli come se fosse un URL.
Guardate:

#include <SPI.h>
#include <Ethernet.h>
 
#define time 5000

byte mac[] = {  0x90, 0xA2, 0xDA, 0x0D, 0x8C, 0xEE };
byte ip[]={192,168,0,113};
char server[] = "provarduino.altervista.org";



char buffer[150];

const int syellow=A2;
const int sgreen=A0;

int valueyellow=0;
int valuegreen=0;

int sensoredx=0;
int sensoresx=0;

EthernetClient client;
 
  void setup(){
  Serial.begin(9600);
  Serial.println("Start!");
 
  Ethernet.begin(mac,ip);
  delay(1000);
  Serial.println("Ok!");
}

void loop() {
  
  valueyellow=analogRead(syellow);
  sensoredx=map( valueyellow,140,810,0,255);
  sensoredx=constrain(sensoredx,0,255);
  
  valuegreen=analogRead(sgreen);
  sensoresx=map( valuegreen,140,810,0,255);
  sensoresx=constrain(sensoresx,0,255);
  
  Serial.print("Yellow:");
  Serial.println(sensoredx);
  Serial.print("Green:");
  Serial.println(sensoresx);
  Serial.println(" ");
  
  Serial.println("Connessione...");
 
  if (client.connect(server,80)) {
    Serial.println("Connesso ");
    // Fai la richiesta
    client.print("GET /data.php/");
    client.print(sensoresx);
    client.print("/");
    client.print(sensoredx);
    client.println(" HTTP/1.1");
    client.println("Host: provarduino.altervista.org");
    client.println();

    Serial.println("Scritto");

  }
 
 
  while (client.available()) {
    char c = client.read();
    Serial.print(c);
  }
 
  if (!client.connected()) {
    Serial.println();
    Serial.println("Disconnesso");
    client.stop();
  }


  delay(time);
}

Questo è tutto.
Il DNS non me lo fa inserire, e se non inserisco il DNS non posso inserire il Gateway. Sono due giorni che ci impazzisco!

edit by mod: per favore includi il codice usando gli appositi tag