Разное и полезное > Индикаторы

VU-meter на декатроне.

<< < (2/17) > >>

lgedmitry:
написал в исток2. Ждёмс...

и добавил...
если всё пойдёт  - попробую к Алефу прикрутить. Всяко интереснее, чем ЖК-шка будет ???

khvilon:
Мои первые прикидки..
(компиляция из найденного в сети)

[ Вложение: Вам нельзя просматривать вложения ]
[ Вложение: Вам нельзя просматривать вложения ]
[ Вложение: Вам нельзя просматривать вложения ]

В середине всего этого AVR


и добавил...
Для ликбезу:
[ Вложение: Вам нельзя просматривать вложения ]
[ Вложение: Вам нельзя просматривать вложения ]
- очень познавательно!


и добавил...
А можно так:
[ Вложение: Вам нельзя просматривать вложения ]

lgedmitry:
применил репочесание лёгкой степени.
Вырисовывается вот такая штуковина: (Извините, но у Вас нет доступа в Галерею)
Идея такая:
а) включаем ВТ17. Протекание тока, по идее, должно начаться с по цепи R122 Л1 R124. Если нет - может придётся малость увеличить VD10, чтоб какой из подкатодов вперёд нулевого катода не выскочил.
б) включаем ВТ15. Устройство готово к счёту
в) начинаем дёргать за ВТ13, ВТ16. Едем докуда надо.
г) как доехали - вырубаем ВТ15 и ВТ17. Это для того, чтобы не перебрать со временем индикации конечной точки (если просто остановим счёт в нужном месте, и больше ничего не будем делать). Или не пересветить точку 0 (если, доехав, сбросимся нулевым катодом и там застрянем до следующего цикла индикации)

Будут ли у товарищей какие-либо соображения, комменты и матерноругательства по поводу концепции? ;-[ ;-[ ;-[

khvilon:
моя алгаритмика (в голове) совсем иная:
одномерный массив длинной 10
(один элемент на каждую точку индикации)
физический смысл каждого числа - время индикации данной точки.

while(!dekatron.is_0()); //сброс на "0"

// цикл индикации
for(i=0;;i++,i%=10)
{
   delay(arr);
   dekatron.next();
}

массив инициализируется по прерыванию от ADC





и добавил...
естественно
// цикл индикации
for(i=0;;i++,i%=10)
{
   delay(arr);
   dekatron.next();
}


и добавил...
// цикл индикации
for(i=0;;i++,i%=10)
{
   delay(arr[ i ]);
   dekatron.next();
}
... скптина глотает кв. скобки

lgedmitry:
Достаю свою алгоритмику из головы:

Pechatl:                                                    'подпрограмма вывода на экран измерителей уровня
'левого
If Count = 0 Then
   Set Portd.3                                              'если уже пора - включаю декатрон
   Set Portd.2
   Else                                                     'если не начало такта - ничего с включением не делаю
      If B1 > Count Then                                    'если измеренная входная величина больше номера горящего кружочка, то делаю шажок
         If Portd.0 = 0 And Portd.1 = 0 Then
            Set Portd.0                                     'или такой
            Set Nizzya
            End If
         If Portd.0 = 0 And Portd.1 = 1 Then                'или такой
            Reset Portd.1
            End If
         If Portd.0 = 1 And Portd.1 = 0 And Nizzya = 0 Then 'или вот такой
            Reset Portd.0
            Set Portd.1
            End If
            Reset Nizzya
         Else
         Let Portd = Portd And Trafaret                     'если подравнялись со входной величиной - гасим лампочку и делаем холостые шажки
         End If
   End If
Incr Count                                                  'увеличиваю щётчик шажков
If Count = 15 Then
   Let Count = 0
   Toggle Channel                                           'когда 15 шажков прошло - меняем канал отображения (там такая же подпрограмма, только шажки задом наперёд)
   End If
Return

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии