Ардуино и i2C

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

 

Нет, я имел ввиду другое. Если взять, вместо PCF8574, atmeg-a, с достаточным количество ног для руления двумя экранами, то можно что-бы попробовать что-бы она как раз и занималась эмуляцией этих двух PCF8574.
 

 

в этом случае все упирается в библиотеку, ибо стандартная библа для работы с дисплеем думаю незаработает на два.

по и2С пожалста, можна и не только два повесить, а намного больше.... здесь только адреса прописать и все...

кстати, завтра хочу попробовать два дисплея подключить по и2С не через PCF8574 а через PCА9555.

у товарища только возьму шнурки....

chaytan
Offline
Зарегистрирован: 02.02.2012

 вот интересно, PCA9555 имеет один адрес. если к ней подключить два дисплея, как она библа для дисплея себя поведет???

leshak
Offline
Зарегистрирован: 29.09.2011

 >местами менять не стал

А как вы собираетесь тогда причину искать? Путем медитации? Ладно не в питании дела (хотя категорически этого никогда исключить нельзя). Но в железе может быть. Как это проверить? Только поменять их местами. Если проблема сохранилась - значит ошибка логическая, если исчезла - железная.

Как вообще ищется решение проблемы? Сужением области поиска.

>два дисплея, часы на дс3107 и розширитель входов на 9555

Кто все эти люди? Зачем? Зачем городить столько неизвестных? Отключити их. Уменьшите область поиска. Добейтесь что-бы две дуины между собой нормально общались, потом будите их подключать. ПО ОДОМУ, пока проблема опять не проявится.

Возможно кто-то из них "чудит". Например начинает передавать байт и зависает (или линию просаживает). А мастер ждет завершения посылки до потери пульса, вот вам и кажется что он завис.

>то при ненадобности допустим меги от неё отключаю только и2С подсоединения.

Ну в данный момент это отношения к проблеме "зависает мастер" - не имеет.

>с иными скетчами что мега что нано работают отменно сутками невыключаясь...

Это ни о чем не говорит. То что работало всегда, могло и поломатся. В других скетчах не использовали I2C блок контроллера и т.д. и т.п.

А то получается вообще ничего делать не нужно. Только развести руками. По питанию проблемы невозможны, скетчи правильные (ничего не меняли, тупо пример), железо тоже не глючное. Вывод либо причина в "фазе луны", либо все-таки какое-то и допущений не ошибочно. Скетч/библиотека/железо - таки глючат. И нужно выяснить кто-же именно "виновник торжества".

leshak
Offline
Зарегистрирован: 29.09.2011

> вот интересно, PCA9555 имеет один адрес. если к ней подключить два дисплея, как она библа для дисплея себя поведет???

 Фигово.

Думаю если вкурится в даташит, то можон найти как ей менять адресс.

Тут уж как производитель I2C сочинил.

Некоторые имеют два адреса и "какой считать своим" задается определенной ногой.

Некоторые позволяют "перепрограммить свой адрес" определенными командами.

Некоторые имеют отдельную ногу, уровень на которой позволяет сказать "сейчас не слушай шину, все игнорируй".

leshak
Offline
Зарегистрирован: 29.09.2011

>PCA9555 имеет один адрес

Восемь адресов. Вы не поверите где я про это прочитал. В даташите :)

 www.nxp.com/documents/data_sheet/PCA9555.pdf

Страница 6. Раздел 6.1 Device address

Вообщем адресс начинается всегда на 0100 дальше идут три бита которые вы можете поменять путем поддятжки ног A0,A1,A2 к плюсу или земле. и один бит R/W

chaytan
Offline
Зарегистрирован: 02.02.2012

leshak пишет:

>PCA9555 имеет один адрес

Восемь адресов. Вы не поверите где я про это прочитал. В даташите :)

 www.nxp.com/documents/data_sheet/PCA9555.pdf

Страница 6. Раздел 6.1 Device address

Вообщем адресс начинается всегда на 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, у неё не не один порт а два....

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

здесь собственно подразумевалось что мы задаем один адрес перемычками по портам А0,А1,А2. о том что перемычками можна задать любой из 8 адресов я знаю.... 

Тогда я вас не понял. Думал вы имеете ввиду две PCA9555, каждая рулит своим дисплеем. И вопрос состоит в том, как адресоватся к разным  PCA9555.

Если же вы хотите что-бы одна PCA9555 рулила сразу двумя дисплеями, то думаю ответом будет либо писать свою версию библиотеки LCD которая знает что на расширителе висит два экрана и учитывает это, либо переходить все-таки на ATMEGA и там эмулировать два адреса. Те самые Multiple Virtual Slave.

