Re: Троичные часы
Moderator: haqreu
-
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
ТРОИЧНЫЕ ЧАСЫ
Предлагаю для начала сделать модуль тринарных часов с линейкой двухцветных светодиодов
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Мы тут тоже подумали про троичные часы с линейкой двухцветных светодиодов - но только созданные на честном троичном подходе!cr0acker wrote:Предлагаю для начала сделать модуль тринарных часов с линейкой двухцветных светодиодов

Last edited by Shaos on 21 Sep 2012 10:25, edited 2 times in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
За основу можно взять 2-х цветные красно-зеленые светодиоды - когда ток идет в одну сторону, то светодиод горит красным, когда в другую - зеленым. Зеленый цвет можно поставить в соответствие троичной цифре P, красный - N, а погасший светодиод будет обозначать O. Предлагается сделать индикаторы часов и минут по 4 светодиода в ряд. Часы будут отображаться троичными числами от 0 до 23 (OOOO...PONN), а минуты - от -30 до +29 (NONO...POPN - т.е. часы будут показвать, например, "полвторого" вместо "час тридцать" ; ). Управлять часами предполагается с помощью трех кнопок - уменьшение и увеличение счетчика минут и увеличение счетчика часов.Shaos wrote: Мы тут тоже подумали про троичные часы с линейкой двухцветных светодиодов - но только созданные на честном троичном подходе!
Спасибо Мак Бастеру за идейную поддержку!

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Вот апплет, демонстрирующий идею таких часов:
<applet code="TriClock.class" width=200 height=150 alt="TriClock Java Applet"></applet>
Время которое они показывают можно посмотреть в строке статуса браузера
Над алгоритмом преобразования числа в троичный сбалансированный вид бился больше часа 
<applet code="TriClock.class" width=200 height=150 alt="TriClock Java Applet"></applet>
Время которое они показывают можно посмотреть в строке статуса браузера

Code: Select all
// TriClock.java - Alexander Shabarshin 14.03.2005-15.03.2005
import java.applet.*;
import java.util.*;
import java.awt.*;
public class TriClock extends Applet implements Runnable
{
Thread thread = null;
Date data = null;
int[] time;
public void init()
{
setBackground(new Color(255,255,255));
time = new int[3];
}
public void paint(Graphics g)
{
int i,j,k,n,m,x,y;
int dx = size().width;
int dy = size().height;
int st = dx/9;
time[0] = data.getHours();
time[1] = data.getMinutes();
time[2] = data.getSeconds();
if(time[2]>=30){time[2]-=60;time[1]++;}
if(time[1]>=30){time[1]-=60;time[0]++;}
if(time[0]>=24){time[0]-=24;}
showStatus("Time="+time[0]+":"+time[1]+":"+time[2]);
for(j=0;j<3;j++)
{
k = 27;
for(i=0;i<4;i++)
{
n = time[j]/k;
time[j] -= n*k;
m = k/2;
if(time[j]>+m){n++;time[j]-=k;}
if(time[j]<-m){n--;time[j]+=k;}
switch(n)
{
case -1: g.setColor(new Color(0xFF,0x00,0x00)); break;
case 0: g.setColor(new Color(0xFF,0xFF,0xFF)); break;
case 1: g.setColor(new Color(0x00,0xFF,0x00)); break;
}
x = st + i*st*2;
y = st + j*st*2;
g.fillOval(x,y,st,st);
g.setColor(new Color(0,0,0));
g.drawOval(x,y,st,st);
k /= 3;
}
}
}
public void update(Graphics g)
{
paint(g);
}
public void run()
{
while(true)
{
try {
data = new Date();
repaint();
thread.sleep(250);
} catch(Exception e) {
System.out.println("Exception "+e);
}
}
}
public void start()
{
if(thread==null)
{
thread = new Thread(this);
thread.start();
}
}
public void stop()
{
if(thread!=null)
{
thread.stop();
thread = null;
}
}
}

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Итак, примерно прикинул схему. Одноминутный задающий генератор пока видится либо на 555 микрухе (с погрешностью, т.к. RC), либо на кварце 32 кГц, но в этом случае придется ставить делитель на двоичных счетчиках (нетроичный).Shaos wrote:За основу можно взять 2-х цветные красно-зеленые светодиоды - когда ток идет в одну сторону, то светодиод горит красным, когда в другую - зеленым. Зеленый цвет можно поставить в соответствие троичной цифре P, красный - N, а погасший светодиод будет обозначать O. Предлагается сделать индикаторы часов и минут по 4 светодиода в ряд. Часы будут отображаться троичными числами от 0 до 23 (OOOO...PONN), а минуты - от -30 до +29 (NONO...POPN - т.е. часы будут показвать, например, "полвторого" вместо "час тридцать" ; ). Управлять часами предполагается с помощью трех кнопок - уменьшение и увеличение счетчика минут и увеличение счетчика часов.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Сегодня пришла в голову идея сделать задающий генератор на 8-ногом пике PIC12C508, который тут можно за 1.5 бакса заказать! С внутренним кварцем на 4 МГц на нем легко программку заделать, которая будет выдавать 1 минутные импульсы без какой-бы то ни было обвязки!Shaos wrote:Итак, примерно прикинул схему. Одноминутный задающий генератор пока видится либо на 555 микрухе (с погрешностью, т.к. RC), либо на кварце 32 кГц, но в этом случае придется ставить делитель на двоичных счетчиках (нетроичный).
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Maniac
- Posts: 304
- Joined: 29 Mar 2005 06:06
- Location: Krasnodar
да 555й хватит...Shaos wrote:Сегодня пришла в голову идея сделать задающий генератор на 8-ногом пике PIC12C508, который тут можно за 1.5 бакса заказать! С внутренним кварцем на 4 МГц на нем легко программку заделать, которая будет выдавать 1 минутные импульсы без какой-бы то ни было обвязки!
гы, а у нас, черт знает где от Москвы


