Бoлшые цифры на LCD

aidas
Offline
Зарегистрирован: 07.03.2012

 Как зделать большые температурные цифры на LCD. Как ссоеденить два кода

                                температурный:
 

 #include <OneWire.h>
 #include <DallasTemperature.h>
 #include <LiquidCrystal.h>

LiquidCrystal lcd(7, 9, 11, 12, 8, 10);
  // Data wire is plugged into pin 3 on the Arduino
 #define ONE_WIRE_BUS 3

 // Setup a oneWire instance to communicate with any OneWire devices
 OneWire oneWire(ONE_WIRE_BUS);

 // Pass our oneWire reference to Dallas Temperature. 
 DallasTemperature sensors(&oneWire);

 DeviceAddress Thermometer1 = { 0x28, 0x5A, 0xE6, 0x9A, 0x03, 0x00, 0x00, 0XA7 };  //6    
 DeviceAddress Thermometer2 = { 0x28, 0x37, 0xB7, 0x9A, 0x03, 0x00, 0x00, 0x76 };  //4
 DeviceAddress Thermometer3 = { 0x28, 0x8A, 0xBB, 0x9A, 0x03, 0x00, 0x00, 0x1A };  //8
 DeviceAddress Thermometer4 = { 0x28, 0xD4, 0xDB, 0x9A, 0x03, 0x00, 0x00, 0x36 };  //5


 void setup(void)
 {
 
 sensors.begin();
 
 sensors.setResolution(Thermometer1, 10);
 sensors.setResolution(Thermometer2, 10);
 sensors.setResolution(Thermometer3, 10);
 sensors.setResolution(Thermometer4, 10);
 
 lcd.begin(20,4); // columns, rows. 20x4
 lcd.clear(); 
 }

 void printTemperature(DeviceAddress deviceAddress)
 {
 float tempC = sensors.getTempC(deviceAddress);
 if (tempC == -127.00) {
 lcd.print("Error");
 } else {
 lcd.print((tempC),0);
  }
 }

 void loop(void)
 { 
 delay(2000);
 sensors.requestTemperatures();
 lcd.setCursor(0,0);
 printTemperature(Thermometer1);
 
 lcd.setCursor(12,0);
 printTemperature(Thermometer2);
 
 lcd.setCursor(0,2);
 printTemperature(Thermometer3);
 
 lcd.setCursor(12,2);
 printTemperature(Thermometer4);
 }

                              Бoлшые цифры:     

 

#include <LiquidCrystal.h>
#include <BigFont.h>

LiquidCrystal lcd(7, 9, 11, 12, 8, 10);
BigFont bigf;

void setup() {
   lcd.begin(20, 4);
    bigf.attach(&lcd);
}

void loop() {
   lcd.clear();

  lcd.setCursor(7, 0);
  lcd.print("HELLO");
  lcd.setCursor(7, 2);
  lcd.print("WORLD");
  delay(1000);  

  bigf.clear();
 
  bigf.setCursor(0, 0);
  bigf.print("12345");
  bigf.setCursor(0, 2);
  bigf.print("67890");

  delay(1000);
}

 

leshak
Offline
Зарегистрирован: 29.09.2011

 Ну наверное "взять и соеденить". Вместо "lcd." использовать "bigf."

aidas
Offline
Зарегистрирован: 07.03.2012

 невыходит так просто мне,наверное чевото незнаю

leshak
Offline
Зарегистрирован: 29.09.2011

 Ну наверное. Раз не работает.

К сожалению штатный телепат пока не вышел на связь.

Так что пока можно только согласится с вами и посочувствать. Чем же еще тут можно помочь? Шансов для другого вида помощи вы не дали.

Poluekt
Offline
Зарегистрирован: 14.11.2011

Как-то так?

 


#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#include <BigFont.h>

LiquidCrystal lcd(7, 9, 11, 12, 8, 10);
BigFont bigf;

// Data wire is plugged into pin 3 on the Arduino

#define ONE_WIRE_BUS 3

// Setup a oneWire instance to communicate with any OneWire devices

OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.

