Официальный сайт компании Arduino по адресу arduino.cc
Лишние символы в конце строки 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 экран печатает так
Спасибо большое! Теперь все ок.