Лишние символы в конце строки 1602
- Войдите на сайт для отправки комментариев
Вс, 27/10/2019 - 15:15
Доброго времени суток! Я пока зеленый в программировании, потому прошу отнестись с пониманием!)
Думаю над ампервольтметром на ADS1115, NANO и 1602 B. Измеряет все нормально пока, но вылазят левые символы в конце строки, при чем то 2, то 3.
Не у верен в природе происхождения этого феномена, потому решил написать в общую ветку.
Гугл похожих проблем и их решений не нагуглил.
Может кто сталкивался с таким? Сам пока ума не дам. Питание проверял - все норм, все провода шевелил. Резистор подсветки 300, контрастность 10к. И важный момент, в других проектах дисплей работал без нареканий.
Заранее спасибо!
Скетч на данный момент
#include <Wire.h>
#include <Adafruit_ADS1015.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7
// Адрес микросхемы
//0x48 - ADDR pin connected to GROUND (default)
// 0x49 - ADDR pin connected to VDD
// 0x4A - ADDR pin connected to SDA
// 0x4B - ADDR pin connected to SCL
Adafruit_ADS1115 ads(0x48);
// Настройка входного делителя, в зависимости от максимального входного напряжения
// Vin MAX ADS1115
//GAIN_TWOTHIRDS // 2/3x gain +/- 6.144V 1 bit = 0.1875 mV (default)
// GAIN_ONE // 1x gain +/- 4.096V 1 bit = 0.125 mV
// GAIN_TWO // 2x gain +/- 2.048V 1 bit = 0.0625 mV
// GAIN_FOUR // 4x gain +/- 1.024V 1 bit = 0.03125 mV
// GAIN_EIGHT // 8x gain +/- 0.512V 1 bit = 0.015625 mV
// GAIN_SIXTEEN // 16x gain +/- 0.256V 1 bit = 0.0078125 mV
#define xGAIN GAIN_TWOTHIRDS // усилитель
#define x1BIT 0.1875 // значение 1 бита
int16_t ADCres; // переменная для чтения результата 16 бит
float V = 0.0; // переменная для расчета напряжения
void setup(void)
{
lcd.begin(16,2);// LCD 16X2
lcd.clear();
Serial.begin(9600);
//lcd.begin(16,2);// LCD 16X2
// инициализация библиотеки ADS1115
ads.begin();
ads.setGain(xGAIN);
}
void loop(void)
{
ADCres = ads.readADC_SingleEnded(1); // читаем результат единичного преобразования
V = (ADCres * x1BIT * 11)/1000; // рассчитываем напряжение
Serial.print("ADC: ");
Serial.print(ADCres);
Serial.print(" V:");
Serial.println(V, 4);
lcd.setCursor(0,0);
lcd.print("V:");
lcd.println(V, 3 );
delay(500);
}


lcd.println() замени на lcd.print(), символ CR экран печатает так
Спасибо большое! Теперь все ок.