Info xbee

astrobeed:

terrornoize: Cosa mi sfugge? :~ =(

Che i float sono rappresentati sotto forma di un esponenziale e con solo 32 bit la reale risoluzione è di 6-7 cifre complessive tra parte intera e parte decimale, 123456.78 viene troncato a 123456.00 perché ha troppe cifre.

Ma ho provato a definirla come double, ma non c'è verso... appena supero le 4 cifre + la virgola, mi tronca i decimali...

terrornoize: Ma ho provato a definirla come double, ma non c'è verso... appena supero le 4 cifre + la virgola, mi tronca i decimali...

Sulle mcu a otto bit, come Arduino UNO, i double non esistono, vengono trattati come float a 32 bit, la definizione è presente solo per motivi di compatibilità con il C/C++.

Grazie Astro... ma quindi avessi la necessità di dover memorizzare una valore superiore al 99.99, senza giocarmi i decimali, come posso fare secondo voi?

terrornoize: Grazie Astro... ma quindi avessi la necessità di dover memorizzare una valore superiore al 99.99, senza giocarmi i decimali, come posso fare secondo voi?

Fino a 99.9999 è possibile, attenzione anche agli arrotondamenti e al fatto che la serial.print rende solo due decimali.

Mamma mia quanti limiti... :(

terrornoize: Mamma mia quanti limiti... :(

Benvenuto nel mondo reale di Arduino. :grin:

astrobeed:

terrornoize: Mamma mia quanti limiti... :(

Benvenuto nel mondo reale di Arduino. :grin:

Ma con l'intel galileo avrei gli stessi limiti? in teoria, visto che monta un processore a 32bit dovrei riuscire a fare un double, giusto? Ma si programma e gestisce allo stesso modo di un arduino uno?

On the Arduino Due, doubles have 8-byte (64 bit) precision.

terrornoize: Ma con l'intel galileo avrei gli stessi limiti? in teoria, visto che monta un processore a 32bit dovrei riuscire a fare un double, giusto? Ma si programma e gestisce allo stesso modo di un arduino uno?

La Galileo non è Arduino, puoi prendere una DUE oppure aspetti la ZERO, tutte e due con processori a 32 bit, però poi escono altri problemi dovuti alle diverse tensioni di lavoro e al fatto che non tutte le librerie sono compatibili.

Brunello:

On the Arduino Due, doubles have 8-byte (64 bit) precision.

Poi arriverà la QUATTRO con processore X86 64 bit e ArduWindows 10 :grin:

Sia ben chiaro, per adesso non ho necessità di dover cambiare hw o di dover usare cose strane. Diciamo che per ora, l'unico limite è la mia esperienza, perché immagino che comunque ci saranno sempre dei workaround per arrivare al risultato anche con i limiti hardware dell'arduino.

Comunque la vedo dura tornare indietro dal mega... non dover più fare i conti con gli ingressi è una cosa che mi piace assai... ]:D

Ho provato a portare giù in cantina l'xbee pensando di poter connettere la centralina che sto costruendo all'antifurto che ho appena fatto...

A volte, una volta ogni 20/30 pacchetti di dati, me ne salta uno o due. =( C'è da dire che quando lo arrivano lo fanno senza alcun errore...

Peccato, ma come faccio a fidarmi di una cosa del genere?

edit: adesso sembra piuttosto stabile, sarà almeno 100 pacchetti che non ne perde uno. Che si debba adattare? :sweat_smile:

Che si debba adattare?

Ci fai sorridere :grin:

Brunello:

Che si debba adattare?

Ci fai sorridere :grin:

Almeno vi faccio divertire! :D Oh, però nella stessa posizione di prima quando saltava pacchetti, ora non ne salta più...

comunque un minimo di controllo lo aggiugerei, metti che uno si metta a telefonare vicino. c'e' questo esempio di Leo72 , sul CRC http://www.leonardomiliani.com/2013/un-semplice-crc8-per-arduino/

Brunello:
comunque un minimo di controllo lo aggiugerei, metti che uno si metta a telefonare vicino.
c’e’ questo esempio di Leo72 , sul CRC
http://www.leonardomiliani.com/2013/un-semplice-crc8-per-arduino/

Grazie! appena posso ci do un occhio.
Comunque ho capito il perché non mi perdeva delle cifre durante la conversione tra stringa e float… ho risolto.

Ma può darsi che un sensore dht11 sia fallato o l’abbia “rovinato” in qualche modo?
Tra una lettura e l’altra (a distanza di un minuto) l’umidità rimane stabile, la temperatura sballa di parecchio, anche di 10°.