Re: Ретро часы на ИВ-6
Схема, печатная плата и скетч уже проверены. Не забудьте установить библиотеку iarduino_RTC.h и MsTimer2.h для этого проекта.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → Законченные проекты → Ретро часы на ИВ-6
Схема, печатная плата и скетч уже проверены. Не забудьте установить библиотеку iarduino_RTC.h и MsTimer2.h для этого проекта.
На схеме преобразователя резистор R4 указанный как переменный на 1 кОм нужно заменить постоянным на 470 Ом размера 0805.
Всем кто помог мне в этой теме- огромное спасибо , собрал пока 2 шт одни хорошему знакомому аторые себе. Вот такое получилось, кнопки заказывал на алике и питание соответственно взял с фоновой подсветки , но при установке требуется инициализировать (коротковременно замкнуть контакты подветки на кнопках, буквально прикоснуться пальцем ) без инициализации сами с первого раза не включились, подсветку убавил до минимума , а накал ламп почти до максимума , иначе кнопки глушат часы яркостью. Оргстеело полировал химически- сделал с помощью сухой перегонки основу акрила, и растворил в ней куски оргстекла с вязкостью примерно растительного масла , а уже этой гадостью намазал края (нет лазера для резки) ну вот и все, сделаю еще 2 часов друзьям , а потом попробую переделать конструкцию.
Всем добрый день. Планирую собрать часы на ИВ-6, но хочу платы "бутербродом" под dip компоненты. Есть ли у кого архив с печатной платой на такие платы как на рисунке ниже?
Поиск по pcbway, jlpcb и easyeda результата не дал.
На схеме преобразователя резистор R4 указанный как переменный на 1 кОм нужно заменить постоянным на 470 Ом размера 0805.
День добрый. Александр, не могли бы Вы выложить пожалуйста схему преобразователя в формате easyeda. Заранее благодарю.
Также обращаюсь ко всем, если кто-то разводил плату под ив-22 в формате easyeda или sprint layout, выложите пожалуста. Спасибо.
Здравствуйте! Ссылка на проект платы повышающего преобразователя https://oshwlab.com/allexsemenow/dc-dc- … erter_copy. Плата доработана и есть отличия от старой.
Здравствуйте.
Появились индикаторы ИВ - 22. Схему взял с первой страницы. Начал разводить под них односторонние платы для часов по фото.
Частично не получается без перемычек вывести согласно схемы с ардуины на индикаторы А0 - А3 и a,b - g.
Например надо, что бы "D3" ардуины приходил на "b" индикаторов, а у меня получается "D3" на "с" индикаторов.
Возможно ли изменить скетч? Если можно, то объясните принцип пожалуйста. Вот скетч.
#include <MsTimer2.h>
#include <Wire.h>
#include <DS3231.h>
DS3231 clock;RTCDateTime DateTime;
int an, segm,times,i;
byte a[4];
void setup(){ Wire.begin();clock.begin();MsTimer2::set(4, to_Timer);MsTimer2::start();
// clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
clock.setOutput(DS3231_1HZ);
pinMode(9,OUTPUT); // D9 === A0
pinMode(10,OUTPUT); // D10 === A1
pinMode(11,OUTPUT); // D11 === A2
pinMode(12,OUTPUT); // D12 === A3
pinMode(2,OUTPUT); // D2 === a
pinMode(3,OUTPUT); // D3 === b
pinMode(4,OUTPUT); // D4 === c
pinMode(5,OUTPUT); // D5 === d
pinMode(6,OUTPUT); // D6 === e
pinMode(7,OUTPUT); // D7 === f
pinMode(8,OUTPUT); // D8 === g
}
void loop(){
DateTime=clock.getDateTime();// опрос времени
times = DateTime.hour*100+DateTime.minute;
a[0]=times/1000;
a[1]=times/100%10;
a[2]=times/10%10;
a[3]=times%10%10;
}
void to_Timer(){
switch(i){
case 0: segm=a[0]; an=0; anod(); segment();break;
case 1: segm=a[1]; an=1; anod(); segment();break;
case 2: segm=a[2]; an=2; anod(); segment();break;
case 3: segm=a[3]; an=3; anod(); segment();break;}i++;if(i>3){i=0;}}
void segment(){
switch(segm){
// A B C D E F G
case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);break;// 0
case 1: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 1
case 2: ch(2,0);ch(3,0);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,0);break;// 2
case 3: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,0);break;// 3
case 4: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,0);break;// 4
case 5: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 5
case 6: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 6
case 7: ch(2,0);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 7
case 8: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 8
case 9: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 9
}}
void anod(){
switch(an){
case 0:ch(9,0);ch(10,1);ch(11,1);ch(12,1);break;
case 1:ch(9,1);ch(10,0);ch(11,1);ch(12,1);break;
case 2:ch(9,1);ch(10,1);ch(11,0);ch(12,1);break;
case 3:ch(9,1);ch(10,1);ch(11,1);ch(12,0);break;
}}
void ch(int pin, int logic){digitalWrite(pin,logic);}
Меняйте на любые пины значения define
#include <MsTimer2.h>
#include <Wire.h>
#include <DS3231.h>
// Определения для пинов анодов
#define ANODE_A0 9
#define ANODE_A1 10
#define ANODE_A2 11
#define ANODE_A3 12
// Определения для пинов сегментов
#define SEGMENT_A 2
#define SEGMENT_B 3
#define SEGMENT_C 4
#define SEGMENT_D 5
#define SEGMENT_E 6
#define SEGMENT_F 7
#define SEGMENT_G 8
DS3231 clock;
RTCDateTime DateTime;
int an, segm, times, i;
byte a[4];
void setup() {
Wire.begin();
clock.begin();
MsTimer2::set(4, to_Timer);
MsTimer2::start();
// clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
clock.setOutput(DS3231_1HZ);
pinMode(ANODE_A0, OUTPUT);
pinMode(ANODE_A1, OUTPUT);
pinMode(ANODE_A2, OUTPUT);
pinMode(ANODE_A3, OUTPUT);
pinMode(SEGMENT_A, OUTPUT);
pinMode(SEGMENT_B, OUTPUT);
pinMode(SEGMENT_C, OUTPUT);
pinMode(SEGMENT_D, OUTPUT);
pinMode(SEGMENT_E, OUTPUT);
pinMode(SEGMENT_F, OUTPUT);
pinMode(SEGMENT_G, OUTPUT);
}
void loop() {
DateTime = clock.getDateTime(); // Опрос времени
times = DateTime.hour * 100 + DateTime.minute;
a[0] = times / 1000;
a[1] = times / 100 % 10;
a[2] = times / 10 % 10;
a[3] = times % 10 % 10;
}
void to_Timer() {
switch (i) {
case 0: segm = a[0]; an = 0; anod(); segment(); break;
case 1: segm = a[1]; an = 1; anod(); segment(); break;
case 2: segm = a[2]; an = 2; anod(); segment(); break;
case 3: segm = a[3]; an = 3; anod(); segment(); break;
}
i++;
if (i > 3) {
i = 0;
}
}
void segment() {
switch (segm) {
case 0: ch(SEGMENT_A, 0); ch(SEGMENT_B, 0); ch(SEGMENT_C, 0); ch(SEGMENT_D, 0); ch(SEGMENT_E, 0); ch(SEGMENT_F, 0); ch(SEGMENT_G, 1); break; // 0
case 1: ch(SEGMENT_A, 1); ch(SEGMENT_B, 0); ch(SEGMENT_C, 0); ch(SEGMENT_D, 1); ch(SEGMENT_E, 1); ch(SEGMENT_F, 1); ch(SEGMENT_G, 1); break; // 1
case 2: ch(SEGMENT_A, 0); ch(SEGMENT_B, 0); ch(SEGMENT_C, 1); ch(SEGMENT_D, 0); ch(SEGMENT_E, 0); ch(SEGMENT_F, 1); ch(SEGMENT_G, 0); break; // 2
case 3: ch(SEGMENT_A, 0); ch(SEGMENT_B, 0); ch(SEGMENT_C, 0); ch(SEGMENT_D, 0); ch(SEGMENT_E, 1); ch(SEGMENT_F, 1); ch(SEGMENT_G, 0); break; // 3
case 4: ch(SEGMENT_A, 1); ch(SEGMENT_B, 0); ch(SEGMENT_C, 0); ch(SEGMENT_D, 1); ch(SEGMENT_E, 1); ch(SEGMENT_F, 0); ch(SEGMENT_G, 0); break; // 4
case 5: ch(SEGMENT_A, 0); ch(SEGMENT_B, 1); ch(SEGMENT_C, 0); ch(SEGMENT_D, 0); ch(SEGMENT_E, 1); ch(SEGMENT_F, 0); ch(SEGMENT_G, 0); break; // 5
case 6: ch(SEGMENT_A, 0); ch(SEGMENT_B, 1); ch(SEGMENT_C, 0); ch(SEGMENT_D, 0); ch(SEGMENT_E, 0); ch(SEGMENT_F, 0); ch(SEGMENT_G, 0); break; // 6
case 7: ch(SEGMENT_A, 0); ch(SEGMENT_B, 0); ch(SEGMENT_C, 0); ch(SEGMENT_D, 1); ch(SEGMENT_E, 1); ch(SEGMENT_F, 1); ch(SEGMENT_G, 1); break; // 7
case 8: ch(SEGMENT_A, 0); ch(SEGMENT_B, 0); ch(SEGMENT_C, 0); ch(SEGMENT_D, 0); ch(SEGMENT_E, 0); ch(SEGMENT_F, 0); ch(SEGMENT_G, 0); break; // 8
case 9: ch(SEGMENT_A, 0); ch(SEGMENT_B, 0); ch(SEGMENT_C, 0); ch(SEGMENT_D, 0); ch(SEGMENT_E, 1); ch(SEGMENT_F, 0); ch(SEGMENT_G, 0); break; // 9
}
}
void anod() {
switch (an) {
case 0: ch(ANODE_A0, 0); ch(ANODE_A1, 1); ch(ANODE_A2, 1); ch(ANODE_A3, 1); break;
case 1: ch(ANODE_A0, 1); ch(ANODE_A1, 0); ch(ANODE_A2, 1); ch(ANODE_A3, 1); break;
case 2: ch(ANODE_A0, 1); ch(ANODE_A1, 1); ch(ANODE_A2, 0); ch(ANODE_A3, 1); break;
case 3: ch(ANODE_A0, 1); ch(ANODE_A1, 1); ch(ANODE_A2, 1); ch(ANODE_A3, 0); break;
}
}
void ch(int pin, int logic) {
digitalWrite(pin, logic);
}
Спасибо за быстрый ответ. Я понял. Можно ли Ваш скетч применить? Я в них не разбираюсь.
Это то же самый скетч что Вы опубликовали, с небольшими изменениями.
forum.rcl-radio.ru → Законченные проекты → Ретро часы на ИВ-6
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|