Либо как-то жестко вчитываться в даташит дисплея. Пробовать их повесить оба на одни и те же линии данных. И путем манимуляций пином E (Enable) говорить то одному дисплею "слушай команды", то другому.

 

chaytan
Offline
Зарегистрирован: 02.02.2012

 завтра будут провода и будем пробовать, интересно всетаки.... просто интересно.....

chaytan
Offline
Зарегистрирован: 02.02.2012

 leshak, я немногим выше упоминал что у меня косяк по часам, ничего дельного неподскажешь???

даташит- http://www.glacialwanderer.com/_blog/blog2008/04_April/DS1307.pdf

собстно проблема- непроходят скетчи компиляцию, пишет *RTC not declared*

leshak
Offline
Зарегистрирован: 29.09.2011

chaytan пишет:

 leshak, я немногим выше упоминал что у меня косяк по часам, ничего дельного неподскажешь???

даташит- http://www.glacialwanderer.com/_blog/blog2008/04_April/DS1307.pdf

собстно проблема- непроходят скетчи компиляцию, пишет *RTC not declared*

Конечно не подскажу.

Опять бег по тем же граблям.Мой ответ вы уже могли бы и сами угадать: "Я что телепат?. А скетч где?" А что за библиотека? 

Право. Уже смешно.

А стандартный пример, который идет с библиотекой компилится?

Ну и убедитесь что вы используете свежую версию библиотеки. Может она не дружит с ардуино 1.0

Глянте на http://www.arduino.cc/playground/Main/InterfacingWithHardware

Там для DS1307 далеко не одна библиотека есть.

А как подключено? Уберите с шины всех остальных. Вначале добейтесь что-бы заработали только часы.

chaytan
Offline
Зарегистрирован: 02.02.2012

убрано всеЁ, тоолько часы.... но здесь даже не в шине дело...

скетч из стандартной библиотеки некомпилится....

этот пробовал последним....

здесь библа- http://www.dfrobot.com/index.php?route=product/product&path=36_68&product_id=511

девайс такой-же как и по ссылке.

// #############################################################################
// #
// # 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
}

 

chaytan
Offline
Зарегистрирован: 02.02.2012

завтра недождался...

подключил дисплей к   PCA9555.....

непрокатило......

в дебри *почему нет* не лез.... опыту еще маловато....

leshak
Offline
Зарегистрирован: 29.09.2011

 Скачал библиотеку. Нормально скомпилились все три примера идущие с ней. И ваш скетч тоже.

А у вас какая Arduino IDE? Последняя 1.0?

Кстати, а вы перезапускали IDE после того как библиотеку проинсталили? Закрывали ВСЕ запущенные окна/экземпляры?

Возможно конфликтует с какими-то библиотеками которые вы инсталили раньше (хотя у меня там какая-то старая DS1307 валяется - проблем это не вызвало).

Попробуйте скачать с сайта последнюю Arduino IDE, распакуйте ее куда-нибудь в отдельную папочку (что-бы текущую среду не нарушить), забросте в нее эту DS1307new (блин, по лбу бы за такие названия, а следующую версию как будут называть? DS1307newnew?)

И попробуйте скомпилить там. Если все будет нормально, то уже методом перебора выясняйте "кто виновник торжества".

chaytan
Offline
Зарегистрирован: 02.02.2012

стоит какбы последняя  Arduino IDE.....

конечно все окна при добавлении библ закрываю.....

щас попробую.....

chaytan
Offline
Зарегистрирован: 02.02.2012

прикол....

 leshak, ты был прав.... качнул наново библу, саму Arduino IDE и скетч скомпилился....

буду искать виновника.....

chaytan
Offline
Зарегистрирован: 02.02.2012

сегодня вот за чашкой кофею розсматривал тыльную сторону дисплея....

обнаружил припреятнейшую фишку. суть в том что легким переставлением пары деталек можна переключить подсветку с отдельных выводов на линии питания самого дисплея. причем это предусмотрено производителем. там по три точки для плюса и минуса, к средним точкам подключены светодиод подсветки. если переставить перемычки то подсветка заработает от питания.

причем этакая возможность присутствует на обоих применяемых дисплеях....

так вот теперь возвращаюсь снова к управлению подсветкой.

тоисть, если подобрать экспериментально резисторы можна получить несколько уровней подсветки. допустим, берем 100 омные резисторы и подключаим их между линией питания дисплея и линиями светодиода подсветки, при этом у нас будет постоянной неочень яркая подсветка, примим это значение за 50%. но для темноты самое оно. если мы подадим просто минус на минусовый вход подсветки яркость увеличится на 25%, что приемлемо для неочень яркого освещения. при подаче плюса на плюсовой вывод подсветки получаем 100% яркость....

