Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Декатроны
#71
ноп это не проблема )) Вот только домой пришел, сейчас продолжу, спасибо вам еще раз за просто жесть какое терпение, соображаю я долго и медленно, на обычных форумах меня бы уже толпой посылали ))
Ответ
#72
К сожалению ничего не изменилось ( 

_20 - желтый это катод, зеленый подкатод 1
_4 зеленый это подкатод 1, желтый - подкатод 2

Нулевой катод просто притянут к +50 и не управляется, отключен от транзистора

Оно же не просто застревает, оно застревает именно в районе нулевого, весь остальной путь проделывает нормально.


Файлы вложений Эскизы(ов)
       
Ответ
#73
Вы очень невнимательны! Я же несколько раз сказал, что нулевой катод должен быть отключен только от ключа сброса. Ключ, база которого соединена с катодом, должен быть подключен. То есть, на нулевом катоде тоже будут импульсы, одновременно с импульсами на катоде. Если нулевой катод просто подтянуть к +50, то ни на него, ни через него, разряд не перейдет. Как именно у Вас включено? 

Еще раз, при отсутствии цепи сброса на нулевом катоде должен быть импульс одновременно с импульсом на катоде! А приведенный мной код будет полностью рабочим и с подключенной цепью сброса. Я показал полное управление декатроном.
Ответ
#74
Вот так должно быть подключено, если нет цепи сброса

   

Или полная схема, как я раньше показывал. Мой код подходит для обоих вариантов. А у Вас управление нулевым катодом неверне
Ответ
#75
Вот *ть... Заработало!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1111одинодин!!

Блин, ну я старею может, мозги усохли, то ли болею, я же смотрел, но не видел... Не подумайте что я специально так делаю... 

https://www.youtube.com/watch?v=cDBPVNC-_tA

Это видео про меня  Big Grin

Хорошо, теперь, если мне нужен сброс, я снова разделяю транзисторы по своим местам, во время обычного вращения я на нулевой кидаю импульс одновременно с катодом, а если мне надо выставить ноль, то отключаю подтяжку всех катодов, а нулевой притягиваю к земле, верно???
Ответ
#76
Не надо ничего разделять! Я же давал полную схему вот здесь. И в моем примере кода процедура сброса тоже есть, вот для этой самой схемы. Только я обозвал вывод порта "k0", а не "сброс", в программе. Но и схема, и программа, абсолютно рабочие и правильные.

Просто поймите, что К0 выполняет ДВЕ функции. При обычной работе это просто катод. Потому и управляющий им транзистор соединен базой с транзистором катода. А при сбросе это отдельный вход сброса. Другими словами, 

К0=К .ИЛИ. СБРОС
К0=К .OR. СБРОС
К0=К | СБРОС

Это просто три разных способа записи одного и того же. Для вывода К0 используется функция ИЛИ. Это и реализуется двумя транзисторами, которые соединены коллекторами.
Ответ
#77
Вот еще раз схема. 
   
Я обозначил сигнал К0, который в программе используется. Для сброса просто вызывайте Decatron_Reset(), которая к моем коде есть. Разумеется, если схема именно та, которую я давал. Вот один-в-один все должно быть!
Ответ
#78
Если точку надо гонять против часовой стрелки, то это будет так

void loop() {

// Гоняем точку против часовой стрелки. В данный момент у нас состояние декатрона полностью определено

   digitalWrite(pk2,HIGH);                     // Точка перейдет на ПК2
   delay(1);
   digitalWrite(k,LOW);                        // Переносим
   delay(1000);
   digitalWrite(pk1,HIGH);                     // Точка перейдет на ПК1
   delay(1);
   digitalWrite(pk2,LOW);                      // Переносим
   delay(1000);
   digitalWrite(k,HIGH);                       // Точка перейдет на катод
   delay(1);
   digitalWrite(pk1,LOW);                      // Переносим
   delay(1000);
}

Процедура сброса при этом не меняется. Вообще, сброс нужен только при включении питания или при радикальной смене анимации. Причем ту анимацию можно делать в процедуре прерывания, а не в основной программе. Вот тогда и потребуется сброс при сменен анимации, так как основная программа не будет знать состояния декатрона. Не надо постоянно дергать сброс!
Ответ
#79
И еще.... Если для К, ПК1, ПК2 выделить три последовательных разряда одного порта, например, биты 0, 1, 2, то рулить всем этим хозяйством можно сдвигами. И программа станет короче, хотя для понимания будет сложнее. Если человек никогда с таким не сталкивался, конечно. Но ничего сложного там нет. Остается добавить переменную с типом анимации и засунуть все это в прерывание. И тогда в основной программе только устанавливать нужную анимацию придется. Все остальное будет "само" в фоне делаться.
Ответ
#80
На счет сдвигов это вообще гениально, никаких проблем я с ними не испытываю к счастью, как и с любыми битовыми операциями, но блин, до этого ведь надо еще догадаться. На счет транзистора тоже понял, жаль на плате у меня их всего 4, но я сейчас еще добавлю навесом!!!

Сейчас попробую, блин, на душе так хорошо становится, когда что то работает и что то понимать начинаешь )))

Для ОГ-3 делаем то же самое, только для трех подкатодов, верно?
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)