Author |
Message |
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Предлагаю для начала сделать модуль тринарных часов с линейкой двухцветных светодиодов
|
13 Dec 2004 16:14 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Мы тут тоже подумали про троичные часы с линейкой двухцветных светодиодов - но только созданные на честном троичном подходе!
Last edited by Shaos on 21 Sep 2012 10:25, edited 2 times in total.
|
17 Feb 2005 18:36 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
За основу можно взять 2-х цветные красно-зеленые светодиоды - когда ток идет в одну сторону, то светодиод горит красным, когда в другую - зеленым. Зеленый цвет можно поставить в соответствие троичной цифре P, красный - N, а погасший светодиод будет обозначать O. Предлагается сделать индикаторы часов и минут по 4 светодиода в ряд. Часы будут отображаться троичными числами от 0 до 23 (OOOO...PONN), а минуты - от -30 до +29 (NONO...POPN - т.е. часы будут показвать, например, "полвторого" вместо "час тридцать" ; ). Управлять часами предполагается с помощью трех кнопок - уменьшение и увеличение счетчика минут и увеличение счетчика часов. Спасибо Мак Бастеру за идейную поддержку!
|
15 Mar 2005 06:55 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Вот апплет, демонстрирующий идею таких часов: <applet code="TriClock.class" width=200 height=150 alt="TriClock Java Applet"></applet> Время которое они показывают можно посмотреть в строке статуса браузера | | | | Code: // 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; } }
}
| | | | |
Над алгоритмом преобразования числа в троичный сбалансированный вид бился больше часа
|
15 Mar 2005 20:02 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Итак, примерно прикинул схему. Одноминутный задающий генератор пока видится либо на 555 микрухе (с погрешностью, т.к. RC), либо на кварце 32 кГц, но в этом случае придется ставить делитель на двоичных счетчиках (нетроичный).
|
16 Mar 2005 17:39 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Сегодня пришла в голову идея сделать задающий генератор на 8-ногом пике PIC12C508, который тут можно за 1.5 бакса заказать! С внутренним кварцем на 4 МГц на нем легко программку заделать, которая будет выдавать 1 минутные импульсы без какой-бы то ни было обвязки!
|
05 Apr 2005 18:39 |
|
|
Ronin
Maniac
Joined: 29 Mar 2005 06:06 Posts: 304 Location: Krasnodar
|
да 555й хватит... гы, а у нас, черт знает где от Москвы полноценный ат89с2051 стоит 50р (оптом дешевле) на радиорынке те же 1.5 бакса практически.
|
07 Apr 2005 02:24 |
|
|
Ronin
Maniac
Joined: 29 Mar 2005 06:06 Posts: 304 Location: Krasnodar
|
гыгы, счетчики у тебя нечестные, нетроичные
|
07 Apr 2005 02:42 |
|
|
Mac Buster
Retired
Joined: 03 Aug 2003 22:37 Posts: 1474 Location: Moscow
|
Это не сложно исправить. При запуске берем текущее время, загоняем в уравновешенную троичную форму, а там на каждой секунде делаем элементарное приращение, по модулю
_________________ Extreme Entertainment
|
07 Apr 2005 09:55 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
У оригально 555 максимальная частота 1,5 МГЦ.
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
07 Apr 2005 13:46 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Да ладно - это тока апплет, который должен был дать визуальное представление о таких часах
|
07 Apr 2005 21:41 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Счетчики можно сделать из троичных полусумматоров (см. http://www.nedopc.org/forum/viewtopic.php?t=53) - по одному на трит
Last edited by Shaos on 21 Sep 2012 10:27, edited 1 time in total.
|
08 Apr 2005 22:07 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Наверное идеологически правильнее все-таки на P повесить красный цвет, а на N - зеленый (за неимением синего), т.к. общепринятая расцветка проводов к примеру - черный - земля, красный - плюс, синий - минус.
|
12 May 2005 19:50 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22542 Location: Silicon Valley
|
Хотя если вспомнить к примеру расцветки биржевых котировок, то там зеленый - это положительное движение, а красное - отрицательное.
|
06 Jun 2005 20:27 |
|
|
Mac Buster
Retired
Joined: 03 Aug 2003 22:37 Posts: 1474 Location: Moscow
|
Думаю логичнее сделать красный для отрицательного, т.к. у нас отрицательные значения лежат на числовой прямой слева относительно положительных. Так что можно использовать шкалу длин волн (КОЖЗГСФ), где красный (К) расположен левее зеленого (З) Поняли что-нибудь ?
_________________ Extreme Entertainment
|
06 Jun 2005 23:18 |
|
|