Прямой эфир


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
Спасибо за ответ, но просто матрицы у меня уже готовые 4 штуки в едином блоке вот такие
avatar

DeVit

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

kmichael

  • 25 марта 2018, 09:39
0
Здравствуйте, понравился Ваш проект собрал схему, но у меня изображение на матрицах повёрнуто на 90 градусов.
Подскажите как можно его развернуть в Вашем скетче? (просто совсем не программист, только начинаю изучать ардуино)
avatar

DeVit

  • 25 марта 2018, 08:59
0
Такая же проблема!
Исправил:
static uint8_t System5x7[] PROGMEM = {
на:
const uint8_t System5x7[] PROGMEM = {

И добавил, только после этого начала работать:
#ifdef PROGMEM
#undef PROGMEM
#define PROGMEM __attribute__((section(".progmem.vars")))
#endif
avatar

tomas111

  • 28 февраля 2018, 13:53
0
Вы написали, что если дополнительно подключить к фототранзистору транзистор, то чувствительность увеличится. Почему?
avatar

Oleg391

  • 15 февраля 2018, 14:34
0
Круть. эта теплица и без автоматики выглядит, будто её инопланетяне построили на Венере в 3018 году.
avatar

BoatsMan

  • 15 февраля 2018, 11:58
0
Спасибо, я только что понял почему у меня плохо работает датчик, были не те элементы и длины волн были разные. Но всё же, не понимаю зачем здесь нужен ИК-диод? Какую функцию он выполняет? Почему недостаточно просто фототранзистора, ведь именно он ключевой элемент?
avatar

Oleg391

  • 6 февраля 2018, 18:44
0
Указана модель фототранзистора — L-53P3C.
Нетрудно найти документацию, где указано значение длины волны: 940 нм — точно на такой же длине волны излучает ИК-диод L-53F3C.

avatar

admin

  • 5 февраля 2018, 14:03
0
Не так выразился, там ведь в схеме вообще нету ИК-приёмника, только фототранзистор и Ик-диод. Дак вот, не понимаю какая роль ИК-светодиода в этой схеме?
avatar

Oleg391

  • 5 февраля 2018, 13:45
0
Чтобы принимать сигнал от ИК-диода.
avatar

admin

  • 5 февраля 2018, 11:33
0
А какую зачем в схеме нужен ИК-приёмник?
avatar

Oleg391

  • 4 февраля 2018, 11:40
0
Большое спасибо)) Поправил и работает))
avatar

workss

  • 24 января 2018, 17:38
0
Разумеется, статья от 2010 года слегка устарела.
Сейчас, имеет смысл использовать:
cvCopy(src, dst, mask);

или же для С++:
matSrc.copyTo(matDst, mask);
avatar

admin

  • 24 января 2018, 15:16
0
Мне кажется или статья слегка устарела? На:
cvCopyImage(src, image);
Ругается:
Ошибка C3861 cvCopyImage: идентификатор не найден…
Проблемм с openCv нету- все остальные работают)
avatar

workss

  • 24 января 2018, 15:05
0
Здравствуйте!
Хотел бы посмотреть скетч. Скиньте, пожалуйста, на 69pvl@rambler.ru
avatar

plagunov

  • 19 января 2018, 08:08
0
Спасибо за статью
1/4*CV_PI = 0,079577 у окружности максимальное, поэтому area / (perim * perim)< 0.087 можно не проверять
avatar

tangaldi

  • 25 декабря 2017, 15:12
0
Вот, дезасамблированный код, на 7 строке он указывает, что там ошибка. 77AED4B2 jne string L"\??\%C:"+4944Ch (77AED4BCh)
77AED4B4 push esi
77AED4B5 push 0FFFFFFFFh
77AED4B7 call _NtTerminateProcess@8 (77A8C5B0h)
77AED4BC push esi
77AED4BD call _RtlRaiseStatus@4 (77A907A0h)
77AED4C2 mov eax,dword ptr fs:[00000018h]
77AED4C8 test byte ptr [eax+0FCAh],20h
77AED4CF jne LdrShutdownThread+0FFFFFC91h (77A72A01h)
77AED4D5 xor esi,esi
77AED4D7 jmp LdrShutdownThread+0FFFFFDA7h (77A72B17h)

В логе по статусу дебагинга кода флаг success стоит.
avatar

Saldorian

  • 6 декабря 2017, 11:42
0
Все исправилось, предьидущая ошибка исправилась, выключением precompiled filters в разделе input, опций. Предпредидущая ошибка исправилась, копированием класов *.h из opencv, в непосредственно директории по умолчанию include directories в VC++ Directories. И все запустилось уже с флагом success, но свмо уже приложение, появилось на уровне cmd и пишет: Необработанное исключение по адресу 0x7789D4C2 (ntdll.dll) в ConsoleApplication3.exe: 0xC000007B: Программа "%hs" не предназначена для выполнения в Windows или содержит ошибку. Попробуйте установить программу еще раз с исходного установочного носителя либо обратитесь к системному администратору или поставщику программного обеспечения за поддержкой. Состояние ошибки 0x.
При отладке добавляет, вот это: Необработанное исключение по адресу 0x77849510 (ntdll.dll) в ConsoleApplication3.exe: Код инструментирования VTGuard обнаружил попытку использования недопустимой таблицы виртуальных функций.

Вызвано исключение по адресу 0x00000030 в ConsoleApplication3.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000030.

avatar

Saldorian

  • 4 декабря 2017, 11:21
0
софт не скачивается исходников нет… open source по цигански :)
avatar

marshallab

  • 4 декабря 2017, 11:14