#136 As_Needed Sab 05 Dic, 2015 12:07
Ecco un paio di immagini, il rain rate forse non lo metterò, è un po' complicato aggiungerlo, vi farò sapere
invece tutto il resto è 'na cazzata  sono sicuro che troverai il sistema di mettere anche il RR 
 Bhe diciamo che questo è più complicato del resto  Forse però riuscirò ad aggiungerlo, però non assicuro niente stavolta  Diciamo che adesso la parte senza mettere online praticamente è fatta
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#137 Gab78 Sab 05 Dic, 2015 14:44
Ecco un paio di immagini, il rain rate forse non lo metterò, è un po' complicato aggiungerlo, vi farò sapere
invece tutto il resto è 'na cazzata  sono sicuro che troverai il sistema di mettere anche il RR 
Credo proprio che arrivato a 'sto punto, metterlo sia una quisquilia, una bazzecola, una pinzillacchera... come diceva il grande Totò...
____________ Ricordo pioggia che passa,
mi manchi e tu non passi mai...
(Zucchero Fornaciari)
-
-
Guru Socio Sostenitore
-
- Utente #: 874
- Registrato: 30 Ott 2010
- Età: 47
- Messaggi: 12588
-
4591 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Davis Vantage Vue, Ventus W83x e Altro
- Località: San Giovanni Profiamma - 270 m s.l.m. - frazione di Foligno (PG)
-
#138 As_Needed Sab 05 Dic, 2015 16:17
Ecco un paio di immagini, il rain rate forse non lo metterò, è un po' complicato aggiungerlo, vi farò sapere
invece tutto il resto è 'na cazzata  sono sicuro che troverai il sistema di mettere anche il RR 
Credo proprio che arrivato a 'sto punto, metterlo sia una quisquilia, una bazzecola, una pinzillacchera... come diceva il grande Totò... 
 bhe quel che conta che o RR o non RR offline la stazione é pronta
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#139 As_Needed Gio 10 Dic, 2015 15:25
Allora intanto pubblico il pcb finale quello che sarà il reale circuito stampato e stavolta è questo non si cambia 
Qualcuno forse si chiederà come mai mancano due fili nel top copper. Bhe la risposta è che non userò più arduino uno ma arduino mega, per il fatto che siccome la stazione è diventata abbastanza professionale non mi basta la memoria di arduino, allora ci vuole il mega. Siccome i pin del bus SPI che mi servono non si trovano a 11 e 13 delle uscite digitali della mega ma a 51 e 52, praticamente faccio partire due fili dai pad viola sda e scl, quelli vicini al filo rosso, che corrispondono al mosi e sclk del display in questo caso, che vanno alle uscite 51 e 52, faccio partire due fili esterni praticamente che vanno a 51 e 52  Stessa cosa il bus ic2, ovvero i pad A4 e A5 non sono nel mega ad A4 e A5, ma sono a D20 e D21, per questo faccio partire altri due fili da quei pad fino a quelle uscite. Ovviamente poi i connettori sotto sui pin A4 e A5 non ce li metto. Quando avrò tutto pronto, metterò le foto così si capisce meglio. Praticamente sarà arduino mega, sopra arduino mega ethernet shield e sopra ancora, circuito stampato
Questa è la lista dei componenti usati nella basetta non all'esterno:
E' scritto arduino uno ma solo per i pad usati che sono gli stessi.
Questa è la carta lucido definitiva stavolta con cui formerò le piste in rame del circuito stampato:
Ultima modifica di As_Needed il Gio 10 Dic, 2015 15:42, modificato 4 volte in totale
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#140 Fili Gio 10 Dic, 2015 19:45
Allora intanto pubblico il pcb finale quello che sarà il reale circuito stampato e stavolta è questo non si cambia 
Qualcuno forse si chiederà come mai mancano due fili nel top copper. Bhe la risposta è che non userò più arduino uno ma arduino mega, per il fatto che siccome la stazione è diventata abbastanza professionale non mi basta la memoria di arduino, allora ci vuole il mega. Siccome i pin del bus SPI che mi servono non si trovano a 11 e 13 delle uscite digitali della mega ma a 51 e 52, praticamente faccio partire due fili dai pad viola sda e scl, quelli vicini al filo rosso, che corrispondono al mosi e sclk del display in questo caso, che vanno alle uscite 51 e 52, faccio partire due fili esterni praticamente che vanno a 51 e 52  Stessa cosa il bus ic2, ovvero i pad A4 e A5 non sono nel mega ad A4 e A5, ma sono a D20 e D21, per questo faccio partire altri due fili da quei pad fino a quelle uscite. Ovviamente poi i connettori sotto sui pin A4 e A5 non ce li metto. Quando avrò tutto pronto, metterò le foto così si capisce meglio. Praticamente sarà arduino mega, sopra arduino mega ethernet shield e sopra ancora, circuito stampato
Ho capito più cose in un comizio di Kim Jong Un che in quello che hai scritto  però deve essere bello! Complimenti!
Ultima modifica di Fili il Gio 10 Dic, 2015 19:45, modificato 1 volta in totale
-
-
Guru Socio Ordinario
-
- Utente #: 343
- Registrato: 17 Dic 2007
- Età: 42
- Messaggi: 38878
-
5642 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Davis Vantage Pro2
- Località: Foligno V.le Firenze 225m s.l.m.
-
#141 As_Needed Gio 10 Dic, 2015 20:02
Ho capito più cose in un comizio di Kim Jong Un che in quello che hai scritto  però deve essere bello! Complimenti! 
Ho provato a spiegare il più chiaro possibile  Intanto quando metto le foto vedrete con gli occhi il lavoro che è la meglio cosa, è più facile di quello che sembra  Quando avrò finalmente sto circuito stampato definitivo non con tutti quei fili per il mezzo che si vedono nelle foto addietro con la bread board
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#142 Gab78 Gio 10 Dic, 2015 22:03
Ho capito più cose in un comizio di Kim Jong Un che in quello che hai scritto  però deve essere bello! Complimenti! 
Ho provato a spiegare il più chiaro possibile  Intanto quando metto le foto vedrete con gli occhi il lavoro che è la meglio cosa, è più facile di quello che sembra  Quando avrò finalmente sto circuito stampato definitivo non con tutti quei fili per il mezzo che si vedono nelle foto addietro con la bread board

