|
Autore |
Messaggio |
opzioni |
picciw
postato il: 27.03.2017, alle ore 11:51 |
Arduino temperatura con DS18b20
Buongiorno! Mi sono avvicinato da poco alla scheda Arduino uno.Desideravo realizzare il termometro con Ds18b20 e lcd 1602a con scheda Arduino 1. Sul sito Progetti arduino il nr. 42, dallo schema si vedono 2 fili che vanno dietro LCD indicati con SCL(serial clock) e SDA (serial data)! Non avendo il mio LCD il modulino dietro LCM1602, mi chiedevo se c\'era una variante per poter ovviare il problema! Se dovessi comprare il modulo LCM1602, come va montato dietro il display ? Grazie e buona giornata a tutti .... |
|
picmicro675
postato il: 27.03.2017, alle ore 12:38 |
Il tuo progetto è questo
http://www.progettiarduino.com/42-arduino-temperatura-e-disp…
È semplice, scarica la libreria LiquidCrystal e vedi gli esempi riportati.
Dovresti comunque avere 6 piedini liberi per un display non I2C.
https://www.arduino.cc/en/Reference/LiquidCrystalConstructor
Con 6 fili, dovrai mettere RW a massa. Come questo, riferito al link qui sopra
Anno nuovo, forum nuovo.
Mi sa che lascio. |
|
picciw
postato il: 27.03.2017, alle ore 12:52 |
Perdona la mia ignoranza, ma il sensore DS18b20, come va inserito nello schema da te postato? La libreria LiquidCrystal e' gia' presente nell'IDE di Arduino che ho installato...Mi potresti postare lo schema completo col sensore ? Lo sketch rimane poi lo stesso del progetto 42 ? Grazie della collaborazione e della pazienza.. |
|
gironico
postato il: 27.03.2017, alle ore 13:54 |
quando si incomincia con qualcosa, si fa per piccoli passi.... inizia ad accendere e spegnere un led con un pulsante, poi cerca di capire come funziona un lcd.... i2c verra dopo....poi il sensore....
Se vuoi bruciare le tappe, parti pure dal sensore: ecco come si collega in modalità istruzioni ovino kinder
https://create.arduino.cc/projecthub/everth-villamil-ruiz/te…
La vita è troppo breve per bere vini mediocri |
|
picciw
postato il: 27.03.2017, alle ore 14:23 |
In una settimanella ho provato il led lampeggiante (blink) variando i tempi nello sketch e col display ho montato il progettino Hello world, variando la dicitura nello sketch, entrambi andati a buon fine ! Mi intrigava adesso il termometro...Grazie comunque di tutto..Ogni altro suggerimento e' ben accetto ..Buona serata!! |
|
gironico
postato il: 27.03.2017, alle ore 16:21 |
il modulo per l'i2c per lcd va montato rispettando chiaramente i collegamenti. Dipende dal tipo di lcd... non tutti hanno la solita piedinatura.... alcuni potrebbero non essere pin to pin compatibili per poterlo saldare direttamente dietro. Occorre che tu prima capisca la piedinatura del lcd e poi quella del modulino, che non è altro che un banale i/o expander con un pcf8574 che puoi reperire ovunque....
Se ci fornisci il modello preciso del lcd e del modulo, è più facile aiutarti
La vita è troppo breve per bere vini mediocri |
|
picciw
postato il: 27.03.2017, alle ore 17:56 |
Sono riuscito a trovare su youtube quello di mio interesse(in spagnolo): ho scaricato tutto, ho fatto i collegamenti e nel caricare lo sketch mi dice : C:\Program Files\Arduino\libraries\DallasTemperature\DallasTemperature.cpp:9:26: error: WConstants.h: No such file or directory
Sapreste dirmi che accidenti e' andato storto ??
|
|
gironico
postato il: 27.03.2017, alle ore 17:59 |
che probabilmente non hai installato la libreria corretta per questo sketch...
La vita è troppo breve per bere vini mediocri |
|
picciw
postato il: 27.03.2017, alle ore 18:00 |
questo e' lo sketch :
#include <OneWire.h> //Se importan las librerÃas
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#define Pin 3 //Se declara el pin donde se conectará la DATA
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
OneWire ourWire(Pin); //Se establece el pin declarado como bus para la comunicación OneWire
DallasTemperature sensors(&ourWire); //Se instancia la librerÃa DallasTemperature
void setup()
{
lcd.begin(16, 2);
sensors.begin(); //Se inician los sensores
}
void loop()
{
sensors.requestTemperatures(); //Prepara el sensor para la lectura
lcd.setCursor(0, 1);
lcd.print(sensors.getTempCByIndex(0)); //Se lee e imprime la temperatura en grados Celsius
lcd.print("ºC");
lcd.setCursor(1, 1);
lcd.print(sensors.getTempFByIndex(0)); //Se lee e imprime la temperatura en grados Fahrenheit
lcd.println("F");
delay(1000); //Se provoca un lapso de 1 segundo antes de la próxima lectura
} |
|
gironico
postato il: 27.03.2017, alle ore 18:01 |
posta l'intero codice utilizzando sotto a questa finestra 'codice sorgente'
La vita è troppo breve per bere vini mediocri |
|
|