BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   Qualcuno sperimenta con Arduino? (https://www.baronerosso.it/forum/circuiti-elettronici/241145-qualcuno-sperimenta-con-arduino.html)

ElNonino 26 novembre 12 12:23

Piccolo suggerimento: se la distanza fisica fra master e slave è elevata è meglio mettere 4 rp di valore doppio; 2 vicine al master e 2 vicine allo slave.

:yeah:

romoloman 26 novembre 12 12:56

Citazione:

Originalmente inviato da ElNonino (Messaggio 3503869)
Piccolo suggerimento: se la distanza fisica fra master e slave è elevata è meglio mettere 4 rp di valore doppio; 2 vicine al master e 2 vicine allo slave.

:yeah:

Giusto... non credo sarà il caso di Fausto ma hai fatto bene a ricordarlo...

faustog_2 27 novembre 12 14:44

due slave
 
dunque.. per passarmi il capriccio, ho messo in parallelo il nunchuk e il LIS302DL... funzionano entrambi sul protocollo
il nunchuk ID = 0x52
LIS302DL ID = 0X1D

ho usato resistenze da 10 khom, e 4,7 k ohm funziona con entrambe..

spero ch questi piccoli esperimenti possano essere da guida
fausto

Citazione:

Originalmente inviato da romoloman (Messaggio 3503915)
Giusto... non credo sarà il caso di Fausto ma hai fatto bene a ricordarlo...


Tom_1971 21 dicembre 12 00:38

Sono orgoglioso di presentare la mia creazione (vedi primo post). Non c'entra niente col modellismo, lo ammetto. E non è neanche niente di sofisticato, ma io mi sono comunque divertito molto :wink:

gRiNgO 22 dicembre 12 01:39

ciao ragazzi una domanda, scusate se un pò offtopic, vorrei visualizzare una temperatura su un display collegato tramite i2c ad arduino uno r3.

il mio problema è che se mando direttamente un numero (il valore della variabile "temperatura")al display viene interpretato come comando (vedi tabella: LCD03)
come posso fare? :wacko:

ps:mi accontenterei di avere il valore senza decimali da -20 a +60 gradi celsius

romoloman 22 dicembre 12 02:04

Citazione:

Originalmente inviato da gRiNgO (Messaggio 3543110)
ciao ragazzi una domanda, scusate se un pò offtopic, vorrei visualizzare una temperatura su un display collegato tramite i2c ad arduino uno r3.

il mio problema è che se mando direttamente un numero (il valore della variabile "temperatura")al display viene interpretato come comando (vedi tabella: LCD03)
come posso fare? :wacko:

ps:mi accontenterei di avere il valore senza decimali da -20 a +60 gradi celsius

posta qua il codice che stai usando...

gRiNgO 22 dicembre 12 13:13

non c'è molto da postare
Codice:

 
#include <Wire.h>


void setup() {
  Wire.begin();
 
  }
void loop ()  {
 
  Wire.beginTransmission(0x63);
  Wire.write((byte)(0x13));
  Wire.write((byte)(0x13));
  Wire.write(4);
  Wire.write(12);
  Wire.write((byte)(0x01));
 
  Wire.write("Temperatura");
 
  delay(1000);
  Wire.write(13);
  Wire.write("Allarme off");
  delay(1000);
 
  Wire.endTransmission();
}

questo è solo per dare l'idea di come lo sto usando per far comparire 2 scritte, naturalmente accanto a ''Temperatura'' vorrei il valore.
manca tutta la parte della variabile perchè non so proprio come muovermi cioè non posso inviare il valore della variabile direttamente con Wire.write(valore) perchè lo prenderebbe come comando...
c'entra qualcosa la funzione dtostrf()?

romoloman 22 dicembre 12 16:44

Citazione:

Originalmente inviato da gRiNgO (Messaggio 3543388)
non c'è molto da postare
Codice:

 
#include <Wire.h>


void setup() {
  Wire.begin();
 
  }
void loop ()  {
 
  Wire.beginTransmission(0x63);
  Wire.write((byte)(0x13));
  Wire.write((byte)(0x13));
  Wire.write(4);
  Wire.write(12);
  Wire.write((byte)(0x01));
 
  Wire.write("Temperatura");
 
  delay(1000);
  Wire.write(13);
  Wire.write("Allarme off");
  delay(1000);
 
  Wire.endTransmission();
}

questo è solo per dare l'idea di come lo sto usando per far comparire 2 scritte, naturalmente accanto a ''Temperatura'' vorrei il valore.
manca tutta la parte della variabile perchè non so proprio come muovermi cioè non posso inviare il valore della variabile direttamente con Wire.write(valore) perchè lo prenderebbe come comando...
c'entra qualcosa la funzione dtostrf()?

Direi proprio di si...
http://dereenigne.org/arduino/arduino-float-to-string
ammesso che quello che leggi sia un float altrimenti esiste sempre un cast, la itoa o la sprintf

gRiNgO 22 dicembre 12 17:11

sì sì è un float uso un sensore lm35dz, scusa se ne approfitto ma come si usa questa funzione dtostrf() all'interno dello sketch ?

ho letto che la sprintf() è meglio evitarla per problemi di "pesantezza"

romoloman 22 dicembre 12 20:00

Citazione:

Originalmente inviato da gRiNgO (Messaggio 3543685)
sì sì è un float uso un sensore lm35dz, scusa se ne approfitto ma come si usa questa funzione dtostrf() all'interno dello sketch ?

ho letto che la sprintf() è meglio evitarla per problemi di "pesantezza"

Codice:

#include <Wire.h>
char buffer[10];
float temp=5.0;

void setup() {
  Wire.begin();
 
  }
void loop ()  {
 
  Wire.beginTransmission(0x63);
  Wire.write((byte)(0x13));
  Wire.write((byte)(0x13));
  Wire.write(4);
  Wire.write(12);
  Wire.write((byte)(0x01));
 
  Wire.write("Temperatura");
  dtostrf(temp,5, 1, buffer);
  Wire.write(buffer);
 
  delay(1000);
  Wire.write(13);
  Wire.write("Allarme off");
  delay(1000);
 
  Wire.endTransmission();
}



Tutti gli orari sono GMT +2. Adesso sono le 17:08.

Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002