DallasTemperature sensors(&oneWire);
DeviceAddress Thermometer1 = { 
  0x28, 0x5A, 0xE6, 0x9A, 0x03, 0x00, 0x00, 0XA7 };  //6   
DeviceAddress Thermometer2 = { 
  0x28, 0x37, 0xB7, 0x9A, 0x03, 0x00, 0x00, 0x76 };  //4
DeviceAddress Thermometer3 = { 
  0x28, 0x8A, 0xBB, 0x9A, 0x03, 0x00, 0x00, 0x1A };  //8
DeviceAddress Thermometer4 = { 
  0x28, 0xD4, 0xDB, 0x9A, 0x03, 0x00, 0x00, 0x36 };  //5


void setup(void) {
  sensors.begin();
  sensors.setResolution(Thermometer1, 10);
  sensors.setResolution(Thermometer2, 10);
  sensors.setResolution(Thermometer3, 10);
  sensors.setResolution(Thermometer4, 10);
  lcd.begin(20,4); // columns, rows. 20x4
  bigf.attach(&lcd);
  bigf.clear();
}

void printTemperature(DeviceAddress deviceAddress) {
  float tempC = sensors.getTempC(deviceAddress);
  if (tempC == -127.00) {
    bigf.print("Error");
  } 
  else {
    bigf.print((tempC),0);
  }
}

void loop(void) {
  delay(2000);
  sensors.requestTemperatures();
  bigf.setCursor(0,0);
  printTemperature(Thermometer1);
  bigf.setCursor(12,0);
  printTemperature(Thermometer2);
  bigf.setCursor(0,2);
  printTemperature(Thermometer3);
  bigf.setCursor(12,2);
  printTemperature(Thermometer4);
}





 

leshak
Offline
Зарегистрирован: 29.09.2011

Как-то так.

Только "в чем проявляется проблема" опять нужно угадать? Что вы видите на экране? Сколько у вас в реальности датчиков (действительно четыре?). Вы же не партизан на допросе. Это же вам нужно, а не мне. Попробуйте поставить себя на место человека который не знает чего вы хотите, что вы делаете, что у вас происходит.

Или вы думаете что это такой очень интересный ребус? Так, лично мне, проще плюнуть, чем гадать "что-же у вас не так".

 

leshak
Offline
Зарегистрирован: 29.09.2011

 Могу предположить что дело в  bigf.setCursor . Шрифт-то у вас большой, а координаты (колонки, строки) вы взяли от маленького шрифта.

aidas
Offline
Зарегистрирован: 07.03.2012

 Спасибо,работает !

Я иавичок , небыло у каво спросить. Сам недогодался.

Спасибо.

leshak
Offline
Зарегистрирован: 29.09.2011

 Да какая разница, новичок вы или нет? Есть у вас у кого спросить или нет? Мне, вот честно это абсолютно не интерестно. Нет у кого спросить? Ну почитайте книги "как заводить друзей" что-ли... ардуина тут причем? Всем зачем про это рассказывать?

Вопросы у всех возникают.

Просто формулировать их можно по разному.

Вот дали-бы вы в первом же посте что-то типа:

---------------

Имею код (1) и (2).

Хочу: соеденить (1) и (2)

Пытаюсь соеденить вот так: код(3).

Проблема: На экране вижу "вот такую проблему" (словами или еще лучше картинкой).

Дальше можно уже опционально (зависит от тяжести проблемы):

Пользуюсь, для большого шрифта, вот такой библиотекой ССЫЛКА (что-бы советчикам не нужно было тратить время самим ее выискивать, вы же не думаете что это ваша BigFont стоит  у всех?) .

Использую вот-такой экран (ссылка), вот такие датчики.

Подключаю вот так: схема.

 

----------

Все. Информация немного избыточна (правда заранее этого не скажешь), зато полная. 

Ответ получили-бы за один/два поста.

А когда "а ничегоне-не-работает, помогите.... аа.....не знаю что делать....ааа", то ответ только "ну...... бывает".

-----------------

Ладно. Не обижайтесь на морализаторство.

Проблему решили - это главное.

Удачи.

 

aidas
Offline
Зарегистрирован: 07.03.2012

Ok.