Нет, я имел ввиду другое. Если взять, вместо PCF8574, atmeg-a, с достаточным количество ног для руления двумя экранами, то можно что-бы попробовать что-бы она как раз и занималась эмуляцией этих двух PCF8574.
в этом случае все упирается в библиотеку, ибо стандартная библа для работы с дисплеем думаю незаработает на два.
по и2С пожалста, можна и не только два повесить, а намного больше.... здесь только адреса прописать и все...
кстати, завтра хочу попробовать два дисплея подключить по и2С не через PCF8574 а через PCА9555.
А как вы собираетесь тогда причину искать? Путем медитации? Ладно не в питании дела (хотя категорически этого никогда исключить нельзя). Но в железе может быть. Как это проверить? Только поменять их местами. Если проблема сохранилась - значит ошибка логическая, если исчезла - железная.
Как вообще ищется решение проблемы? Сужением области поиска.
>два дисплея, часы на дс3107 и розширитель входов на 9555
Кто все эти люди? Зачем? Зачем городить столько неизвестных? Отключити их. Уменьшите область поиска. Добейтесь что-бы две дуины между собой нормально общались, потом будите их подключать. ПО ОДОМУ, пока проблема опять не проявится.
Возможно кто-то из них "чудит". Например начинает передавать байт и зависает (или линию просаживает). А мастер ждет завершения посылки до потери пульса, вот вам и кажется что он завис.
>то при ненадобности допустим меги от неё отключаю только и2С подсоединения.
Ну в данный момент это отношения к проблеме "зависает мастер" - не имеет.
>с иными скетчами что мега что нано работают отменно сутками невыключаясь...
Это ни о чем не говорит. То что работало всегда, могло и поломатся. В других скетчах не использовали I2C блок контроллера и т.д. и т.п.
А то получается вообще ничего делать не нужно. Только развести руками. По питанию проблемы невозможны, скетчи правильные (ничего не меняли, тупо пример), железо тоже не глючное. Вывод либо причина в "фазе луны", либо все-таки какое-то и допущений не ошибочно. Скетч/библиотека/железо - таки глючат. И нужно выяснить кто-же именно "виновник торжества".
Вообщем адресс начинается всегда на 0100 дальше идут три бита которые вы можете поменять путем поддятжки ног A0,A1,A2 к плюсу или земле. и один бит R/W
Вообщем адресс начинается всегда на 0100 дальше идут три бита которые вы можете поменять путем поддятжки ног A0,A1,A2 к плюсу или земле. и один бит R/W
здесь собственно подразумевалось что мы задаем один адрес перемычками по портам А0,А1,А2. о том что перемычками можна задать любой из 8 адресов я знаю....
вот так мы задаем библе адрес- LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display, где 0*27 и есть адрес микросхемы к которой подключен дисплей. но как быть в случае с РСА9555, у неё не не один порт а два....
здесь собственно подразумевалось что мы задаем один адрес перемычками по портам А0,А1,А2. о том что перемычками можна задать любой из 8 адресов я знаю....
Тогда я вас не понял. Думал вы имеете ввиду две PCA9555, каждая рулит своим дисплеем. И вопрос состоит в том, как адресоватся к разным PCA9555.
Если же вы хотите что-бы одна PCA9555 рулила сразу двумя дисплеями, то думаю ответом будет либо писать свою версию библиотеки LCD которая знает что на расширителе висит два экрана и учитывает это, либо переходить все-таки на ATMEGA и там эмулировать два адреса. Те самые Multiple Virtual Slave.
Либо как-то жестко вчитываться в даташит дисплея. Пробовать их повесить оба на одни и те же линии данных. И путем манимуляций пином E (Enable) говорить то одному дисплею "слушай команды", то другому.
// #############################################################################
// #
// # Scriptname : DS1307_Test.pde
// # Author : Peter Schmelzer, Oliver Kraus
// # Date : 2011-04-08
// # Editor : Lauren from DFRobot
// # Date : 30.12.2011
// # Description:
// # Test file for the DS1307new library. Assumes that you have a DS1307
// # connected to the I2C-Bus of your Arduino and that it has a battery backup.
// # Update the library and sketch to compatible with IDE V1.0 and earlier
// # Version : 1.0
// #############################################################################
// *********************************************
// INCLUDE
// *********************************************
#include <Wire.h> // For some strange reasons, Wire.h must be included here
#include <DS1307new.h>
// *********************************************
// DEFINE
// *********************************************
// *********************************************
// VARIABLES
// *********************************************
uint16_t startAddr = 0x0000; // Start address to store in the NV-RAM
uint16_t lastAddr; // new address for storing in NV-RAM
uint16_t TimeIsSet = 0xaa55; // Helper that time must not set again
// *********************************************
// SETUP
// *********************************************
void setup()
{
pinMode(2, INPUT); // Test of the SQW pin, D2 = INPUT
digitalWrite(2, HIGH); // Test of the SQW pin, D2 = Pullup on
Serial.begin(9600);
/*
PLEASE NOTICE: WE HAVE MADE AN ADDRESS SHIFT FOR THE NV-RAM!!!
NV-RAM ADDRESS 0x08 HAS TO ADDRESSED WITH ADDRESS 0x00=0
TO AVOID OVERWRITING THE CLOCK REGISTERS IN CASE OF
ERRORS IN YOUR CODE. SO THE LAST ADDRESS IS 0x38=56!
*/
RTC.setRAM(0, (uint8_t *)&startAddr, sizeof(uint16_t));// Store startAddr in NV-RAM address 0x08
/*
Uncomment the next 2 lines if you want to SET the clock
Comment them out if the clock is set.
DON'T ASK ME WHY: YOU MUST UPLOAD THE CODE TWICE TO LET HIM WORK
AFTER SETTING THE CLOCK ONCE.
*/
// TimeIsSet = 0xffff;
// RTC.setRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
/*
Control the clock.
Clock will only be set if NV-RAM Address does not contain 0xaa.
DS1307 should have a battery backup.
*/
RTC.getRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
if (TimeIsSet != 0xaa55)
{
RTC.stopClock();
RTC.fillByYMD(2011,4,8);
RTC.fillByHMS(22,7,0);
RTC.setTime();
TimeIsSet = 0xaa55;
RTC.setRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
RTC.startClock();
}
else
{
RTC.getTime();
}
/*
Control Register for SQW pin which can be used as an interrupt.
*/
RTC.ctrl = 0x00; // 0x00=disable SQW pin, 0x10=1Hz,
// 0x11=4096Hz, 0x12=8192Hz, 0x13=32768Hz
RTC.setCTRL();
Serial.println("DS1307 Testsketch");
Serial.println("Format is \"hh:mm:ss dd-mm-yyyy DDD\"");
uint8_t MESZ;
MESZ = RTC.isMEZSummerTime();
Serial.print("MEZ=0, MESZ=1 : ");
Serial.println(MESZ, DEC);
Serial.println();
}
// *********************************************
// MAIN (LOOP)
// *********************************************
void loop()
{
RTC.getTime();
if (RTC.hour < 10) // correct hour if necessary
{
Serial.print("0");
Serial.print(RTC.hour, DEC);
}
else
{
Serial.print(RTC.hour, DEC);
}
Serial.print(":");
if (RTC.minute < 10) // correct minute if necessary
{
Serial.print("0");
Serial.print(RTC.minute, DEC);
}
else
{
Serial.print(RTC.minute, DEC);
}
Serial.print(":");
if (RTC.second < 10) // correct second if necessary
{
Serial.print("0");
Serial.print(RTC.second, DEC);
}
else
{
Serial.print(RTC.second, DEC);
}
Serial.print(" ");
if (RTC.day < 10) // correct date if necessary
{
Serial.print("0");
Serial.print(RTC.day, DEC);
}
else
{
Serial.print(RTC.day, DEC);
}
Serial.print("-");
if (RTC.month < 10) // correct month if necessary
{
Serial.print("0");
Serial.print(RTC.month, DEC);
}
else
{
Serial.print(RTC.month, DEC);
}
Serial.print("-");
Serial.print(RTC.year, DEC); // Year need not to be changed
Serial.print(" ");
switch (RTC.dow) // Friendly printout the weekday
{
case 1:
Serial.print("MON");
break;
case 2:
Serial.print("TUE");
break;
case 3:
Serial.print("WED");
break;
case 4:
Serial.print("THU");
break;
case 5:
Serial.print("FRI");
break;
case 6:
Serial.print("SAT");
break;
case 7:
Serial.print("SUN");
break;
}
Serial.print(" seconds since 1.1.2000:");
Serial.print(RTC.time2000, DEC);
uint8_t MESZ = RTC.isMEZSummerTime();
Serial.print(" MEZ=0, MESZ=1 : ");
Serial.print(MESZ, DEC);
Serial.print(" - Address in NV-RAM is: ");
RTC.getRAM(0, (uint8_t *)&lastAddr, sizeof(uint16_t));
Serial.print(lastAddr, HEX);
lastAddr = lastAddr + 1; // we want to use it as addresscounter for example
RTC.setRAM(0, (uint8_t *)&lastAddr, sizeof(uint16_t));
RTC.getRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
if (TimeIsSet == 0xaa55) // check if the clock was set or not
{
Serial.println(" - Clock was set!");
}
else
{
Serial.println(" - Clock was NOT set!");
}
delay(1000); // wait a second
}
Скачал библиотеку. Нормально скомпилились все три примера идущие с ней. И ваш скетч тоже.
А у вас какая Arduino IDE? Последняя 1.0?
Кстати, а вы перезапускали IDE после того как библиотеку проинсталили? Закрывали ВСЕ запущенные окна/экземпляры?
Возможно конфликтует с какими-то библиотеками которые вы инсталили раньше (хотя у меня там какая-то старая DS1307 валяется - проблем это не вызвало).
Попробуйте скачать с сайта последнюю Arduino IDE, распакуйте ее куда-нибудь в отдельную папочку (что-бы текущую среду не нарушить), забросте в нее эту DS1307new (блин, по лбу бы за такие названия, а следующую версию как будут называть? DS1307newnew?)
И попробуйте скомпилить там. Если все будет нормально, то уже методом перебора выясняйте "кто виновник торжества".
сегодня вот за чашкой кофею розсматривал тыльную сторону дисплея....
обнаружил припреятнейшую фишку. суть в том что легким переставлением пары деталек можна переключить подсветку с отдельных выводов на линии питания самого дисплея. причем это предусмотрено производителем. там по три точки для плюса и минуса, к средним точкам подключены светодиод подсветки. если переставить перемычки то подсветка заработает от питания.
причем этакая возможность присутствует на обоих применяемых дисплеях....
так вот теперь возвращаюсь снова к управлению подсветкой.
тоисть, если подобрать экспериментально резисторы можна получить несколько уровней подсветки. допустим, берем 100 омные резисторы и подключаим их между линией питания дисплея и линиями светодиода подсветки, при этом у нас будет постоянной неочень яркая подсветка, примим это значение за 50%. но для темноты самое оно. если мы подадим просто минус на минусовый вход подсветки яркость увеличится на 25%, что приемлемо для неочень яркого освещения. при подаче плюса на плюсовой вывод подсветки получаем 100% яркость....
я понимаю что можна шим применить и прочее. эт конечно хорошо, но все-же сей вариант имеет право на жизнь...
теперь только дело за управлением выводами которые ранее управляли подсветкой и W/R.
Руководствуюсь этой статьёй http://jt5.ru/examples/oled-i2c/ . Но ничё не получается. Дисплей не подаёт признаков жизни. Я так понял, что PCF8574AT и PCF8574 сильно отличаются, не только корпусом. Что нужно подправить в библеотеках, чтоб запустить дисплей с этой микросхемой? Как вообще запустить дисплей?
Запусти сначала при правильно подключенном дисплее скетч I2C Scanner и посмотри адресс.У меня точно такой дисплей на примерах из библиотеки LiquidCrystal_I2C.h завелся без проблем.
// --------------------------------------
// i2c_scanner
//
// Version 1
// This program (or code that looks like it)
// can be found in many places.
// For example on the Arduino.cc forum.
// The original author is not know.
// Version 2, Juni 2012, Using Arduino 1.0.1
// Adapted to be as simple as possible by Arduino.cc user Krodal
// Version 3, Feb 26 2013
// V3 by louarnold
// Version 4, March 3, 2013, Using Arduino 1.0.3
// by Arduino.cc user Krodal.
// Changes by louarnold removed.
// Scanning addresses changed from 0...127 to 1...119,
// according to the i2c scanner by Nick Gammon
// http://www.gammon.com.au/forum/?id=10896
// Version 5, March 28, 2013
// As version 4, but address scans now to 127.
// A sensor seems to use address 120.
//
//
// This sketch tests the standard 7-bit addresses
// Devices with higher bit address might not be seen properly.
//
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
Люди можете помогти Подключил я LCD ЖК ну и короче не могу вывести текст на него , при загрузке скетча на Ардуинку в строке загрузки выдает такое! Помогите
Reading | ##########################################Неверная библиотека найдена в D:\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master: нет заголовочных файлов (.h), найденных в D:\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
Ну только-что проверил, то это у меня при загрузке любого скетча даже простого про потенциометр оно мне выдает переустанавливал прогу не помогает! скажи чё делать
Ну только-что проверил, то это у меня при загрузке любого скетча даже простого про потенциометр оно мне выдает переустанавливал прогу не помогает! скажи чё делать
ты непонятливый? - тебе ж сказали - это нормальный вывод.
Вы используете библиотеку LiquidCrystal_I2C. Ну посмотрите же к ней примеры!
Нет у класса LiquidCrystal_I2C метода begin с двумя параметрами целого типа. О чём Вам компилятор и сообщает.
Строго говоря, нужно уточнить в той библиотеке, что Вы используете. Но в той, что у меня под рукой, есть просто begin(), без всяких параметров. А число строк и символов в строке Вы уже указали выше, при создании объекта.
Ок спасибо я все ошибки устранил.Теперь новая проблема, я загружаю прошику на ардуино всё загрузилось да но текст не выводитса на дисплей я контрастность на 100 выкрутил!!!!
Ок спасибо я все ошибки устранил.Теперь новая проблема, я загружаю прошику на ардуино всё загрузилось да но текст не выводитса на дисплей я контрастность на 100 выкрутил!!!!
Вы не первый с похожим вопросом. Почитайте форум. Всё найдёте - что ещё и как проверять.
Нет, я имел ввиду другое. Если взять, вместо PCF8574, atmeg-a, с достаточным количество ног для руления двумя экранами, то можно что-бы попробовать что-бы она как раз и занималась эмуляцией этих двух PCF8574.
в этом случае все упирается в библиотеку, ибо стандартная библа для работы с дисплеем думаю незаработает на два.
по и2С пожалста, можна и не только два повесить, а намного больше.... здесь только адреса прописать и все...
кстати, завтра хочу попробовать два дисплея подключить по и2С не через PCF8574 а через PCА9555.
у товарища только возьму шнурки....
вот интересно, PCA9555 имеет один адрес. если к ней подключить два дисплея, как она библа для дисплея себя поведет???
>местами менять не стал
А как вы собираетесь тогда причину искать? Путем медитации? Ладно не в питании дела (хотя категорически этого никогда исключить нельзя). Но в железе может быть. Как это проверить? Только поменять их местами. Если проблема сохранилась - значит ошибка логическая, если исчезла - железная.
Как вообще ищется решение проблемы? Сужением области поиска.
>два дисплея, часы на дс3107 и розширитель входов на 9555
Кто все эти люди? Зачем? Зачем городить столько неизвестных? Отключити их. Уменьшите область поиска. Добейтесь что-бы две дуины между собой нормально общались, потом будите их подключать. ПО ОДОМУ, пока проблема опять не проявится.
Возможно кто-то из них "чудит". Например начинает передавать байт и зависает (или линию просаживает). А мастер ждет завершения посылки до потери пульса, вот вам и кажется что он завис.
>то при ненадобности допустим меги от неё отключаю только и2С подсоединения.
Ну в данный момент это отношения к проблеме "зависает мастер" - не имеет.
>с иными скетчами что мега что нано работают отменно сутками невыключаясь...
Это ни о чем не говорит. То что работало всегда, могло и поломатся. В других скетчах не использовали I2C блок контроллера и т.д. и т.п.
А то получается вообще ничего делать не нужно. Только развести руками. По питанию проблемы невозможны, скетчи правильные (ничего не меняли, тупо пример), железо тоже не глючное. Вывод либо причина в "фазе луны", либо все-таки какое-то и допущений не ошибочно. Скетч/библиотека/железо - таки глючат. И нужно выяснить кто-же именно "виновник торжества".
> вот интересно, PCA9555 имеет один адрес. если к ней подключить два дисплея, как она библа для дисплея себя поведет???
Фигово.
Думаю если вкурится в даташит, то можон найти как ей менять адресс.
Тут уж как производитель I2C сочинил.
Некоторые имеют два адреса и "какой считать своим" задается определенной ногой.
Некоторые позволяют "перепрограммить свой адрес" определенными командами.
Некоторые имеют отдельную ногу, уровень на которой позволяет сказать "сейчас не слушай шину, все игнорируй".
>PCA9555 имеет один адрес
Восемь адресов. Вы не поверите где я про это прочитал. В даташите :)
www.nxp.com/documents/data_sheet/PCA9555.pdf
Страница 6. Раздел 6.1 Device address
Вообщем адресс начинается всегда на 0100 дальше идут три бита которые вы можете поменять путем поддятжки ног A0,A1,A2 к плюсу или земле. и один бит R/W
>PCA9555 имеет один адрес
Восемь адресов. Вы не поверите где я про это прочитал. В даташите :)
www.nxp.com/documents/data_sheet/PCA9555.pdf
Страница 6. Раздел 6.1 Device address
Вообщем адресс начинается всегда на 0100 дальше идут три бита которые вы можете поменять путем поддятжки ног A0,A1,A2 к плюсу или земле. и один бит R/W
вот так мы задаем библе адрес- LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display, где 0*27 и есть адрес микросхемы к которой подключен дисплей. но как быть в случае с РСА9555, у неё не не один порт а два....
здесь собственно подразумевалось что мы задаем один адрес перемычками по портам А0,А1,А2. о том что перемычками можна задать любой из 8 адресов я знаю....
Тогда я вас не понял. Думал вы имеете ввиду две PCA9555, каждая рулит своим дисплеем. И вопрос состоит в том, как адресоватся к разным PCA9555.
Если же вы хотите что-бы одна PCA9555 рулила сразу двумя дисплеями, то думаю ответом будет либо писать свою версию библиотеки LCD которая знает что на расширителе висит два экрана и учитывает это, либо переходить все-таки на ATMEGA и там эмулировать два адреса. Те самые Multiple Virtual Slave.
Либо как-то жестко вчитываться в даташит дисплея. Пробовать их повесить оба на одни и те же линии данных. И путем манимуляций пином E (Enable) говорить то одному дисплею "слушай команды", то другому.
завтра будут провода и будем пробовать, интересно всетаки.... просто интересно.....
leshak, я немногим выше упоминал что у меня косяк по часам, ничего дельного неподскажешь???
даташит- http://www.glacialwanderer.com/_blog/blog2008/04_April/DS1307.pdf
собстно проблема- непроходят скетчи компиляцию, пишет *RTC not declared*
leshak, я немногим выше упоминал что у меня косяк по часам, ничего дельного неподскажешь???
даташит- http://www.glacialwanderer.com/_blog/blog2008/04_April/DS1307.pdf
собстно проблема- непроходят скетчи компиляцию, пишет *RTC not declared*
Конечно не подскажу.
Опять бег по тем же граблям.Мой ответ вы уже могли бы и сами угадать: "Я что телепат?. А скетч где?" А что за библиотека?
Право. Уже смешно.
А стандартный пример, который идет с библиотекой компилится?
Ну и убедитесь что вы используете свежую версию библиотеки. Может она не дружит с ардуино 1.0
Глянте на http://www.arduino.cc/playground/Main/InterfacingWithHardware
Там для DS1307 далеко не одна библиотека есть.
А как подключено? Уберите с шины всех остальных. Вначале добейтесь что-бы заработали только часы.
убрано всеЁ, тоолько часы.... но здесь даже не в шине дело...
скетч из стандартной библиотеки некомпилится....
этот пробовал последним....
здесь библа- http://www.dfrobot.com/index.php?route=product/product&path=36_68&product_id=511
девайс такой-же как и по ссылке.
завтра недождался...
подключил дисплей к PCA9555.....
непрокатило......
в дебри *почему нет* не лез.... опыту еще маловато....
Скачал библиотеку. Нормально скомпилились все три примера идущие с ней. И ваш скетч тоже.
А у вас какая Arduino IDE? Последняя 1.0?
Кстати, а вы перезапускали IDE после того как библиотеку проинсталили? Закрывали ВСЕ запущенные окна/экземпляры?
Возможно конфликтует с какими-то библиотеками которые вы инсталили раньше (хотя у меня там какая-то старая DS1307 валяется - проблем это не вызвало).
Попробуйте скачать с сайта последнюю Arduino IDE, распакуйте ее куда-нибудь в отдельную папочку (что-бы текущую среду не нарушить), забросте в нее эту DS1307new (блин, по лбу бы за такие названия, а следующую версию как будут называть? DS1307newnew?)
И попробуйте скомпилить там. Если все будет нормально, то уже методом перебора выясняйте "кто виновник торжества".
стоит какбы последняя Arduino IDE.....
конечно все окна при добавлении библ закрываю.....
щас попробую.....
прикол....
leshak, ты был прав.... качнул наново библу, саму Arduino IDE и скетч скомпилился....
буду искать виновника.....
сегодня вот за чашкой кофею розсматривал тыльную сторону дисплея....
обнаружил припреятнейшую фишку. суть в том что легким переставлением пары деталек можна переключить подсветку с отдельных выводов на линии питания самого дисплея. причем это предусмотрено производителем. там по три точки для плюса и минуса, к средним точкам подключены светодиод подсветки. если переставить перемычки то подсветка заработает от питания.
причем этакая возможность присутствует на обоих применяемых дисплеях....
так вот теперь возвращаюсь снова к управлению подсветкой.
тоисть, если подобрать экспериментально резисторы можна получить несколько уровней подсветки. допустим, берем 100 омные резисторы и подключаим их между линией питания дисплея и линиями светодиода подсветки, при этом у нас будет постоянной неочень яркая подсветка, примим это значение за 50%. но для темноты самое оно. если мы подадим просто минус на минусовый вход подсветки яркость увеличится на 25%, что приемлемо для неочень яркого освещения. при подаче плюса на плюсовой вывод подсветки получаем 100% яркость....
я понимаю что можна шим применить и прочее. эт конечно хорошо, но все-же сей вариант имеет право на жизнь...
теперь только дело за управлением выводами которые ранее управляли подсветкой и W/R.
уже сегодня приезжает долгожданный шилд для меги... http://parts.dn.ua/data/big/mega_io_expansion_shield2.jpg прикуплен здесь-же как и многое другое для поделок.
пока её возможностями в полной мере непользовался ввиду неудобства подключения к выводам...
капец.... посылка потерялась.... утром она еще отслеживалась, а вечером её уже нет..... жесть.....
Пытаюсь запустить дисплей WINSTAR WEH001602CGPP5N00000 http://www.promelec.ru/pdf/WEH001602CGPP5N00000.pdf с микросхемой PCF8574AT http://www.nxp.com/documents/data_sheet/PCF8574.pdf
Руководствуюсь этой статьёй http://jt5.ru/examples/oled-i2c/ . Но ничё не получается. Дисплей не подаёт признаков жизни. Я так понял, что PCF8574AT и PCF8574 сильно отличаются, не только корпусом. Что нужно подправить в библеотеках, чтоб запустить дисплей с этой микросхемой? Как вообще запустить дисплей?
Запусти сначала при правильно подключенном дисплее скетч I2C Scanner и посмотри адресс.У меня точно такой дисплей на примерах из библиотеки LiquidCrystal_I2C.h завелся без проблем.
Дисплей заработал. А вот кириллицу включить непонятно как. Она есть.
Люди можете помогти Подключил я LCD ЖК ну и короче не могу вывести текст на него , при загрузке скетча на Ардуинку в строке загрузки выдает такое! Помогите
при загрузке скетча на Ардуинку в строке загрузки выдает такое! Помогите
С загрузкой как раз всё в порядке.
Ну только-что проверил, то это у меня при загрузке любого скетча даже простого про потенциометр оно мне выдает переустанавливал прогу не помогает! скажи чё делать
Ну только-что проверил, то это у меня при загрузке любого скетча даже простого про потенциометр оно мне выдает переустанавливал прогу не помогает! скажи чё делать
ты непонятливый? - тебе ж сказали - это нормальный вывод.
ТАКОЙ И ДОЛЖЕН БЫТЬ.
у меня не загружаетса скетч какую я б программу не написал она наардуино не загружаетса, и оно красным!
переведи это
всмысле?
у меня не загружаетса скетч какую я б программу не написал она наардуино не загружаетса, и оно красным!
врешь ты все.
Те строчки. что ты запостил выше - не могут подчеркиваться красным.
всмысле?
в смысле - возьми словарик и переведи с английского на русский.
Да можешь и гуглом перевести, я не абижусь.
Ок я перевёл понял теперь другой вопрос!
ну так посмотри в своей библиотеке, какой синтаксис метода begin() - и поставь правильно. Методом тыка это не решается
Что такое 16, 32? LiquidCrystal_I2C пользуются примерно так:
послушай, дорогой. Тебе сколько лет-то? Судя по языку - тринадцать -пятнадцать?
Во-первых - к каждой библиотеке идут примеры. Там можно посмотреть, как вызывается begin и все остальное.
Во-вторых - желательно писать грамотно. Это, конечно, необязательно - но если ты пишешь как гопник из подвороткни - то к тебе так и относятся.
Вы используете библиотеку LiquidCrystal_I2C. Ну посмотрите же к ней примеры!
Нет у класса LiquidCrystal_I2C метода begin с двумя параметрами целого типа. О чём Вам компилятор и сообщает.
Строго говоря, нужно уточнить в той библиотеке, что Вы используете. Но в той, что у меня под рукой, есть просто begin(), без всяких параметров. А число строк и символов в строке Вы уже указали выше, при создании объекта.
Во-вторых - желательно писать грамотно. Это, конечно, необязательно - но если ты пишешь как гопник из подвороткни - то к тебе так и относятся.
Я тоже прашу пращенья.
Ок спасибо я все ошибки устранил.Теперь новая проблема, я загружаю прошику на ардуино всё загрузилось да но текст не выводитса на дисплей я контрастность на 100 выкрутил!!!!
может яркость покрутить?
ПС. тема обещает быть забористой!
я же говорю контрастность на 100 выкрутил, но оно мне показивает Только самую первою букву текста! но не всё слово
Ок спасибо я все ошибки устранил.Теперь новая проблема, я загружаю прошику на ардуино всё загрузилось да но текст не выводитса на дисплей я контрастность на 100 выкрутил!!!!
Вы не первый с похожим вопросом. Почитайте форум. Всё найдёте - что ещё и как проверять.
я же говорю контрастность на 100 выкрутил, но оно мне показивает Только самую первою букву текста! но не всё слово
Это известная проблема, либа кривая.
Хотя-бы подскажите где искать?
Хотя-бы подскажите где искать?
http://arduino.ru/forum/apparatnye-voprosy/problemy-s-lcd-ekranom-16x2-i...
спасибо помогло))))