Salve,
inizio dicendo che sono alle prime armi con arduino quindi vi chiedo venia se dico qualche strafalcione,
ho comprato una sonda termica impermeabile modello DS18B20 ed ho alcune domande da porvi:
-cercando su internet come programmarla ho trovato due codici ma nessuno dei due funziona correttamente; qualcuno sa aiutarmi?
devo collegarla a un piedino digitale o analogico? le informazioni che ho trovato io sono molto confusionarie....
Attendo risposta,
Grazie mille
Prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione ...
... poi, in conformità al REGOLAMENTO, punto 13, il cross-posting è proibito (anche tra lingue diverse) e quindi, a maggior ragione, il tuo post nell'area in Inglese è stato cancellato ...
... infine, essendo questo il tuo primo post, ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO ... Grazie.
Usa un pin digitale qualunque. Eventualmente anche uno analogico, perché tutti i pin analogici di Arduino possono funzionare anche come digitali.
Detto questo, la sonda usa un protocollo di comunicazione chiamato OneWire, ma in prima approssimazione puoi non preoccupartene, visto che esiste un'ottima libreria che pensa a tutto: MilesBurton.com. Tra gli esempi c'è praticamente tutto quel che ti serve.
Mi scuso con Guglielmo per non avere effettuato la presentazione subito...
per quanto riguarda il post cancellato avevo cercato di eliminarlo anche io una volta capito di aver sbagliato sezione e mi scusa di nuovo...
vado subito a leggere il regolamento!!
per quanto la libreria OneWire avevo già provato a usarla prendendo spunto da una sketch trovato in rete adesso provo ad usare gli esempi ufficiali... Intanto Grazie mille!
Uso il sensore DS18B20 con successo con questo codice:
// includo librerie per gestione DS18B20
#include <OneWire.h>
#include <DallasTemperature.h>
// Il terminale "data" del DS18B20 è connesso alla porta 2 di Arduino e imposto la comunicazione con esso
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire); // Passaggio oneWire reference alla Dallas Temperature.
void setup(void)
{
sensors.begin(); // avvia libreria DS18B20
Serial.begin(9600);
}
void loop(void)
{
sensors.requestTemperatures(); // Invia il comando di lettura delle temperatura
Serial.print("Temperatura di: "); // stampa a video la temperatura
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" C");
}
ricordati di cablare la resistenza da 4.7K come vedi in tutti gli schemi.