7 сегментные большие часы на Ардуино. Имею вопросы!

Тема в разделе "Arduino & Shields", создана пользователем GennOk, 26 июл 2016.

  1. 6umer

    6umer Нуб

    ух ты ) уже прояснятся.
    не хватает смещения, какого-то, если цифра первая
    в моём случае это 0001100
    то следующая суммируется с первой ? или как я понимаю тут это всё предусмотрено ?
     
  2. GennOk

    GennOk Нерд

    ну да, можно и 0001100. программа считывает сначала последнюю цифру из времени например: 15:12 она берет цифру 2 и вставляет ее после 23 диода
    Код (C++):
    cursor =23;
    Serial.print("Digit 4 is : ");
    Serial.print(digit);
    Serial.print(", the array is : ");
    следующую цифру - после 16,
    вторую с начала, после 7 го и первое число от нуля.
     
  3. 6umer

    6umer Нуб

    у меня по вашему примеру, цифра 2 вставляется после 1 светодиода а не после 23.
    вот чтобы это исправить, я перевернул часы вверх ногами, тогда Ваши условия я выполнил, прописал адреса светодиодов, но ерунда так и осталась ерундой...
    что то еще может быть ? если я заменил библиотеку в скетче на DS1307, это может создать такую проблему ?

    хмм, а отсчёт идёт от 0 тогда может после 22 ? попробую..
     
    Последнее редактирование: 16 янв 2017
  4. GennOk

    GennOk Нерд

    а можно видео взглянуть?
     
    6umer нравится это.
  5. GennOk

    GennOk Нерд

    а что показывает монитор последовательного порта?
     
    6umer нравится это.
  6. 6umer

    6umer Нуб

    То что в разнобой идет число, нормально это ?
    монитор порта :
    Код (C++):
    Digit 1 is : 2, the array is : 1011011Time is: 2143
    Digit 1 is : 2, the array is : 1011011Time is: 2156
    Digit 4 is : 6, the array is : 1111110
    Digit 3 is : 5, the array is : 1110110
    Digit 2 is : 1, the array is : 0000011
    Digit 1 is : 2, the array is : 1011011Time is: 2156
    Digit 4 is : 6, the array is : 1111110
    Digit 3 is : 5, the array is : 1110110
    Digit 2 is : 1, the array is : 0000011
    Digit 1 is : 2, the array is : 1011011Time is: 2156
    Digit 4 is : 6, the array is : 1111110
    Digit 3 is : 5, the array is : 1110110
    Digit 2 is : 1, the array is : 0000011
    Digit 1 is : 2, the array is : 1011011Time is: 2156
    Digit 4 is : 6, the array is : 1111110
    Digit 3 is : 5, the array is : 1110110
    Digit 2 is : 1, the array is : 0000011
    Digit 1 is : 2, the array is : 1011011Time is: 2156
    Digit 4 is : 6, the array is : 1111110
    Digit 3 is : 5, the array is : 1110110
    Digit 2 is : 1, the array is : 0000011
    Digit 1 is : 2, the array is : 1011011Time is: 2156
    Digit 4 is : 6, the array is : 1111110
    Digit 3 is : 5, the array is : 1110110
    Digit 2 is : 1, the array is : 0000011
    Digit 1 is : 2, the array is : 1011011Time is: 2156
    Digit 4 is : 6, the array is : 1111110
     
    и вот тут не 29 вместо 30 число должно быть ?
    и значения 15 и 16 если отсчет идет с нуля не 14 и 15 должны быть ?
    Код (C++):
    // Конвертирование времени в массив необходимый для дисплея

    void TimeToArray(){

    int Now = GetTime(); // Get time

    int cursor = 30;

    Serial.print("Time is: ");
    Serial.println(Now);

    if (Dot){
    leds[15]=ledColor;
    leds[16]=ledColor;
    }
     
  7. GennOk

    GennOk Нерд

    у вас какая-то странная единица
     
    6umer нравится это.
  8. GennOk

    GennOk Нерд

    она должна быть или 0100001 или 0001100
     
    6umer нравится это.
  9. GennOk

    GennOk Нерд

    взависимости от того где вы ее хотите видеть в сегментах слева или справа
     
    6umer нравится это.
  10. 6umer

    6umer Нуб

    Очень странная, согласен Исправил.
    Сейчас скоммутировано так :
    22222.jpg
     
    Последнее редактирование: 16 янв 2017
  11. GennOk

    GennOk Нерд

    чтобы самому не путаться начни счет не с нуля а с единицы!
     
    6umer нравится это.
  12. GennOk

    GennOk Нерд

    я там чуть выше сам ошибся и немного не правильно нарисовал
     
    6umer нравится это.
  13. 6umer

    6umer Нуб

    да я видел, понял что ошибочка там.
    но вообщем я запутался.
    Сегменты обновляются ровно раз в 60 секунд. видео сделал как Вы просили.

     
  14. GennOk

    GennOk Нерд

    прикольно! а диоды точно WS2812 , что-то по цветам похожи на простые RGB. К ним три провода подходят?
     
    6umer нравится это.
  15. 6umer

    6umer Нуб

    Да) точно он уж .
    макро плохое, но как доказательство к делу, пойдёт)
    WhatsApp Image 2017-01-17 at 10.33.48.jpeg
    Вот и видео тестового скетча Adafruit NeoPexel-strandtest

     
    Последнее редактирование: 17 янв 2017
  16. farkhat

    farkhat Нуб

    Здравствуйте, а как в этих часах устанавливать время ? Три кнопки подключены к пинам 2,4,5. Пин 2 - DST, пин 4 - минуты, пин 5 - часы. Так я все собрал, я под себя все сделал, на каждый сегмент по 4 светодиода. Проблема одна, время у нас к примеру 17 15, он мне показывает 17 56 ну типа такого. Я нажимаю на кнопки чтобы изменить минуты часы но ничего не меняется. Можете помочь в чем дело ?
     

    Вложения:

    • _111111111.ino
      Размер файла:
      6,9 КБ
      Просмотров:
      512
  17. fogary

    fogary Гик

    В приложенном скетче, вызов функции изменения времени закоментирован:
    Код (C++):
    void loop() // Main loop
    {
    /*BrightnessCheck(); // Check brightness
    DSTcheck(); // Check DST
    TimeAdjust(); // Check to se if time is geting modified*/

    . . .
     
  18. GennOk

    GennOk Нерд

    Я закоментировал регулировку по яркости потому, что у меня не стоит датчик и следующую строку, потому, что вообще не понял что она делает.
    /*BrightnessCheck(); // Check brightness
    DSTcheck(); // Check DST*/
    остальное стоит так:
    TimeAdjust(); // Check to se if time is geting modified
    TimeToArray(); // Get leds array with required configuration
    FastLED.show(); // Display leds array
    нажимаю кнопку минуты - прибавляется минута, нажимаю кнопку часы - прибавляются часы. Единственно проблема в том, что эффект смены цветов стоит по обновлению минут и каждый раз при смене минуты ждешь пока сработает еще и эффект.
     
  19. Bozhuk

    Bozhuk Нуб

    здравствуйте.
    Извините, хотел спросить может есть какой так сказать финальный вариант программы с цифрами по 4 диода каждый сегмент ?
    буду очень благодарен.
     
  20. farkhat

    farkhat Нуб

    Это можно сказать что финальный вариант. У меня версия Arduino 1.6.0
     

    Вложения:

    • My_clock4led.ino
      Размер файла:
      6,8 КБ
      Просмотров:
      611
    • DS3232RTC.zip
      Размер файла:
      28,9 КБ
      Просмотров:
      346
    • FastLED.zip
      Размер файла:
      270,5 КБ
      Просмотров:
      327
    • Time.zip
      Размер файла:
      29,9 КБ
      Просмотров:
      331