Часы на Arduino NANO + MAX7219 + FM приемник

Тема в разделе "Глядите, что я сделал", создана пользователем IvanUA, 31 авг 2017.

  1. IvanUA

    IvanUA Гуру

    Ну точно такого эффекта вы не добьетесь. Просто у нас экраны разные. А сделать что то похожее можно. Но тут вам придется для отрисовки каждой цифры сделать отдельную функцию. Будет наверное красиво, но увесисто. И да, если захотите поменять шрифт, то придется менять и функции. Но, если вам это интересно и есть достаточно свободного времени, то почему бы и нет)))
     
  2. Serzh2000

    Serzh2000 Нерд

    это понятно, там семисегментник у нас матрица - эффект должен получиться лучше
    вот написал цифру ноль
    Код (C++):
    const uint8_t dig3x7q[] PROGMEM = { 36,      // Узкий цифровой
    0x00,0x02,0x00,0x00,0x02,0x04,0x00,0x02,0x0C,0x00,0x02,0x1C,0x00,0x02,0x3C,0x00,0x02,0x7C,0x00,0x82,0x7C,0x40,0x82,0x7C,0x60,0x82,0x7C,0x70,0x82,0x7C,0x78,0x82,0x7C,0x1C,0x82,0x7C,}
    вот тут "затык" ,я не программист ,а любитель-самоучка
    Код (C++):
    void showDigiteffekt(char ch, int col, const uint8_t *data) {            
      if(dy<-8||dy>8) return;
        for(int q=0; q<12; q++) {
        col+=dx;                                                            
      for(int i=0; i<3; i++) {                                            
        if(col+i>=0&&col+i<NUM_MAX*8) {                                
          byte v=pgm_read_byte(data+1+ch*3+1+i);                          
           scr[col+i].byte_data=v;                                      
        }
       }
    }                                                                    
    }
     
    что я здесь написал как ,как мне кажется, читаем три цифры 12 раз - отрисовывается ноль
    Код (C++):
    void showClock(){                                            
      showDigit(h1, 0, dig4x8);                
      showDigit(h0, 5, dig4x8);                                          
      showDigit(m1, 12, dig4x8);                                          
      showDigit(m0, 17, dig4x8);                                          
      showDigiteffekt(0, 24, dig3x7q);                                      
      showDigit(s0, 28, dig3x7s);                                        
      if (dots) setCol(10, 0x24);                                        
    }                                                                    
     
    а насамом деле какая то фигня в виде точки ...
     

    Вложения:

    Последнее редактирование: 14 фев 2020
  3. Serzh2000

    Serzh2000 Нерд

    обалденно цифры рисуются [​IMG]
    теперь это надо облагородить [​IMG] и вставить в часы
    у кого есть мысли выкладывай?
     

    Вложения:

    Последнее редактирование: 15 фев 2020
  4. Serzh2000

    Serzh2000 Нерд

    вот:)
    сделал отрисовку цифр. получилось как хотел.;)
    не получается мигать точками (точнее очень быстро мигают) может кто поможет ?

    и вопрос: поставил в часах на 190 строчке delay(30);
    в интернете пишут delay это плохо. тады как?:rolleyes:
     

    Вложения:

  5. Serzh2000

    Serzh2000 Нерд

    я здаюсь... куда эту ...millis() поставить чтобы цифра отрисовывалась за 0,9 милсек
    помогите, пожалуйста.
     

    Вложения:

  6. Serzh2000

    Serzh2000 Нерд

    с точками разобрался
     

    Вложения:

  7. Serzh2000

    Serzh2000 Нерд

    какой то не разговорчивый здесь народ, пойду на сайт "радиокот"
     
  8. Serzh2000

    Serzh2000 Нерд


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

    Вложения:

    Deniskyn, big_alex и IvanUA нравится это.
  9. Deniskyn

    Deniskyn Гик

    Смотрел ваши посты на "коте" напрасно радио выбросили.... у меня в долгом ящике есть мысли таки доделать вариант с радио (причем оч. хочу допилить RDS), ИК пульт добавить и будет идеальный вариант для гаража или дачи =)
    ПС
    Анимация секунд ИМХО излишня в вашем варианте, но выглядит прикольно.
     
  10. aas84

    aas84 Нуб

    Добрый день! подскажите, как развернуть изображение на 90 градусов?
     
  11. Serzh2000

    Serzh2000 Нерд

    aas84 это лучше спросить у автора IvanUA часов, я их только переделал под свои хотелки. не силен в программировании ( у меня метод тыка, ошибок и проб)
    но предполагаю во вкладке max7219.h надо поковырять.
     
  12. Flash507

    Flash507 Нуб

    Какой тип пищалки для будильника и номинал резистора в ее цепи? Пробовал подключать активный и обычный пьезо - очень тихий звук. Спасибо!
     
  13. Serzh2000

    Serzh2000 Нерд

    у меня такой (во вложении). сопротивление на сто Ом.
     

    Вложения:

    • буззер.jpg
      буззер.jpg
      Размер файла:
      119,7 КБ
      Просмотров:
      280
  14. Flash507

    Flash507 Нуб

    Это ведь активный буззер, у меня такие же. При подаче постоянки 3-5 вольт орут как потерпевшие. А в данной схеме пытаются играть сэмплы будильников, но слышно только если приложить к уху)))
     
  15. Serzh2000

    Serzh2000 Нерд

    может у Вас он неисправный? попробуйте другой . у меня поет громко ! или ошибка в подключении ,нет минуса ?.
    попробуйте с транзистором пассивную пищалку так:
    pin 2 - audio на базу через резистор 220ohm, эмиттер GND, speaker на коллектор и через резистор 10ohm на VCC
     
  16. TyM

    TyM Нерд

    Привет всем.

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

    Спасибо
     
  17. b707

    b707 Гуру

    TyM. попробуйте выражаться яснее
    Что такое "плохо работает", что такое "экраны не читаются" и как они "должны вращаться" - знаете только вы.
     
  18. TyM

    TyM Нерд

    Спасибо b707 за ответ.

    На дисплеях не отображаются какие-либо известные символы, я думаю, что строки / столбцы, которые отправляет arduino, не соответствуют строкам / столбцам дисплеев.
    Я мало разбираюсь в электронике и не знаю, как продолжить.

    Спасибо.
     

    Вложения:

  19. b707

    b707 Гуру

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

    проверить всю схему от начала до конца

    И надо учиться, без базовых знаний в электронике и программировании в мире ардуино делать нечего
     
  20. TyM

    TyM Нерд


    Спасибо b707 за ответ.

    Я тестировал эту же схему с другим скетчем * .ino MAX7219, и он работает правильно. Я думаю, что проблема у меня связана с файлом max729.h, который находится в папке Moi_Czasy8x32 этого форума.
    Прикрепленное видео.

    Спасибо b707.
     

    Вложения: