serial print

vshuka
Offline
Зарегистрирован: 10.07.2013

добрый вечер.помогите пожалста.есть готовый скейч,вроде бы все хорошо,но вот беда,там lcd подключен через serial RX и TX и результат таков "Serial.print("?x00?y2tot");  

                                                                   Serial.print("?x07?y2v"); 

у меня LCD  подключен  через SDA и SCL кто может подсказать как заменить или решить проблему по другому

maksim
Offline
Зарегистрирован: 12.02.2012

Какую проблему?

vshuka
Offline
Зарегистрирован: 10.07.2013

да действительно,какую? сейчас попытаюсь объяснить...есть готовый скейч.ВОТ отрывок:

 if ((currenttemp1 != lasttemp1) && (currenttemp1>0))
  
  {
      Serial.print("?x01?y3HK=");
   
   Serial.print(currenttemp1>>4);
   
   byte overflow = currenttemp1 % 16;
  
    byte decimalvalue = temparray[overflow]+48;
    
  Serial.print("."); 
  
   Serial.print(decimalvalue); 
 
     Serial.print("?0"); 
//deg C
     
 Serial.print(" ");   
          // ADDED TO PREVENT DOUBLE *C WHEN IT GOES TO TRIPLE DIGITS THEN BACK TO DOUBLE DIGITS 
    
  lasttemp1 = currenttemp1;
  
  }
 
  
  currenttemp2 = tempread(sensor2);
  
  if ((currenttemp2 != lasttemp2) && (currenttemp2>0))
   
 {
   
   Serial.print("?x11?y3MT=");
     
 Serial.print(currenttemp2>>4);
  
    byte overflow = currenttemp2 % 16;
    
  byte decimalvalue = temparray[overflow]+48;
   
   Serial.print("."); 
   
   Serial.print(decimalvalue); 
  
    Serial.print("?0"); //deg C 
    
  lasttemp2 = currenttemp2;
  
  }
    везде выведено через SERIAL PRINT так как у автора LCD  подключен через RX AND TX вывод
у меня же lcd подключен через выводsdl and scl и естественно не читается...вот как то так
Alexander
Offline
Зарегистрирован: 25.04.2010
maksim
Offline
Зарегистрирован: 12.02.2012

Ну так а что у вас за дисплей то? 

vshuka
Offline
Зарегистрирован: 10.07.2013

дисплей 20x4 blue screen подключен через IIC/I2C

maksim
Offline
Зарегистрирован: 12.02.2012

Я что не доганяю это же ваша тема http://arduino.ru/forum/obshchii/pomogite-skrestit-funduino-mega-s-lcd-blue-i2c и вы спрашиваете как Serial заменить на lcd?

vshuka
Offline
Зарегистрирован: 10.07.2013

возможно я плохо объясняю,но попробую еще раз.В той теме была проблема завести жк.он тупо не реагировал на код,но с помощью правильного адреса и резисторов все получилось

#include <OneWire.h>
#include <Wire.h>  // Comes with Arduino IDE
 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
все хорошо,но теперь другая беда.у меня есть готовый скеч,но прописан он через serial print например "Serial.print("?x11?y3MT=");"
если я меняю serial.print на lcd.print то на экране получаю каракули например ?x11?y3MT= тоесть то что находится в скобках
maksim
Offline
Зарегистрирован: 12.02.2012

Вы о чем??? Если отправляете каракули lcd.print("?x01?y3HK="); то эти же какракули и получаете на дисплее ?x01?y3HK=.

vshuka
Offline
Зарегистрирован: 10.07.2013

но эти же каракули что то обозначают?

if ((ReadPinElementHlt == HIGH) && (floatswitch.isPressed()))
      {
        digitalWrite(PinElementHlt, LOW);
        Serial.print("?x12?y2E");  // set element ssr to E for "Error" which is off
      }
 
 
или например:
 
 
 
if ((currenttemp1 != lasttemp1) && (currenttemp1>0))
    {
      Serial.print("?x01?y3HK=");
      Serial.print(currenttemp1>>4);
      byte overflow = currenttemp1 % 16;
      byte decimalvalue = temparray[overflow]+48;
      Serial.print("."); 
      Serial.print(decimalvalue); 
      Serial.print("?0"); //deg C
      Serial.print(" ");             // ADDED TO PREVENT DOUBLE *C WHEN IT GOES TO TRIPLE DIGITS THEN BACK TO DOUBLE DIGITS 
      lasttemp1 = currenttemp1;
    }
 

что значит например:  ("?x01?y3HK=")

 

ili   Serial.print("?0")

vshuka
Offline
Зарегистрирован: 10.07.2013

 например   Serial.print("?f");  это lcd.clear

а вот что с остальным делать

maksim
Offline
Зарегистрирован: 12.02.2012

Находите описание команд этого дисплея и переписываете под свой.

vshuka
Offline
Зарегистрирован: 10.07.2013

во вот задача где их найти? я уже перерыл все по моему

maksim
Offline
Зарегистрирован: 12.02.2012

Ну а я откуда знаю где... вы же где то взяли этот код для какого то дисплея.

Клапауций
Offline
Зарегистрирован: 10.02.2013

vshuka пишет:

но эти же каракули что то обозначают?

что значит например:  ("?x01?y3HK=")

ili   Serial.print("?0")

Похоже на баг при копировании немецких или иных странных букоф

Ä äÖ öÜ ü

зы

В интернетах дофига скетчей отличных от вашего индикаторов, но их не обязательно втулять в своё железо.

Используйте библиотеку https://github.com/qistoph/LiquidCrystal_I2C и будет вам счастье.

 

maksim
Offline
Зарегистрирован: 12.02.2012

Клапауций пишет:

Используйте библиотеку https://github.com/qistoph/LiquidCrystal_I2C и будет вам счастье.

#7

Клапауций
Offline
Зарегистрирован: 10.02.2013

maksim пишет:
#7

Второй раз пусть попробует использовать нужную библиотеку.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Лучше бы подсказали человеку разницу между lcd.write() и lcd.print() и как с помощью цикла вывести всю таблицу, зашитую в дисплей.