я понимаю что можна шим применить и прочее. эт конечно хорошо, но все-же сей вариант имеет право на жизнь...

теперь только дело за управлением выводами которые ранее управляли подсветкой и W/R.

chaytan
Offline
Зарегистрирован: 02.02.2012

уже сегодня приезжает долгожданный шилд для меги... http://parts.dn.ua/data/big/mega_io_expansion_shield2.jpg прикуплен здесь-же как и многое другое для поделок. 

пока её возможностями в полной мере непользовался ввиду неудобства подключения к выводам... 

chaytan
Offline
Зарегистрирован: 02.02.2012

 капец.... посылка потерялась.... утром она еще отслеживалась, а вечером её уже нет..... жесть.....

Sirocco
Offline
Зарегистрирован: 28.09.2013

Пытаюсь запустить дисплей 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 сильно отличаются, не только корпусом. Что нужно подправить в библеотеках, чтоб запустить дисплей с этой микросхемой? Как вообще запустить дисплей?

nikolaki
nikolaki аватар
Offline
Зарегистрирован: 14.02.2013

Запусти сначала при правильно подключенном дисплее скетч  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
}

 

Sirocco
Offline
Зарегистрирован: 28.09.2013

Дисплей заработал. А вот кириллицу включить непонятно как. Она есть.

Urola
Offline
Зарегистрирован: 07.10.2018

Люди можете помогти Подключил я LCD ЖК ну и короче не могу вывести текст на него , при загрузке скетча на Ардуинку в строке загрузки выдает такое! Помогите 

 

vrdude: Version 6.3-20171130
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch
 
         System wide configuration file is "D:\Arduino\hardware\tools\avr/etc/avrdude.conf"
 
         Using Port                    : COM5
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :
 
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
 
         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us
 
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\D395~1\AppData\Local\Temp\arduino_build_9264/HelloWorld.ino.hex"
avrdude: writing flash (2364 bytes):
 
Writing | ################################################## | 100% 0.39s
 
avrdude: 2364 bytes of flash written
avrdude: verifying flash memory against C:\Users\D395~1\AppData\Local\Temp\arduino_build_9264/HelloWorld.ino.hex:
avrdude: load data flash data from input file C:\Users\D395~1\AppData\Local\Temp\arduino_build_9264/HelloWorld.ino.hex:
avrdude: input file C:\Users\D395~1\AppData\Local\Temp\arduino_build_9264/HelloWorld.ino.hex contains 2364 bytes
avrdude: reading on-chip flash data:
 
Reading | ##########################################Неверная библиотека найдена в D:\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master: нет заголовочных файлов (.h), найденных в D:\Arduino\libraries\Arduino-LiquidCrystal-I2C-library-master
######## | 100% 0.30s
 
avrdude: verifying ...
avrdude: 2364 bytes of flash verified
 
avrdude done.  Thank you.
Jeka_M
Jeka_M аватар
Онлайн
Зарегистрирован: 06.07.2014

Urola пишет:

при загрузке скетча на Ардуинку в строке загрузки выдает такое! Помогите 

С загрузкой как раз всё в порядке.

Urola
Offline
Зарегистрирован: 07.10.2018

Ну только-что проверил, то это у меня при загрузке любого скетча даже простого про потенциометр оно мне выдает переустанавливал прогу не помогает! скажи чё делать

b707
Онлайн
Зарегистрирован: 26.05.2017

Urola пишет:

Ну только-что проверил, то это у меня при загрузке любого скетча даже простого про потенциометр оно мне выдает переустанавливал прогу не помогает! скажи чё делать

ты непонятливый? - тебе ж сказали - это нормальный вывод.

ТАКОЙ И ДОЛЖЕН БЫТЬ.

Urola
Offline
Зарегистрирован: 07.10.2018

у меня не загружаетса скетч какую я б программу не написал она наардуино не загружаетса, и оно красным!

          

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

переведи это 

Writing | ################################################## | 100% 0.39s
 
avrdude: 2364 bytes of flash written
 
и это 
 
avrdude: verifying ...
avrdude: 2364 bytes of flash verified
 
Наморщи мозг.  Доложи о результатах. 

 

Urola
Offline
Зарегистрирован: 07.10.2018

всмысле?

b707
Онлайн
Зарегистрирован: 26.05.2017

Urola пишет:

у меня не загружаетса скетч какую я б программу не написал она наардуино не загружаетса, и оно красным!

врешь ты все.

Те строчки. что ты запостил выше - не могут подчеркиваться красным.

