0
for(int posY = 7; posY >= 0; posY --) {
        for(int i = 0; i < 4; i++) {
          if(strTime[i] != strTime_old[i]){
            lc.buildChar(strTime[i], posY, iPosX[i], 1, digit6x8future);
            lc.buildChar(strTime_old[i], posY - 8, iPosX[i], 1, digit6x8future);
          }
        }
avatar

kmichael

  • 25 марта 2018, 15:04
0
А! Понял! Первое, что приходит на ум, так как проверить на железе не могу, надо будет заказать такую матрицу, просто надо поменять местами X и Y:
void digitalClockDisplay(){
  if(millis() - previousMillis >= 1000) {
    previousMillis = millis();
    bInvert = !bInvert;

    lc.buildChar(bInvert ? ':' : ' ', 13, 0, 1, digit6x8future);

    DateTime now = rtc.now();
    
    strTime[0] = char(now.minute() % 10 + 48);
    
    if(strTime[0] != strTime_old[0]){      
      strTime[1] = char(now.minute() / 10 + 48);
      strTime[2] = char(now.hour() % 10 + 48);
      strTime[3] = char(now.hour() / 10 + 48);
   
      for(int posY = 7; posY >= 0; posY --) {
        for(int i = 0; i < 4; i++) {
          if(strTime[i] != strTime_old[i]){
            lc.buildChar(strTime[i], posY, iPosX[i], 1, digit6x8future);
            lc.buildChar(strTime_old[i], posY - 8, iPosX[i], 1, digit6x8future);
          }
        }
                
        lc.Update();
        delay(50);
      }

      for(int i = 0; i < 4; i++) strTime_old[i] = strTime[i];
    }
  
    lc.Update();
  }
}


Не уверен, надо проверить…
avatar

kmichael

  • 25 марта 2018, 14:06
0
Странно, возможно сами матрицы установлены не верно. А их порядок следования нормальный? Т.е. он правильно показывает время лишь цифры повёрнуты на 90 градусов?
avatar

kmichael

  • 25 марта 2018, 09:39
+1
Хочу и в этот раз попробовать силы. Пока в планах создание «умной» розетки на базе ESP8266 с часами на борту и управлением ею через интернет… Уверен, что подобные проекты уже есть, но я попробую написать пошаговую и детальную инструкцию, если, конечно хватит времени…
avatar

kmichael

  • 2 марта 2017, 15:34
0
Интересная статья, спасибо. Хотелось бы спросить, у меня есть некое устройство обладающее двумя GPIO где один работает на In, а другой на Out. Возможно ли с помощью протокола 1 Ware подключить к ним Arduino и управлять им? Если да, то как это осуществить?
avatar

kmichael

  • 5 апреля 2016, 13:07
0
Спасибо, большое, надеюсь новые статьи, будут не менее увлекательны и интересны… Буду стараться…
avatar

kmichael

  • 24 марта 2016, 09:05
+1
Надеюсь, что будет весело и полезно, присоединяюсь. Подкину пару тем…
avatar

kmichael

  • 21 марта 2016, 15:13
+1
Вы абсолютно правы на счёт функции convertNumberIntoArray() постараюсь в ближайшее время внести в неё исправления, для упрощения её работы и экономии ресурсов. Очень рад за толковые советы, надеюсь, на дальнейшее сотрудничество.
avatar

kmichael

  • 10 марта 2015, 09:51
+1
Давно хотел присоединиться к вашему сообществу и поделиться своим проектом дистанционной системы автоматического полива растений на базе Arduino.
avatar

kmichael

  • 2 марта 2015, 15:03
0
Проверил сонары — по отдельности работают исправно, видимо не хватает питания. Хотя, вообще то странно от чего это сонары такие прожорливые…
avatar

kmichael

  • 8 апреля 2013, 17:44
0
А если использовать сдвиговые регистры то можно увеличить разрядность синусойды до 64 бит и более задействовав лишь 3 выхода Arduino или 4 для двух…
avatar

kmichael

  • 4 апреля 2013, 18:06