Например TDA7294

Форум РадиоКот • Просмотр темы - дисплей от Nokia 1110 arduino
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт дек 12, 2025 16:32:03

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: дисплей от Nokia 1110 arduino
СообщениеДобавлено: Вс фев 25, 2024 21:57:50 
Родился

Зарегистрирован: Вт дек 05, 2023 13:37:15
Сообщений: 3
Рейтинг сообщения: 0
Добрый день, нашёл к себя дисплейчик от NOKIA 1110(PCF8814), и решил на его основе сделать что нибудь интересное. Порылся в интернете, нашел библиотек под него, на её основе написал простейший секундомер. Но столкнулся с проблемой, что дисплей не очищается, а лепит цифры друг на друга. И поэтому прошу помощи у знающих людей

Ссылку на библиотеку https://github.com/kashapovd/PCF8814-No ... CD-library


Код:
#include <Adafruit_GFX.h>
#include <PCF8814.h>

// PCF8814 display(ce, clk, mosi, rst)
PCF8814 display(3,7,6,4);

void setup() {
  display.begin();
  delay(2000); // Pause for 2 seconds
}

void loop() {
  display.display();
 
   display.setTextSize(3);             // Normal 1:1 pixel scale
  display.setTextColor(BLACK);        // Draw white text
  display.setCursor(0,0);             // Start at top-left corner
  display.println(millis() / 1000);
 
 
}

#include <Adafruit_GFX.h>
#include <PCF8814.h>

// PCF8814 display(ce, clk, mosi, rst)
PCF8814 display(3,7,6,4);

void setup() {
display.begin();
delay(2000); // Pause for 2 seconds
}

void loop() {
display.display();

display.setTextSize(3); // Normal 1:1 pixel scale
display.setTextColor(BLACK); // Draw white text
display.setCursor(0,0); // Start at top-left corner
display.println(millis() / 1000);


}[/code]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: дисплей от Nokia 1110 arduino
СообщениеДобавлено: Пт мар 01, 2024 11:41:22 
Электрический кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 47
Зарегистрирован: Вс мар 01, 2009 19:47:16
Сообщений: 1046
Откуда: Ростов-на-Дону
Рейтинг сообщения: 1
А ничего хитрого - дисплей то графический, то, что он на дисплей выводит, хранится попиксельно в ячейках его озу, пока туда не будут записаны новые данные или они не будут стерты, а вы просто пишете туда новые данные, не учитывая то, что там было да и получается аналог логической операции ИЛИ. Чтобы этого избежать можно использовать три варианта: перед каждым выводом нового значения очищать весь дисплей - операция достаточно долгая, а в случае с цветными TFT большого объёма крайне долгая - не советую такой вариант. Второй вариант это очистка небольшого текст-бокса перед выводом нового числа, путем заливки его прямоугольником с цветом фона - вариант быстрее, но если фон неравномерный, текстбокс будет заметен и может накладываться на фон. И третий вариант, самый быстрый, это стирание самого текста, путем вывода его в цвете фона а потом замена новым текстом с нужным цветом.

Добавлено after 14 minutes 18 seconds:
И да, сам код от идеала очень далек - процессор по сути все время только и делает, что пишет в дисплей данные. Если надо секунды считать, то это можно делать по-другому - во первых заставить себя отказаться от использования millis() и наконец то разобраться с таймерами и их прерывания, во вторых писать новые данные по необходимости, а не все время.

_________________
Не важно чем все начнется. Важно чем кончится!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y