Pages: [1]   Go Down
Author Topic: Sensore Luminosità ldr  (Read 1051 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ragazzi, sono riuscito a far salvare in un database mysql i valori della temperatura acquisiti tramite sensore thermistor attaccato alla thinkeshield+ethernet shield+arduino uno. e fin qui ci siamo.

Come faccio a fare tutto questo con il sensore di luminosità, ho provato ad utilizzare lo stesso codice cambiando le variabili, ma niente.
avete idee??
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 327
Posts: 22658
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

A parte che non hai spiegato cosa non ti è riuscito fare (se leggere il sensore, se salvare i dati ecc) probabilmente non basta cambiare le variabili. Forse i 2 sensori hanno un diverso comportamento.
Devi vedere come funzionano e poi modificare il codice di conseguenza.
Logged


Offline Offline
Sr. Member
****
Karma: 0
Posts: 380
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Qui urge una sfera di cristallo  smiley-lol
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusatemi davvero, mi sono spiegato male, allora:
io ho arduino uno collegato con ethernet shield collegato tinkerkit, a quest'ultimo ho attaccato due sensori, thermistor e luminosità ldr.
riesco a rilevare, tramite le librerie e sketch gia fornite da tinkerkit, temperatura e luminosità.
ora tramite php e mysql, con la pagina php e lo sketch arduino che mostrerò di seguito e lo sketch arduino, riesco a far salvare nel database le temperature rilevate.
ora come faccio a far fare la stessa cosa al sensore di luminosità??

Sketch:
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {
  0x90, 0xA2, 0xDA, 0x0D, 0x1F, 0x41 };
byte ip[] = {
  192, 168, 1, 2 };
byte server[] = {
  192, 168, 1, 1 }; // Local Server

EthernetClient client;

char strURL[70];
unsigned long previousMillis = 0;
unsigned long currentMillis = 0;
//long interval = 600000; // 10 minutes (10*60*1000) 600000
long interval = 600000; // 10 minutes (10*60*1000) 600000

void setup() {
  Ethernet.begin(mac, ip);
  Serial.begin(9600);
  delay(2000);
  Serial.println("connecting...");
 



  if (client.connect(server, 80)) {
    Serial.println("connected");
 getTemp();
    client.stop();
  } else {
    Serial.println("connection failed");
  }
}


void loop() {
  currentMillis = millis();
  if(currentMillis - previousMillis > interval) {
    previousMillis = currentMillis;
    if(client.connect(server, 80)) {
      getTemp();
    }
    else {
      Serial.println("failed to connect. Trying again later.");
    }
    delay(1000);
    client.stop();
  }
}

void getTemp() {
  Serial.println("connected, writing ...");
  int temp = analogRead(5);
  delay(50);
  sprintf(strURL,"GET /temp.php?t=%d",temp);
  client.println(strURL);
  client.println();
  Serial.println(strURL);
}

pagina php in allegato.




* temp.php (1.9 KB - downloaded 7 times.)
Logged

Provincia di Milano
Offline Offline
Newbie
*
Karma: 0
Posts: 28
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

devi mettere la fotoresistenza in un partitore di tensione. Poi fai una funzione simile alla tua getTemp per prendere il valore del partitore.

nel seguente link è spiegato tutto benissimo:

http://www.gioblu.com/tutorials/sensori/135-fotoresistenze-o-ldr-o-cds-con-arduino
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 24
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho provato, ma non va, non salva nel database...vorrei capire se per la funzione c'è qualcosa in più da cambiare smiley-sad
Logged

Pages: [1]   Go Up
Jump to: