Show Posts
Pages: 1 2 [3] 4
31  International / Megatopic / Re: swRTC on: November 27, 2011, 04:45:29 pm
Ne approfitto, come faccio a farmi restituire dalle funzioni l'ora in formato 01:05 e non 1:5 ??
32  International / Generale / Re: [Help2] Domotica con WebServer Arduino on: November 27, 2011, 03:56:04 pm
Ah! Io ho dato per scontato che quella pagina che visualizzi sia su un pc interno alle rete, il quale POI gestisce (gl)i arduino/i. Se invece la pagina che visualizzi da fuori è SULL'arduino web server, basta che nel link metti solo il link alla pagina, non comprensivo di IP smiley-razz
33  International / Generale / Re: [Help2] Domotica con WebServer Arduino on: November 27, 2011, 03:51:42 pm
Hai due soluzioni, una che va sicuramente, l'altra che è teoricamente possibile ma dubito esista.

La prima: sul router inoltri la porta 8000 sul server interno, in modo che sulla pagina che hai non ci sia il link a 192.168... ma il link al tuahome.dyndns.org:8000 Così facendo anche da casa usi il router come ponte (non tutti i router, specialmente quelli da pochi soldi, lo permettono. Inoltre a tutti gli effetti la porta 8000 della tua adsl porta al dispositivo interno in modo diretto).

La seconda: teoricamente dicevo possibile perché non conoscendo le ultime news in fatto di java, php, ajax è altre amenità web-related, magari è possibile fare fare al server web una sorta di collegamento interno verso il 192.168.x.x:8000 e mandarti l'output video attraverso la pagina web. E' solo teoria. Fai una ricerca...
34  International / Megatopic / Re: swRTC on: November 27, 2011, 09:39:02 am
Non ho avuto la pazienza di leggere tutto il thread sulla precisione dell'orologio, mi limito a fornirti un feekback sul comportamento di un lilpad con il 328.. dopo 8 ore ha scazzato di 4 minuti. Per me non è un problema perché tanto una volta al giorno sincronizzo via seriale (appena mi arrivano i moduli bluetooth aggiorno wireless) e i più lo userò come cronotermostato e quindi non serve sia preciso, mi basta non dovermi costruire un rtc smiley-razz

Ciao
M
35  International / Megatopic / Re: swRTC on: November 26, 2011, 09:28:37 pm
Dimeticavo, grazie per l'hint Leo!
36  International / Megatopic / Re: swRTC on: November 26, 2011, 09:14:54 pm
Ok ce l'ho fatta... posto il codice che magari a qualche principiante come me puo servire..
Setto l'ora con comando da seriale tipo: !D201111261200 e mandando un "G" mi dice l'ora...

Code:
#include <swRTC.h>
swRTC rtc;

int  inChar;
byte inData[12];  

void setup() {
 
  delay(2000);
  rtc.stopRTC();
  rtc.setTime(10,43,0);
  rtc.setDate(25,11,2011);
  rtc.startRTC();
  
  Serial.begin(9600);
  Serial.println("Arduino Ready");
}

void loop () {

  
  while(Serial.available() > 0)
  {


   inChar = Serial.read(); // leggo il primo carattere inviato
   if(inChar == '!') // se inizia per ! allora è un comando e vado a vedere che comando
   {

    Serial.print("Set -> ");
    inChar = Serial.read(); // leggo il secondo carattere inviato
    if(inChar == 'D')  // se inizia per D è il comando settare data e ora
    {
     Serial.print(" Time : ");
    
     int i = 0;
     for (i=0;i<12;i++) // leggo le prossime 12 cifre per il formato data YYYYMMDDhhmm
     {
       inChar = Serial.read();
       inData[i] = inChar;
     }
    
     char anno[] = { inData[0], inData[1], inData[2], inData[3], 0 };
     char mese[] = { inData[4], inData[5], 0 };
     char giorno[] = { inData[6], inData[7], 0 };
     char ora[] = { inData[8], inData[9], 0 };
     char minuto[] = { inData[10], inData[11], 0 };
    
     int Anno = atoi(anno);
     int Mese = atoi(mese);
     int Giorno = atoi(giorno);
     int Ora = atoi(ora);
     int Minuto = atoi(minuto);
      
     Serial.print(Anno);
     Serial.print("/");
     Serial.print(Mese);
     Serial.print("/");
     Serial.print(Giorno);
     Serial.print(" ");
     Serial.print(Ora);
     Serial.print(":");
     Serial.println(Minuto);
      
     delay(2000);
     rtc.stopRTC();
     rtc.setTime(Ora,Minuto,0);
     rtc.setDate(Giorno,Mese,Anno);
     rtc.startRTC();
 
    }
    


   }
  
  
   if (inChar == 'G')
   {
     Serial.print(rtc.getYear(), DEC);
     Serial.print("/");
     Serial.print(rtc.getMonth(), DEC);
     Serial.print("/");
     Serial.print(rtc.getDay(), DEC);
     Serial.print(" ");
     Serial.print(rtc.getHours(), DEC);
     Serial.print(":");
     Serial.println(rtc.getMinutes(), DEC);
    }
  
  
  
  }
  
  

}
37  International / Megatopic / Re: swRTC on: November 26, 2011, 07:16:04 pm
Sì, swRTC.setTime richie dati in formato byte.
Devi fare la conversione tra tipi di dato.
Prova convertendo il tuo dato String in un char* usando String.toCharArray e poi con atoi a convertire questo in un numero.

Una soluzione più semplice è spedire direttamente i dati in formato byte: byte mandi, byte arrivano.

Grazie, ma io non ce l'ho già l'array di byte?? Scusa ti metto il codice che uso... perché non ci capisco niente smiley-razz

Code:
#include <swRTC.h>
swRTC rtc;

int  inChar;             // var that will hold the bytes-in read from the serialBuffer
byte inData[12];  // array that will hold the different bytes  100=100characters;


void setup() {
 
  delay(2000);
  rtc.stopRTC();
  rtc.setTime(10,43,0); //set the correct time...
  rtc.setDate(25,11,2011); //... and date if you want
  rtc.startRTC();
 
  Serial.begin(9600);
  Serial.println("Arduino Ready");
}

void loop () {

 
 
  while(Serial.available() > 0)
  {


   inChar = Serial.read(); // leggo il primo carattere inviato
   if(inChar == '!') // se inizia per ! allora è un comando e vado a vedere che comando
   {

    Serial.print("Comando: ");
    inChar = Serial.read(); // leggo il secondo carattere inviato
    if(inChar == 'D')  // se inizia per D è il comando settare data e ora
    {
     Serial.println("TimeSync ");
     // leggo le prossime 12 cifre per il formato data YYYYMMDDhhmm
     
     int i = 0;
     for (i=0;i<11;i++)
     {
       inChar = Serial.read();
       inData[i] = inChar;
     }
   
     String anno =  String(inData[0]) + String(inData[1]) + String(inData[2]) + String(inData[3]);
     String mese = String(inData[4]) + String(inData[5]);
     String giorno = String(inData[6]) + String(inData[7]);
     String ora = String(inData[8]) + String(inData[9]);
     String minuto = String(inData[10]) + String(inData[11]);
     
     delay(2000);
     rtc.stopRTC();
     rtc.setTime(ora,minuto,0); //set the correct time...
     rtc.setDate(giorno,mese,anno); //... and date if you want
     rtc.startRTC();
         
    }

   }

  }

}
38  International / Megatopic / Re: swRTC on: November 26, 2011, 06:54:08 pm
Ragazzi, molto bella la discussione tecnica sulla precisione di sti orogologi ma sul concreto io sto cercando di aggiornare l'ora via seriale, mandando una stringa tipo !D201111260049 . Peccato che arrivo a memorizzare in un array tutti i caratteri e con la funzione String riesco anche a suddividere anno, mese, giorno etc...


Ma quando vado a usare la stringa che ho creato dentro la funzione per l'aggiornamento dell'ora ---> B O O M ! !

sketch_nov26a.cpp: In function 'void loop()':
sketch_nov26a:62: error: no matching function for call to 'swRTC::setTime(String&, String&, int)'
/Users/matteo/Documents/Arduino/libraries/swRTC/swRTC.h:32: note: candidates are: boolean swRTC::setTime(byte, byte, byte)


Ora le stringhe me le compongo così:

     String anno =  String(inData[0]) + String(inData[1]) + String(inData[2]) + String(inData[3]);
     String mese = String(inData[4]) + String(inData[5]);
     String giorno = String(inData[6]) + String(inData[7]);
     String ora = String(inData[8]) + String(inData[9]);
     String minuto = String(inData[10]) + String(inData[11]);

Peccato che lui voglia delle variabili "byte" se ho capito bene. Ma non so come concatenare delle variabili byte!!!
Come avrete inteso sono un niubbo!!

Ciao
M
39  International / Generale / Re: Replicare Cron! on: November 25, 2011, 06:22:09 am

se non vuoi usare un RTC, puoi usare la libreria swRTC, scritta da Leo:
http://arduino.cc/forum/index.php?topic=73496.480
Devi inizializzarla ad ogni reset di Arduino, ma come precisione va bene.


Ottimo, grazie, sta sera comincio a mettere assieme i pezzi per arrivare all'obbiettivo! Ho già un'idea guida..
Per i reset ri arduino no problem perché l'autoreset l'ho tolto col condensatore fra reset e gnd, e la corrente ci sarà sempre proprio perché questo device andrà a batteria!!

Grazie
M
40  International / Generale / Replicare Cron! on: November 25, 2011, 05:11:04 am
Ciao, mi servirebbe un hint perché ci capisco ben poco! Per ora il mio arduino-cronotermostato è un dispositivo "stupido", viene comandato via usb dal pc con cron e si limita a fare da attuatore in base al comando che gli mando via cavo.
Vorrei pian piano renderlo completamente autonomo; per prima cosa pensavo a realizzare un qualcosa che ad una certa ora accenda e an un'altra ora spenga qualcosa (anche il led su pin13 per ora), ma non so da dove partire. Non vorrei usare un rtc, non mi serve precisione assoluta...
Da dove comincio??
41  International / Generale / Re: Arduino via seriale (vera!), bluetooth e adattatori vari on: November 20, 2011, 02:36:15 pm
a giudicare dall'esempio sembra di no smiley
http://jeelabs.org/2009/02/14/ports-library-for-arduino/

<<The wireless isn’t being used in this example>>
42  International / Generale / Re: Arduino via seriale (vera!), bluetooth e adattatori vari on: November 17, 2011, 11:09:53 am
Hai preso in considerazione i jeenodes ? (se fanno al caso tuo).
http://jeelabs.com/products/jeenode

Interessante ma... radio module??? Immagino ci sia da programmare un tot! Non è piu semplice col bt?
43  International / Generale / Re: Arduino via seriale (vera!), bluetooth e adattatori vari on: November 17, 2011, 09:41:29 am
Grande, ne ho ordinati 2 sulla baia, 10 euro comprese sp. Se vanno vanno, se no pazienza... così smanetto con una cosa super low cost, tanto mi servono solo per togliere i cavi seriali nell'uso dei dispositivi.

Grazie
CIao
44  International / Generale / Re: Arduino via seriale (vera!), bluetooth e adattatori vari on: November 16, 2011, 03:11:41 am
ciao
se ho capito bene, dai post di Uwe, intendi anche fare l'upload di sketch?

Se è possibile bene, altrimenti pazienza.

Quote
Se invece vuoi usare il bt come seriale (per inviare e ricevere dati), allora non hai alcun problema, è trasparente al pc e ad Arduino (previa minima programmazione, chiaramente).
Io utilizzo dei modulini basso costo, li attacco a pin 2 e 3 ed utilizzo la NewSoftwareSerial, per tenere libera la seriale e poter eventualmente fare upload di sketch / debug senza dover scollegare il modulo bt stesso.

E' esattamente quello che vorrei fare, mi puoi dire che moduli hai preso, dove e se ci sono cose strane da fare etc?

Grazie
Ciao
M
45  International / Generale / Re: Arduino via seriale (vera!), bluetooth e adattatori vari on: November 15, 2011, 06:17:46 pm
1) potresti usare anche il circuito usato sul Arduino seriale. (circuito in basso a sinistra: http://webzone.k3.mah.se/k3dacu/arduino/releases/serial_v2/arduino_rs232_v2.png ) per l' upload serve un reset manuale.

Interessante quel circuito. Alternativa fattibile!

Quote
2) dipende. Quelle interfaccie non sempre sono per 5V spesso se usi uno per un telefonino tipo Nokia danno tensioni di 3,3V. Per resettare l' arduino quando ci carichi il programma serve anche il segnale DTR della seriale. Se l'adattatore non ce l'ha devi premere il tasto di reset nel momento giusto durante la procedura di upload.

Se lo do troppo presto immagino sian cazzi, ma se lo do in ritardo?

Quote
3) vale quello del reset detto in 2).
Ciao Uwe

Thanks a entrambi!!!

Ciao
Pages: 1 2 [3] 4