Hei
Työn alla on arduinopohjainen patterilla toimiva lämpömittari.
Eipä oikein toimi niinkuin haluaisin.
Ilmoittaa kyllä serial porttiin lämpötilan vaan ei näyttöön, näytössä on vain omituisen näköisiä harakanvarpaita.
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
// LCD=======================================================
//initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
#define LCD_WIDTH 8
#define LCD_HEIGHT 2
// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
void setup(void)
{
Serial.begin(9600);
lcd.begin(LCD_WIDTH, LCD_HEIGHT, 1);
lcd.setCursor(1, 0);
// lcd.print("DS1820"); jos ottaa // pois niin printtaa näytölle tekstin oikein
delay(550);
// Start up the library
sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement
}
void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
//Serial.print("Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
lcd.print(sensors.getTempCByIndex(0)); // printtaa näytölle harakanvarpaita
Serial.print(sensors.getTempCByIndex(0)); // jos pelkästään tämä rivi niin prittaa lämpötilan seriaaliin yhdelle riville
Serial.println(" "); // kun tämä on mukana printtaa lämpötilan alekkain seriaaliin
}
Mitkä menee pieleen?
Näyttö on mielestäni oikein kytketty, testasin ”hello word”- koodinpätkällä.
(Tosin näyttö ei olekaan 16x2 vaan 8x2, jossa vielä rivit ovat peräkkäin.)
Lämpötila printtautuu seriaaliin, joten anturikin toimii.
Olisiko vinkkejä asiaan, en ainakaan vielä ole löytänyt netistä apuja.
Nöyrimmästi kyselee,
ubu hui