RTC тройка модуль на Iskra Neo Помогите отладить(решено)

Тема в разделе "Arduino & Shields", создана пользователем StarkCom, 20 апр 2016.

  1. StarkCom

    StarkCom Нуб

    подключил через тройка шылд, загрузил и подключил библиотеку #include "TroykaRTC.h" залил листинг с вики
    Код (C++):
    #include <Wire.h>
    #include "TroykaRTC.h"
    #include <EEPROM.h>
    #define LEN_TIME 12
    #define LEN_DATE 12
    #define LEN_DOW 12

    RTC clock;

    void setup()
    {
      Serial.begin(9600);
      clock.begin();
    // clock.set(10,25,45,27,07,2005,THURSDAY); раблокрарованную эту строку не пропускает компелятор
      clock.set(__TIMESTAMP__);
    }

    void loop()
    {
      char time[LEN_TIME]={0};
      char date[LEN_DATE]={0};
      char dow[LEN_DOW]={0};
      clock.read();

      clock.getTimeStr(time, LEN_TIME);
      clock.getDateStr(date, LEN_DATE);
      clock.getDOWStr(dow, LEN_DOW);

      Serial.print(time);
      Serial.print("--");
      Serial.print(date);
      Serial.print("--");
      Serial.println(dow);
      delay(1000);
    }
    на выходе Сом монитора
    25:45:25--45.25.2025--
    25:45:25--45.25.2025--V‰45.25.2

    25:45:25--45.25.2025--
    25:45:25--45.25.2025--V‰45.25.2

    Вопрос: где нормальный вывод Времени
    P.S. c arduino знаком не давно по книге и видео Джереми
     
  2. ANV

    ANV Гуру

    Подключение тоже с вики как на этой картинке?

    [​IMG]

    В картинке ошибка. Правый разъем должен втыкаться не в ряд GND, а в ряд D.
    Т.е. желтый в D2, красный в D3

    PS Амперка, поправьте картинку и подпишите что она только для Neo/Leo :) У Уны i2c не там
     
    Последнее редактирование: 20 апр 2016
  3. StarkCom

    StarkCom Нуб

    Спасибо, да на повторе сам попался вместо пинов шины I2C все его входы на землю засадил . у меня на шилде есть еше отдельно на выходы I2C их как активировать?
     
  4. ANV

    ANV Гуру

    Ничего специально активировать не надо. На Neo/Leo i2c выводы попарно дублируются на пинах 2 и 3 и отдельно для удобства выведены с подписями SDA и SCL. Т.е. если вы подключаете часы к отдельным SDA/SCL, то пины 2 и 3 все-равно нельзя использовать для подключения светодиодов или кнопок, т.к. они уже отданы под i2c. Замыканием D и C на землю вы ничего не спалили. Так что подключайте в нужные пины и запускайте тест.
     
  5. StarkCom

    StarkCom Нуб

    выпало еще не много свободного времени, повозился С часами, и на разъемах i2c и на выводах 2,3 положительного результата не достиг. Пробовал скаченный листинг и библиотеку Джереми исключив из листинга пины для питания. в Сом мониторе один раз проскочило что часы не запущены. и идет вывод все такой же информации под формат построенный Джереми. Тут я встал в тупик с двух сторон i2c и на SPI TFT2,2 240Х320 и библиотекой UTFT. Стал задумываться может Leonardo рано UNO на старте хорошо. или стоит поднатареть и пробить проект на Леонардо.
     
  6. ANV

    ANV Гуру

    А батарейку вставили? Без нее не заработает.
     
  7. StarkCom

    StarkCom Нуб

    у держателя батарейки по моей не аккуратности сломался фиксатор, и теперь батарейка часто выподает или выскакикавыет -это факт. Попробую народный метод скоч. Как пройдет сообщу позже
     
  8. StarkCom

    StarkCom Нуб

    хочу еще попросить помощи по экрану SPI TFT2,2 240Х320 ( c cайта Амперки ) о распиновке на Леонардо на библиотеке UTFT. Резестивный делитель распаял на шилде оставив шлейф для коммуникации по всем портам
     
  9. StarkCom

    StarkCom Нуб

    вопрос еше не решил, жду выходных и свободного времени, ожидаю UNO и другой RTC в моем проекте (автоматизированного) умного дома областей контроля 4 сеть в дальнейшем построю. Так что еше микроконтроллер не по мешает.
     
  10. StarkCom

    StarkCom Нуб

    пока разбирался с портами Uno и Leonardo нашел цветные схемы Новый рисунок.png Новый рисунок (1).png
    вот такой софт по портам
    Код (C++):
    #ifndef analogInputToDigitalPin
    #define analogInputToDigitalPin(p) -1
    #endif
    #ifndef digitalPinHasPWM
    #define digitalPinHasPWM(p) -1
    #endif
    void setup(){
      Serial.begin(9600); while(!Serial){;}
      Serial.println("IARDUINO.RU");
      Serial.println((String) "=======================================\r\nSPI BUS:\r\n\tCS:   " + SS + "\r\n\tMOSI: " + MOSI + "\r\n\tMISO: " + MISO + "\r\n\tSCK:  " + SCK);
      Serial.println((String) "---------------------------------------\r\nI2C BUS:\r\n\tSDA:  " + SDA + "\r\n\tSCL:  " + SCL);
      Serial.println((String) "---------------------------------------\r\nDIGITAL PINS:\r\n\tAll:  " + NUM_DIGITAL_PINS + " pins (D0-D" + (NUM_DIGITAL_PINS-1) + ")\r\n\tI/0:  " + (NUM_DIGITAL_PINS-NUM_ANALOG_INPUTS) + " pins (D0-D" + (NUM_DIGITAL_PINS-NUM_ANALOG_INPUTS-1) + ")");
      Serial.println((String) "---------------------------------------\r\nANALOG INPUTS:\r\n\tAll:  " + NUM_ANALOG_INPUTS + " pins (A0-A" + (NUM_ANALOG_INPUTS-1) + ")"); for(uint8_t i=0; i<NUM_DIGITAL_PINS; i++){if(analogInputToDigitalPin(i)>=0){Serial.println((String) "\tA" + i + (i<10?" ":"") + " = D" + analogInputToDigitalPin(i));}}
      Serial.print("---------------------------------------\r\nPWM OUTPUTS:\r\n\tAll:  "); for(uint8_t i=0, j=0; i<NUM_DIGITAL_PINS; i++){if(digitalPinHasPWM(i)>=0){j++;} if(i>=NUM_DIGITAL_PINS-1){Serial.println((String) j + " pins");}} for(uint8_t i=0; i<NUM_DIGITAL_PINS; i++){if(digitalPinHasPWM(i)>=0){Serial.println((String) "\tD" + i);}}
      Serial.print("---------------------------------------\r\nINTERRUPT INPUTS:\r\n\tAll:  "); for(uint8_t i=0, j=0; i<NUM_DIGITAL_PINS; i++){if(digitalPinToInterrupt(i)!=NOT_AN_INTERRUPT){j++;} if(i>=NUM_DIGITAL_PINS-1){Serial.println((String) j + " pins");}} for(uint8_t i=0; i<NUM_DIGITAL_PINS; i++){if(digitalPinToInterrupt(i)!=NOT_AN_INTERRUPT){Serial.println((String) "\tD" + i + (i<10?" ":"") + " = int_" + digitalPinToInterrupt(i));}}
    }
    void loop(){
    }
    он распечатает в Сом Мониторе физические пины Ардуины (Iskra Neo)

    IARDUINO.RU

    =======================================

    SPI BUS: CS: 17

    MOSI: 16

    MISO: 14

    SCK: 15

    ---------------------------------------

    I2C BUS: SDA: 2

    SCL: 3

    ---------------------------------------

    DIGITAL PINS: All: 31 pins (D0-D30)

    I/0: 19 pins (D0-D18)

    ---------------------------------------

    ANALOG INPUTS: All: 12 pins (A0-A11)

    ---------------------------------------

    PWM OUTPUTS: All: 31 pins

    D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30

    ---------------------------------------

    INTERRUPT INPUTS: All: 5 pins

    D0 = int_2

    D1 = int_3

    D2 = int_1

    D3 = int_0

    D7 = int_4
     
  11. StarkCom

    StarkCom Нуб

    Ура -аа победил и дисплей и часы, правда часы но модуле с микросхемой 3102, в тесте все работает
    20160510_193206.jpg
    вот результат работы на обеде, Сом монитор выводит:

    Sunday 2016-05-10 12:55:51
    Sunday 2016-05-10 12:55:52
    Sunday 2016-05-10 12:55:53
    Sunday 2016-05-10 12:55:54
    Sunday 2016-05-10 12:55:55
     
  12. StarkCom

    StarkCom Нуб

    тройка RTC так и не пошел, вернул все RTC3102, по ходу тройка приказала долго жить.