А зачем тебе ее конвертировать? Разве Serial.println ее не отображает?
Вид для печати
А зачем тебе ее конвертировать? Разве Serial.println ее не отображает?
Serial.println - отображает данные только на компьютере при
открыти мониторинига последовательной шины , а мне надо выводить их на дисплей.
Ну так я и хочу посмотреть как ты пытаешся это сделать.
У меня нет времени на изучение твоей библиотеки, поэтому и прошу выожить твой код для анализа
В библиотеке наверняка должна быть функция для вывода переменной на экран
Библиотека не моя, а отсюда- http://www.watterott.net/projects/s65-shield?
Так мне и надо, чтоб кто-то подсказал: можно ли с помощью этой библиотеки выводить на дисплей переменные.
Или есть ли другая библиотека для LPH88?
Можно только строковые. В примерах есть.
Или символ void drawChar(uint8_t x, uint8_t y, char c, uint8_t size, uint16_t color, uint16_t bg_color)
Преобразование из числа в символ Чип показывал выше.
Может поможете с выводом на дисплей?
Вот кусок скетча:
void ArmDown()
{
int alimit=digitalRead(Amotorlimpin);
int armcurrent; //--Ток двигателя
while (alimit==1)
{
armcurrent = analogRead(Amotorcurpin);
if (armcurrent>150)
{
Serial.print("armcurrent:");
Serial.println(armcurrent);
break;
}
Т. е. на Serial Monitor на компьютере выводятся значения, считываемые с аналогового выхода Amotorcurpin.
Надо тоже самое выводить на дисплейчик:)
Можно сделать так, например:
char str[5];
sprintf(str, " %03i", armcurrent);
lcd.drawText(10, 50, str, 2, RGB( 0,255, 0), RGB(0,0,0));
Спасибо за ответ. А можно немного пояснений на простом примере:
С комментариями, если можно.
#include <S65Display.h>
S65Display lcd;
void setup() {
Serial.begin(9600);
}
void loop() {
int armcurrent = analogRead(A0); //показания аналогово выхода
Serial.println(armcurrent, DEC);
char str[5]; // объявляем текстовую строку как массив "str" из 5-ти символов без присваивания значений -?
sprintf(str, " %03i", armcurrent); // - ?
lcd.drawText(10, 50, str, 2, RGB( 0,255, 0), RGB(0,0,0)); // ?
}
А чего же тут комментировать?
Про фунцию sprintf читай в мануалах на С, С++.
lcd.drawText - это вывод текстовой переменной str на дисплей из указанной библиотеки с координатами x=10, y=50, масштаб шрифта 2, цвет букв - RGB( 0,255, 0) (зеленый), фон - RGB(0,0,0) - черный.
Длину массива в твоем случае можно уменьшить до 3.
Спасибо zhserg! Все работает.