-
- Maniac
- Posts: 304
- Joined: 29 Mar 2005 06:06
- Location: Krasnodar
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
-
- God
- Posts: 1078
- Joined: 03 Feb 2003 13:53
У оригально 555 максимальная частота 1,5 МГЦ.Ronin wrote:да 555й хватит...Shaos wrote:Сегодня пришла в голову идея сделать задающий генератор на 8-ногом пике PIC12C508, который тут можно за 1.5 бакса заказать! С внутренним кварцем на 4 МГц на нем легко программку заделать, которая будет выдавать 1 минутные импульсы без какой-бы то ни было обвязки!
гы, а у нас, черт знает где от Москвыполноценный ат89с2051 стоит 50р (оптом дешевле) на радиорынке
те же 1.5 бакса практически.

Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Да ладно - это тока апплет, который должен был дать визуальное представление о таких часахMac Buster wrote:Это не сложно исправить. При запуске берем текущее время, загоняем в уравновешенную троичную форму, а там на каждой секунде делаем элементарное приращение, по модулюRonin wrote:гыгы, счетчики у тебя нечестные, нетроичные

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Счетчики можно сделать из троичных полусумматоров (см. viewtopic.php?t=53) - по одному на трит
Last edited by Shaos on 21 Sep 2012 10:27, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Наверное идеологически правильнее все-таки на P повесить красный цвет, а на N - зеленый (за неимением синего), т.к. общепринятая расцветка проводов к примеру - черный - земля, красный - плюс, синий - минус.Shaos wrote:За основу можно взять 2-х цветные красно-зеленые светодиоды - когда ток идет в одну сторону, то светодиод горит красным, когда в другую - зеленым. Зеленый цвет можно поставить в соответствие троичной цифре P, красный - N, а погасший светодиод будет обозначать O.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 23992
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Хотя если вспомнить к примеру расцветки биржевых котировок, то там зеленый - это положительное движение, а красное - отрицательное.Shaos wrote:Наверное идеологически правильнее все-таки на P повесить красный цвет, а на N - зеленый (за неимением синего), т.к. общепринятая расцветка проводов к примеру - черный - земля, красный - плюс, синий - минус.Shaos wrote:За основу можно взять 2-х цветные красно-зеленые светодиоды - когда ток идет в одну сторону, то светодиод горит красным, когда в другую - зеленым. Зеленый цвет можно поставить в соответствие троичной цифре P, красный - N, а погасший светодиод будет обозначать O.
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Retired
- Posts: 1474
- Joined: 03 Aug 2003 22:37
- Location: Moscow
Думаю логичнее сделать красный для отрицательного, т.к. у нас отрицательные значения лежат на числовой прямой слева относительно положительных. Так что можно использовать шкалу длин волн (КОЖЗГСФ), где красный (К) расположен левее зеленого (З)Shaos wrote:Хотя если вспомнить к примеру расцветки биржевых котировок, то там зеленый - это положительное движение, а красное - отрицательное.


Extreme Entertainment