Merhaba arkadaşlar, Elimde 2 adet Xbee S2 var konfigürasyonlarını yaptım ve haberleşme problemi yaşamıyorum, Bir arduino’ dan gönderdiğim sabit karakteri diğer arduino üzerindeki lcd shield’ da görüntüleyebildim. Bir sonraki aşama olarak da birinci arduino lm35 ile sıcaklık değerini okuyacak diğer arduino daki ekranda bu okunan değer görüntülenecek. Amacım bu ama mağlesef başaramadım, float olarak okuduğum sıcaklık değerini sanırım Serial.write() komutu gönderemiyor, gönderdiğim verinin türünü değiştirmem gerektiğini düşünüyorum ama elle tutulur bir bilgiye ulaşamadım. Kodlarım şöyle, //Sıcaklık değerini LM35 okuyup gönderen Arduino int sicaklik; float gerilim; int sicaklikPin=0; void setup() { Serial.begin(9600); } void loop() { gerilim= analogRead(sicaklikPin); //sensörden gelen veriyi oku gerilim=(gerilim/1023)*5000; //mV cinsinden gerilimi bul sicaklik=(gerilim/10.0); //gerilm değerini sicaklığa dönüştür. Serial.write(sicaklik); delay(5000); } //LCD ekranda gösteren Arduino #include <wire.h>
#include <liquidcrystal.h>
LiquidCrystal lcd( 8, 9, 4, 5, 6, 7 );
float sicaklik;
void setup()
{
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop()
{
if (Serial.available()) {
delay(100);
lcd.clear();
while (Serial.available() > 0) {
sicaklik = Serial.read();
lcd.write(sicaklik);
}
}
}
Kodlarım bu şekilde sanırım değişkenleri gönderdiğim veri türü hatalı ama bilmiyorum, yardım edebilirseniz sevinirim.
</liquidcrystal.h></wire.h>