b707
Онлайн
Зарегистрирован: 26.05.2017

Urola пишет:

всмысле?

в смысле - возьми словарик и переведи с английского на русский.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Да можешь и гуглом перевести, я не абижусь. 

Urola
Offline
Зарегистрирован: 07.10.2018

Ок я перевёл понял теперь другой вопрос! 

 
exit status 1
no matching function for call to 'LiquidCrystal_I2C::begin(int, int)'
 
 
да я это перевёл написал
 
lcd.begin(16, 32);
оно всёрамно выдает эу ошибку что нет такого в библиотеке поставил наоборот 32,16 всерамно чё делать?
Urola
Offline
Зарегистрирован: 07.10.2018
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
 
LiquidCrystal_I2C lcd(0x27, 16, 2);
 
void setup()
{
 
lcd.begin(16,32);
 
 
lcd.backlight();
lcd.print("Hello, world!");
}
 
вот прошивка Мне выдаёт ошибку в begin чё делать?
b707
Онлайн
Зарегистрирован: 26.05.2017

Urola пишет:

оно всёрамно выдает эу ошибку что нет такого в библиотеке поставил наоборот 32,16 всерамно чё делать?

ну так посмотри в своей библиотеке, какой синтаксис метода begin() - и поставь правильно. Методом тыка это не решается

sadman41
Offline
Зарегистрирован: 19.10.2016

Что такое 16, 32? LiquidCrystal_I2C пользуются примерно так:

...
LiquidCrystal_I2C lcdScreen(lcdI2CAddress, lcdCols, lcdRows);
...

  Wire.begin();

  lcdScreen.init();
  lcdScreen.clear();
  lcdScreen.backlight();
 
  lcdScreen.setCursor(0, 3); lcdScreen.print("Hello");

 

b707
Онлайн
Зарегистрирован: 26.05.2017

Urola пишет:

 
вот прошивка Мне выдаёт ошибку в begin чё делать?

послушай, дорогой. Тебе сколько лет-то? Судя по языку - тринадцать -пятнадцать?

Во-первых - к каждой библиотеке идут примеры. Там можно посмотреть, как вызывается begin и все остальное.

Во-вторых - желательно писать грамотно. Это, конечно, необязательно - но если ты пишешь как гопник из подвороткни - то к тебе так и относятся.

kalapanga
Offline
Зарегистрирован: 23.10.2016

Вы используете библиотеку LiquidCrystal_I2C. Ну посмотрите же к ней примеры!

Нет у класса LiquidCrystal_I2C метода begin с двумя параметрами целого типа. О чём Вам компилятор и сообщает.

Строго говоря, нужно уточнить в той библиотеке, что Вы используете. Но в той, что у меня под рукой, есть просто begin(), без всяких параметров. А число строк и символов в строке Вы уже указали выше, при создании объекта.

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

b707 пишет:

Во-вторых - желательно писать грамотно. Это, конечно, необязательно - но если ты пишешь как гопник из подвороткни - то к тебе так и относятся.

Я тоже прашу пращенья. 

Urola
Offline
Зарегистрирован: 07.10.2018

Ок спасибо я все ошибки устранил.Теперь новая проблема, я загружаю прошику на ардуино всё загрузилось да но текст не выводитса на дисплей я контрастность на 100 выкрутил!!!!

Logik
Offline
Зарегистрирован: 05.08.2014

может яркость покрутить?

ПС. тема обещает быть забористой!

 

Urola
Offline
Зарегистрирован: 07.10.2018

я же говорю контрастность на 100 выкрутил, но оно мне показивает Только самую первою букву текста! но не всё слово

kalapanga
Offline
Зарегистрирован: 23.10.2016

Urola пишет:

Ок спасибо я все ошибки устранил.Теперь новая проблема, я загружаю прошику на ардуино всё загрузилось да но текст не выводитса на дисплей я контрастность на 100 выкрутил!!!!

Вы не первый с похожим вопросом. Почитайте форум. Всё найдёте - что ещё и как проверять. 

sadman41
Offline
Зарегистрирован: 19.10.2016

Urola пишет:

я же говорю контрастность на 100 выкрутил, но оно мне показивает Только самую первою букву текста! но не всё слово

Это известная проблема, либа кривая.

Urola
Offline
Зарегистрирован: 07.10.2018

Хотя-бы подскажите где искать?

sadman41
Offline
Зарегистрирован: 19.10.2016

Urola пишет:

Хотя-бы подскажите где искать?

http://arduino.ru/forum/apparatnye-voprosy/problemy-s-lcd-ekranom-16x2-i...

Urola
Offline
Зарегистрирован: 07.10.2018

спасибо помогло))))