Помогите новичку с часами и дисплеем Nokia 3110
- Войдите на сайт для отправки комментариев
Добрый день. Только начинаю изучать Ардуино. Собрал для начала часы на микросхеме DS1307. Часі работают и выдают данные на монитор порта COM.
Далее захотел подключить дисплей от Нокии 3110 и выводить данные на него. Дисплей подключен и работает нормально, тестовые программы на нём выполняются. Но при попытке отразить на дисплее данные, получаемые от блока часов на экране отображаются символы псевдографии, а часов как таковых нет.
Я думаю что проблема в несоответсвии типов данных, которые получаются от блока часов и передаются на дисплей. Облазил весь интернет в поисках описания команд для используемых мной библиотек DS1307.h и Adafruit_GFX_Library.h, чтобы сопоставить типы данных, но не нашёл ни для одной, ни для второй описаний никаких. Или я не правильно эти данные вызываю. Но без описания библиотеки не могу разобраться.
Подскажите - где искать описания команд для библиотек Ардуино. Также прошу посмотреть код программы и подскажите как согласовать типы данных между библиотеками, чтобы на экран нормально выводились часы. Может посоветуете другие библиотеки. Спасибо.
#include <Wire.h> #include "DS1307.h" #include <Adafruit_GFX.h> #include <Adafruit_PCD8544.h> // pin 3 - Serial clock out (SCLK) // pin 2 - Serial data out (DIN) // pin 8 - Data/Command select (D/C) // pin 7 - LCD chip select (CS) // pin 6 - LCD reset (RST) Adafruit_PCD8544 display = Adafruit_PCD8544(3, 2, 8, 7, 6); void setup() { Serial.begin(9600); display.begin(); // Инициализация дисплея display.clearDisplay(); // Очищаем дисплей display.display(); display.setContrast(50); // Устанавливаем контраст /*RTC.stop(); RTC.set(DS1307_SEC,40); //Секунды RTC.set(DS1307_MIN,25); //Минуты RTC.set(DS1307_HR,01); //Часы RTC.set(DS1307_DOW,4); //День недели RTC.set(DS1307_DATE,28); //Дата RTC.set(DS1307_MTH,3); //Месяц RTC.set(DS1307_YR,14); //Год RTC.start(); */ } void loop() { Serial.print(RTC.get(DS1307_HR,true)); //read the hour and also update all the values by pushing in true Serial.print(":"); Serial.print(RTC.get(DS1307_MIN,false));//read minutes without update (false) Serial.print(":"); Serial.print(RTC.get(DS1307_SEC,false));//read seconds Serial.print(" "); // some space for a more happy life Serial.print(RTC.get(DS1307_DATE,false));//read date Serial.print("/"); Serial.print(RTC.get(DS1307_MTH,false));//read month Serial.print("/"); Serial.print(RTC.get(DS1307_YR,false)); //read year Serial.println(); display.setCursor(0, 0); // Устанавливаем курсор display.setTextColor(BLACK); // Устанавливаем цвет текста display.setTextSize(1); // Устанавливаем размер текста display.write(RTC.get(DS1307_HR,true)); display.write(':'); display.write(RTC.get(DS1307_MIN,false)); display.write(':'); display.write(RTC.get(DS1307_SEC,false)); display.display(); delay(1000); // Очищаем дисплей display.clearDisplay(); display.display();
С выводом разобрался методом научного тыка. Надо заменить display.write на display.print.
Но вопрос про описание команд библиотек и где их брать остается открытым. Где можно найти описание команд библиотек?
Но вопрос про описание команд библиотек и где их брать остается открытым. Где можно найти описание команд библиотек?
ну, всё описалово библиотек на сайте автора библиотеки, если автор библиотеки забил на документацию, то смотришь исходники библиотеки и примеры с ея использованием или просто - хугл в помощь.
хммм снимай часы. помогу так и быть. заберу их :)
С выводом разобрался методом научного тыка. Надо заменить display.write на display.print.
Но вопрос про описание команд библиотек и где их брать остается открытым. Где можно найти описание команд библиотек?
обычно библиотеки пишут люди вменяемые, и небольшое знание английского языка помогает понять назначение всех чужих функций, типа begin, setcontrast, write и т.д.
а тонкости, типа возвращаемого значения, количества аргументов и пр. завсегда можно в исходниках уточнить
Я не сильно ещё разобрался, потому в исходниках не сильно понимаю куда смотреть.
Я использую наверное самые распространённые библиотеки. Но не могу найти на них описания. Может у кого-то есть - дайте ссылочку.