Beh, come battuta non c'è male...
Grandioso!
____________ Ricordo pioggia che passa,
mi manchi e tu non passi mai...
(Zucchero Fornaciari)
-
-
Guru Socio Sostenitore
-
- Utente #: 874
- Registrato: 30 Ott 2010
- Età: 47
- Messaggi: 12588
-
4591 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Davis Vantage Vue, Ventus W83x e Altro
- Località: San Giovanni Profiamma - 270 m s.l.m. - frazione di Foligno (PG)
-
#143 As_Needed Gio 10 Dic, 2015 22:29
Grazie mille Gabrié!!!!  E grazie a tutti!
Non vedo l ora di compleatare tutto!
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#147 As_Needed Lun 14 Dic, 2015 18:18
Qua piove forte e siamo già a 65 mm  Sono riuscito a fare sto benedetto RR, non mi pare vero  Ecco qua una foto!
Qua intanto il codice completo di tutta la stazione meteo offline, che comprende tutti quei valori sul display
- #include <EEPROM.h>
- #include <DS3232RTC.h>
- #include <Time.h>
- #include <Wire.h>
- #include <BMP180.h>
- #include <SPI.h>
- #include <Adafruit_GFX.h>
- #define sclk 13
- #define mosi 11
- #define cs A3
- #define dc A1
- #define rst A2
- #include <Adafruit_GFX.h> // Core graphics library
- #include <Adafruit_ST7735.h> // Hardware-specific library
- #include <SPI.h>
- Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst);
- #include "DHT.h"
- #include <OneWire.h>
- #include <DallasTemperature.h>
- // Data wire is plugged into pin 2 on the Arduino
- #define ONE_WIRE_BUS 8
- // Setup a oneWire instance to communicate with any OneWire devices
- // (not just Maxim/Dallas temperature ICs)
- OneWire oneWire(ONE_WIRE_BUS);
- // Pass our oneWire reference to Dallas Temperature.
- DallasTemperature sensors(&oneWire);
- DHT dht(5,DHT22); //Definisco il pin al quale è collegato il sensore e il tipo
- const int pinLed_blink = 6; // led verde che lampeggia
- const int pinLed_inter = 7;
- const float mmGoccia = 0.518;
- const int pinInterrupt = 3;
- volatile unsigned int gocce = 0;
- volatile float mmPioggia = 0.0; // conteggio millimetri di pioggia
- volatile boolean statoLed = false;
- unsigned long time;
- unsigned long PluvioStep = 0;
- unsigned long PluvioOldStep = 0;
- float dewPoint;
- float windchill;
- float temperaturaf;
- float heatindexf;
- float heatindexc;
- float pressionelivellodelmarehPa;
- float pressionelivellodelmare;
- float rafficamax=0;
- byte giornoSalvato;
- float maxeeprom=0.0;
- float mineeprom=100.0;
- float rainrate=0;
- int eeAddress1 = -1;
- int eeAddress2 = 4;
- int eeAddress3 = -8;
- int eeAddress4 = -4;
- int dataPin = 2;
- int bitLength = -1;
- int data[45];
- int gooddata = 1;
- int timeout;
- int loops = 0;
- int spd[8];
- int i = 0;
- int j = 0;
- char windDirection[16][4] = {
- "N","NNE","NE", "ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW"};
- // Store an instance of the BMP180 sensor.
- BMP180 barometer;
- // Store the current sea level pressure at your location in Pascals.
- float seaLevelPressure = 101325;
-
- void setup() {
- Serial.begin(9600);
- tft.initR(INITR_BLACKTAB);
- tft.fillScreen(ST7735_BLUE);
- time=millis();
- tft.setCursor (0,20);
- tft.setTextSize(2);
- tft.setTextColor (ST7735_GREEN);
- tft.print (" STAZIONE");
- tft.setCursor (10,40);
- tft.print (" METEO:");
- delay (2000);
- tft.setTextColor (ST7735_YELLOW);
- tft.setCursor (4,80);
- tft.print ("SITUAZIONE ATTUALE");
- pinMode(pinLed_blink, OUTPUT);
- pinMode(pinLed_inter, OUTPUT);
- attachInterrupt(1, ContaGocce, FALLING); // modo da HIGH a LOW
- setSyncProvider(RTC.get);
- //setTime(16,05,30,25,11,2015);
- giornoSalvato = day();
- EEPROM.get (eeAddress1,maxeeprom);
- EEPROM.get (eeAddress2,mineeprom);
- EEPROM.get (eeAddress3,rafficamax);
- EEPROM.get (eeAddress4,mmPioggia);
- //Serial.println("DHT test");
- dht.begin();
- // Start up the library
- sensors.begin();
- //Serial.print("\n\nInitializing...\n");
- // Serial.print("Data Pin: ");
- // Serial.println(digitalRead(dataPin));
- pinMode(dataPin, INPUT);
- // We start the I2C on the Arduino for communication with the BMP180 sensor.
- Wire.begin();
- // We create an instance of our BMP180 sensor.
- barometer = BMP180();
- // We check to see if we can connect to the sensor.
- if(barometer.EnsureConnected())
- {
- //Serial.println("Connected to BMP180."); // Output we are connected to the computer.
- // When we have connected, we reset the device to ensure a clean start.
- barometer.SoftReset();
- // Now we initialize the sensor and pull the calibration data.
- barometer.Initialize();
- }
- //else
- //{
- // Serial.println("No sensor found.");
- // }
-
- }
-
-
- //void delay2(unsigned long ms){
- // unsigned long start = micros();
- // while (micros() - start <= ms);
- //}
-
- void PluvioDataEngine() {
- if (((PluvioStep - PluvioOldStep) != 0) && (gocce >= 2)) {
- if ((time - PluvioStep) > (PluvioStep - PluvioOldStep)) {
- rainrate = 3600 / (((time - PluvioStep) / 1000)) * mmGoccia;
- if (rainrate < 1) {
- gocce = 0;
- rainrate = 0;
- }
- } else {
- rainrate = 3600 / (((PluvioStep - PluvioOldStep) / 1000)) * mmGoccia;
- }
- } else {
- rainrate = 0.0;
- }
- }
- void loop() {
- sensors.requestTemperatures();
- digitalWrite(pinLed_blink, HIGH);
- delay(100);
- digitalWrite(pinLed_blink, LOW);
- delay(100);
- float h = dht.readHumidity(); // Leggo il valore di umidità
- dewPoint = (pow (h/100,0.125)*(112+(0.9*sensors.getTempCByIndex(0)))+0.1*sensors.getTempCByIndex(0)-112);
- pressionelivellodelmare=barometer.GetPressure()+5240;
- pressionelivellodelmarehPa=pressionelivellodelmare/100;
- //float t = dht.readTemperature(); // Leggo il valore di temperatura
- //if (isnan(t) || isnan(h)) // Se almeno uno dei due valori è NaN (Not a Number)
-
- //Serial.println("Impossibile leggere il sensore!");
-
- //else //altrimenti
- if(barometer.IsConnected)
- {
- // Retrive the current pressure in Pascals.
- long currentPressureP = barometer.GetPressure();
- float currentPressuremb = currentPressureP/100.0;
- float currentPressureinHg = currentPressuremb*0.02953;
-
-
- // Retrive the current altitude (in meters). Current Sea Level Pressure is required for this.
- float altitudem = barometer.GetAltitude(seaLevelPressure);
- float altitudeft = altitudem*3.2808;
-
-
- // Retrive the current temperature in degrees celcius.
- float currentTemperatureC = barometer.GetTemperature();
- float currentTemperatureF = (9.0/5.0)*currentTemperatureC+32.0;
- }
- // Serial.print("Temperatura ");
- // Serial.println(sensors.getTempCByIndex(0));
- // Serial.print("Umidita' ");
- // Serial.print(h);
- // Serial.print(" %\t");
-
- // Serial.println ("Dew Point");
- //Serial.print (dewPoint);
- //Serial.println ("C");
- //Serial.println ("Wind Chill");
- //Serial.print (windchillc);
- //Serial.print ("C");
-
-
- time = millis();
- PluvioDataEngine();
-
- temperaturaf=sensors.getTempCByIndex(0)*1.8+32;
-
-
- if ((sensors.getTempCByIndex(0)>=26.7)&&(h>=40))
- {
- heatindexf=(-42.379+2.04901523*temperaturaf+10.14333127*h-0.22475541*temperaturaf*h-0.00683783*pow(temperaturaf,2)-0.05481717*pow(h,2)+0.00122874*pow(temperaturaf,2)*h+0.00085282*temperaturaf*pow(h,2)-0.00000199*pow(temperaturaf,2)*pow(h,2));
- heatindexc= (heatindexf-32)/1.8;
- }
- else
- {
- heatindexc=sensors.getTempCByIndex(0);
- }
- //delay(1000);
-
- //Serial.print("Temperatura: ");
- //Serial.print(t);
- //Serial.println(" *C");
- // non è necessario mettere un delay() perchè ci vogliono due secondi per leggere i valori, quindi il serial monitor riceverà dati ogni 2 secondi.
-
- // Serial.println("Start");
- gooddata = 1;
- collectData();
- if (gooddata == 1) {
- rawdump();
- outputResults();
- TheData();
- }
- //else //{
- // Serial.println ("READ ERROR");
- //}
- //Serial.println(++loops);
- // Serial.println();
- // delay(1500);
- }
-
- int collectData(void) {
- if (bitLength <0){
- bitLength = 1220;//getbitlenght2();
-
- }
- /*/
- pinMode(dataPin, OUTPUT);
-
- digitalWrite(dataPin, HIGH);
- delay(100);
- digitalWrite(dataPin, LOW );
- delay(500);
- pinMode(dataPin, INPUT);
- /*/
-
- while(digitalRead(dataPin) == LOW){
- }
- //wait slave start signal
- while(digitalRead(dataPin) == HIGH){
- }
- while(digitalRead(dataPin) == LOW){
- }
-
-
-
-
- for (int i=0 ; i<42 ; i++) {
- data[i] = (digitalRead(dataPin) == LOW)? 0:1; // read and save either a 0 or 1
- delayMicroseconds(bitLength);
- }
- }
-
- int TheData() {
- // Serial.println("TheData");
- int i, idx = 0, idy = 0;
- // for (i=8; i>4; i--) { dato originale
- for (i=6; i>2; i--) { // dato modificato
- idx = idx *2 + data[i];
- }
-
- // Serial.print("idx: ");
- // Serial.println(idx, DEC);
- // Serial.print("Wind: ");
- // Serial.println(windDirection[idx] );
-
- // for (i=17; i>8; i--) { dato originale per velocità
- for (i=15; i>6; i--) { // dato modificato
- idy = idy * 2 + data[i];
- }
-
- // Serial.print("Speed: ");
- // Serial.print(idy, DEC);
- //Serial.println (" m/s read");
-
- float idz = idy/10.0;
- //Serial.print("Speed: ");
- // Serial.print(idz);
- // Serial.println (" m/s real");
-
- float KMH = idz * 3.6;
- //Serial.print("Speed: ");
- //Serial.print(KMH);
- //Serial.println (" kmh");
-
- float MPH = KMH * 0.621371192;
- // Serial.print("Speed: ");
- //Serial.print(MPH);
- // Serial.println (" mph");
-
-
- windchill=(13.12+0.6215*sensors.getTempCByIndex(0))-(11.37*pow(KMH,0.16))+(0.3965*sensors.getTempCByIndex(0)*pow(KMH,0.16));
- if ((windchill<sensors.getTempCByIndex(0))&&(KMH>4.6))
- {
- windchill=(13.12+0.6215*sensors.getTempCByIndex(0))-(11.37*pow(KMH,0.16))+(0.3965*sensors.getTempCByIndex(0)*pow(KMH,0.16));
- }
- else
- {
- windchill=sensors.getTempCByIndex(0);
- }
- if ( giornoSalvato != day() )
- {
- giornoSalvato=day();
- rafficamax=KMH;
- maxeeprom=sensors.getTempCByIndex(0);
- mineeprom=sensors.getTempCByIndex(0);
- mmPioggia=0;
- EEPROM.put (eeAddress1, maxeeprom);
- EEPROM.put (eeAddress2, mineeprom);
- EEPROM.put (eeAddress3, rafficamax);
- EEPROM.put (eeAddress4, mmPioggia);
-
- }
- if (KMH>rafficamax)
- {
- rafficamax=KMH;
- EEPROM.put (eeAddress3, rafficamax);
- }
-
- tft.fillScreen(ST7735_BLACK);
- tft.setTextColor (ST7735_GREEN);
- tft.setCursor(0, 0);
- tft.setTextSize(1);
- tft.println("Temp.OUTSIDE");
- if (sensors.getTempCByIndex(0)<3)
- {
- tft.setTextColor (ST7735_BLUE);
- tft.setCursor(80, 0);
- tft.setTextSize(1);
- tft.print(sensors.getTempCByIndex(0));
- tft.print ( (char)248);
- tft.println("C");
- //delay(5000);
- }
- if ((sensors.getTempCByIndex(0)>=3)&&(sensors.getTempCByIndex(0)<=15))
- {
- tft.setTextColor (ST7735_GREEN);
- tft.setCursor(80, 0);
- tft.setTextSize(1);
- tft.print(sensors.getTempCByIndex(0));
- tft.print ( (char)248);
- tft.println("C");
- }
- if ((sensors.getTempCByIndex(0)>15)&&(sensors.getTempCByIndex(0)<30))
- {
- tft.setTextColor (ST7735_YELLOW);
- tft.setCursor(80, 0);
- tft.setTextSize(1);
- tft.print(sensors.getTempCByIndex(0));
- tft.print ( (char)248);
- tft.println("C");
- }
- if ((sensors.getTempCByIndex(0)>=30))
- {
- tft.setTextColor (ST7735_RED);
- tft.setCursor(80, 0);
- tft.setTextSize(1);
- tft.print(sensors.getTempCByIndex(0));
- tft.print ( (char)248);
- tft.println("C");
- }
- tft.setTextColor (ST7735_WHITE);
- tft.setCursor (0,10);
- tft.print ("Umidita'");
- tft.setCursor (80,10);
- tft.print (dht.readHumidity());
- tft.print (" %");
- tft.setCursor (0,20);
- tft.print ("Dew Point");
- tft.setCursor (80,20);
- tft.print (dewPoint);
- tft.print ((char)248);
- tft.print ("C");
- tft.setTextColor (ST7735_GREEN);
- tft.setCursor (0,30);
- tft.print ("Pioggia");
- tft.setTextColor (ST7735_BLUE);
- tft.setCursor (80,30);
- tft.print (mmPioggia);
- tft.print ("mm");
- tft.setTextColor (ST7735_WHITE);
- tft.setCursor (0,40);
- tft.setTextColor (ST7735_GREEN);
- tft.print ("Rain Rate");
- tft.setCursor (62,40);
- tft.setTextColor (ST7735_BLUE);
- tft.print (rainrate);
- tft.setCursor (100,40);
- tft.print("mm/h");
- tft.setTextColor (ST7735_WHITE);
- tft.setCursor (0,50);
- tft.println ("Vento");
- tft.setCursor (55,50);
- tft.print (KMH);
- tft.print ("Km/h");
- tft.setCursor (110,50);
- tft.print (windDirection[idx]);
- tft.setCursor (0,60);
- tft.print ("Pressione");
- tft.setCursor (65,60);
- tft.print (pressionelivellodelmarehPa);
- tft.setCursor (110,60);
- tft.print ("hPa");
- tft.setTextColor (ST7735_BLUE);
- tft.setCursor (0,70);
- tft.print ("Wind Chill");
- tft.setCursor (80,70);
- tft.print (windchill);
- tft.print ((char)248);
- tft.print ("C");
- tft.setTextColor (ST7735_RED);
- tft.setCursor (0,80);
- tft.println ("Heat Index");
- tft.setCursor (80,80);
- tft.print (heatindexc);
- tft.print ((char)248);
- tft.print ("C");
- tft.setTextColor (ST7735_YELLOW);
- tft.setCursor(0, 90);
- tft.println("Temp.INSIDE");
- tft.setCursor(80, 90);
- tft.print(barometer.GetTemperature());
- tft.print((char)248);
- tft.println("C");
- tft.drawLine (0,100,tft.width()-0,100,ST7735_WHITE);
- tft.setCursor(0,103);
- tft.setTextColor (ST7735_RED);
- tft.print("Temp.MAX");
- tft.setCursor(80,103);
- tft.print(maxeeprom);
- tft.print((char)248);
- tft.println("C");
- tft.setTextColor (ST7735_BLUE);
- tft.setCursor(0,113);
- tft.print("Temp.MIN");
- tft.setCursor(80,113);
- tft.print(mineeprom);
- tft.print((char)248);
- tft.println("C");
- tft.setTextColor (ST7735_WHITE);
- tft.setCursor (0,123);
- tft.print ("RafficaMAX");
- tft.setCursor (65,123);
- tft.print (rafficamax);
- tft.print ("Km/h");
- tft.setTextColor (ST7735_YELLOW);
- tft.setTextSize (2);
- tft.setCursor (0,135);
- tft.print(hour());
- tft.print(":");
- tft.print(minute());
- tft.print(":");
- tft.print(second());
- tft.println("");
- tft.setTextSize (1);
- tft.print(day());
- tft.print("/");
- tft.print(month());
- tft.print("/");
- tft.print(year());
- tft.print("");
- }
-
- void rawdump() {
- // Serial.print("Raw: ");
- for (int i=0 ; i<41 ; i++) {
- // Serial.print (data[i]);
- if (i == 4) {
- // Serial.print (" ");
- }
- if (i == 8) {
- // Serial.print (" ");
- }
- if (i == 17) {
- // Serial.print (" ");
- }
- if (i == 20) {
- // Serial.print (" ");
- }
- if (i == 24) {
- // Serial.print (" ");
- }
- if (i == 28) {
- //// Serial.print (" ");
- }
- if (i == 37) {
- // Serial.print (" ");
- }
- }
-
-
- }
- void ContaGocce()
- {
- gocce++; // incrementa numero basculate
- if (gocce>1)
- {
- mmPioggia =mmPioggia + 0.518;
- }
- else
- {
- mmPioggia = mmPioggia + mmGoccia; // sommatoria millimetri pioggia
- }
- PluvioOldStep = PluvioStep;
- PluvioStep = time;
- statoLed = !statoLed;
- digitalWrite(pinLed_inter, statoLed ? HIGH : LOW);
- EEPROM.put (eeAddress4, mmPioggia);
- }
-
- void outputResults() {
- //Serial.println();
-
- int idx =0;
- for (int i=8 ; i> 4 ; i--)
- //for (int i=6 ; i> 2 ; i--) // dato modificato
- {
- idx = idx *2 + data[i]; // data[i] == 0/1.. see prev post. //
- }
-
- //Serial.print("idx: ");
- //Serial.println(idx, DEC);
- //Serial.print("Wind: ");
- //Serial.println(windDirection[idx] );
- // Serial.println();
-
- //Serial.print("Swapped: ");
-
- //HEAD
- for (int i =0 ; i< 5 ; i++)
- {
- //Serial.print(data[i]); // it contains 0 or 1
- }
-
- // Serial.print(" ");
-
- //WINDDIR
- for (int i =8 ; i> 4 ; i--)
- {
- // Serial.print(data[i]);
- }
- // Serial.print(" ");
-
- //WIND SPEED
- for (int i =17 ; i> 8 ; i--)
- {
- // Serial.print(data[i]);
- }
-
- //Serial.print(" ");
-
- //WIND SPEED+3
- for (int i =20 ; i> 17 ; i--)
- {
- // Serial.print(data[i]);
- }
-
- //Serial.print(" ");
-
- /*
- // Checksum
- for (iCounter=0;iCounter<4;iCounter++)
- {
- checksum |= (TX23_DATA_GET_BIT << iCounter);
- delayTargetuSec += bitLength;
- TX23_DoDelay;
- }
-
- //Calculate Checksum
- unsigned int checksumCalc = 0;
- checksumCalc += (winddir & 15);
- checksumCalc += ((windspeed >> 8) & 15);
- checksumCalc += ((windspeed >> 4) & 15);
- checksumCalc += (windspeed & 15);
- */
-
- // Checksum
- for (int i =24 ; i> 20 ; i--)
- {
- // Serial.print(data[i]);
- }
-
- //Serial.print(" ");
-
- //WIND DIR NEGATEIVE
- for (int i =28 ; i> 24 ; i--)
- {
- // Serial.print(data[i]);
- }
-
- //Serial.print(" ");
-
- //WIND SPEED NEGATED
- for (int i =37 ; i> 28 ; i--){
- // Serial.print(data[i]);
- }
-
- // Serial.print(" ");
-
- //WIND SPEED NEGATED +3
- for (int i =40 ; i> 37 ; i--){
- // Serial.print(data[i]);
- }
- // Serial.println();
- // Serial.println();
- // Serial.println();
- /*//
- Serial.print("Tempo= ");
- Serial.print(hour());
- Serial.print(":");
- Serial.print(minute());
- Serial.print(":");
- Serial.print(second());
- Serial.println("");
-
- Serial.print("Data= ");
- Serial.print(day());
- Serial.print("/");
- Serial.print(month());
- Serial.print("/");
- Serial.print(year());
- Serial.println("");
- /*/
- //esegui ogni secondo
- // delay(1000);
-
-
-
- if (sensors.getTempCByIndex(0)>maxeeprom)
- {
- maxeeprom=sensors.getTempCByIndex(0);
- EEPROM.put (eeAddress1, maxeeprom);
-
- }
- if (sensors.getTempCByIndex(0)<mineeprom)
- {
- mineeprom=sensors.getTempCByIndex(0);
- EEPROM.put (eeAddress2, mineeprom);
-
- }
-
- }
-
Si lo so è lungo, ma quello completo con internet sarà il doppio  infatti metto qualche pacchetto da scaricare alla fine quando farò il tutorial
Ultima modifica di As_Needed il Lun 14 Dic, 2015 18:24, modificato 2 volte in totale
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#148 nicola59 Lun 14 Dic, 2015 18:43
Ok mi hai convinto la compro.
-
-
Guru
-
- Utente #: 84
- Registrato: 24 Set 2005
- Età: 66
- Messaggi: 11977
-
1261 Punti
- Preferenza Meteo: Freddofilo
- Stazione Meteo: Davis Vantage Pro
- Località: Foligno Nord 240 metri slm
-
#149 As_Needed Lun 14 Dic, 2015 18:56
Ok mi hai convinto la compro.
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
#150 As_Needed Lun 14 Dic, 2015 19:44
Chiedo una cosa a voi che comunque li vedete i valori di RR... ma il rain rate minimo qual è? 0.8? Perché io non posso mettere tutti i valori fino a 0.1 perché se no siccome si calcola l'intervallo tra una basculata e l'altra significa che se scende a 0.3 per azzerarsi ci vogliono più di 2 ore... invece ho messo che quando va sotto uno, ovvero tipo 0.9, automaticamente è 0
-
-
Guru Socio Ordinario
-
- Utente #: 1789
- Registrato: 15 Ott 2014
- Età: 29
- Messaggi: 7489
-
174 Punti
- Preferenza Meteo: Indifferente
- Stazione Meteo: Altro
- Località: Melbourne, Australia
-
Questo argomento è stato utile?
Questo argomento è stato utile?
| Condividi Argomento |
|
 |
| Inserisci un link per questo argomento |
| URL |
|
| BBCode |
|
| HTML |
|
Argomenti Simili
Argomenti Simili
Lista Permessi
|
Non puoi inserire nuovi Argomenti Non puoi rispondere ai Messaggi Non puoi modificare i tuoi Messaggi Non puoi cancellare i tuoi Messaggi Non puoi votare nei Sondaggi Non puoi allegare files Puoi scaricare gli allegati Non puoi inserire eventi calendario
|
|
|
|
|