151 (2023-08-27 13:09:29 отредактировано Djonny 2022)

Re: Часы с календарем

liman324 пишет:

Измерение 1 раз в 10 секунд, что бы исключить саморазогрев датчика

Вход 23 пин

// 19 === SCL
// 20 === SDA

//// Катоды 1 группа
#define SEG_A1       28 // 33 
#define SEG_B1       29 // 32 
#define SEG_C1       30 // 31
#define SEG_D1       31 // 30
#define SEG_E1       23 // 26
#define SEG_F1       22 // 25
#define SEG_G1       21 // 24 
//// Катоды 2 группа
#define SEG_A2       11 // 13 
#define SEG_B2       12 // 14 
#define SEG_C2       13 // 15
#define SEG_D2       14 // 16
#define SEG_E2       15 // 17
#define SEG_F2       18 // 21
#define SEG_G2       19 // 22 
//// Катоды 3 группа
#define SEG_A3        1 // 44
#define SEG_B3        2 // 43 
#define SEG_C3        3 // 42
#define SEG_D3        4 // 41
#define SEG_E3        5 // 1
#define SEG_F3        6 // 2
#define SEG_G3        7 // 3 
//// Аноды
#define AN_1        27 // 34
#define AN_2        26 // 35
#define AN_3        25 // 36
#define AN_4        24 // 37
#define AN_5        0  // 40

#define MENU         8 // 9
#define UP           9 // 10
#define EXIT        10 // 11

#include <Wire.h>
#include <DS3231.h>             // http://rcl-radio.ru/wp-content/uploads/2022/10/DS3231.zip
#include <OneWire.h>            // http://rcl-radio.ru/wp-content/uploads/2018/07/OneWire.zip
DS3231 clock;RTCDateTime DateTime;
OneWire  ds(20); // Вход датчика 18b20  (PC4 23 пин контр)

long oldPosition  = -999, newPosition, times,times1;
int an, segm1, segm2, segm3, i, set;
byte d1, d0, h1, h0, m1, m0, s1, s0, t1, t0, ms1, ms0, g0, g1, dn;
int hour,minut,secon,data,mon,year,den,temp;
int hh, mm , ss , dd , mes, god;


void setup() {
  Wire.begin();
  clock.begin();
 // clock.setDateTime(2023, 8, 26, 20, 40, 0);
  cli();
  TCCR1A = 0;
  TCCR1B = 0;
  TCNT1 = 0;
// (8000000/((300+1)x64))=415.28239202658 Hz
  OCR1A = 300;
  TCCR1B |= (1 << WGM12);
// Prescaler 64
  TCCR1B |= (1 << CS11) | (1 << CS10);
  TIMSK |= (1 << OCIE1A);
  sei();
  pinMode(SEG_A1, OUTPUT);
  pinMode(SEG_B1, OUTPUT);
  pinMode(SEG_C1, OUTPUT);
  pinMode(SEG_D1, OUTPUT);
  pinMode(SEG_E1, OUTPUT);
  pinMode(SEG_F1, OUTPUT);
  pinMode(SEG_G1, OUTPUT);
  pinMode(AN_1, OUTPUT);
  pinMode(AN_2, OUTPUT);
  pinMode(AN_3, OUTPUT);
  pinMode(AN_4, OUTPUT);
  pinMode(AN_5, OUTPUT);
  pinMode(SEG_A2, OUTPUT);
  pinMode(SEG_B2, OUTPUT);
  pinMode(SEG_C2, OUTPUT);
  pinMode(SEG_D2, OUTPUT);
  pinMode(SEG_E2, OUTPUT);
  pinMode(SEG_F2, OUTPUT);
  pinMode(SEG_G2, OUTPUT);

  pinMode(SEG_A3, OUTPUT);
  pinMode(SEG_B3, OUTPUT);
  pinMode(SEG_C3, OUTPUT);
  pinMode(SEG_D3, OUTPUT);
  pinMode(SEG_E3, OUTPUT);
  pinMode(SEG_F3, OUTPUT);
  pinMode(SEG_G3, OUTPUT);

  pinMode (MENU,INPUT_PULLUP);
  pinMode (UP,INPUT_PULLUP);
  pinMode (EXIT,INPUT_PULLUP);
}

void loop() {
  DateTime = clock.getDateTime();hour = DateTime.hour;minut = DateTime.minute;secon = DateTime.second;
  data = DateTime.day;mon = DateTime.month;year = DateTime.year;
  den=DateTime.dayOfWeek;
  if(millis()-times1>10){temp=dsRead(0);times1=millis();}
//  temp=clock.readTemperature();
  hh=hour;mm=minut;ss=secon;dd=data;mes=mon;god=year;

  if(digitalRead(MENU)==LOW){set++;if(set>6){set=0;}delay(200);}
  if(digitalRead(EXIT)==LOW){set=0;delay(200);}
   if(set==1 && digitalRead(UP)==LOW){hh++;if(hh>23){hh=0;}clock.setDateTime(year, mon, data, hh, minut, secon);delay(200);}
   if(set==2 && digitalRead(UP)==LOW){mm++;if(mm>59){mm=0;}clock.setDateTime(year, mon, data, hour, mm, secon);delay(200);}
   if(set==3 && digitalRead(UP)==LOW){ss=0; clock.setDateTime(year, mon, data, hour, minut, ss);delay(200);}
   if(set==4 && digitalRead(UP)==LOW){dd++;if(dd>31){dd=1;}clock.setDateTime(year, mon, dd, hour, minut, secon);delay(200);}
   if(set==5 && digitalRead(UP)==LOW){mes++;if(mes>12){mes=1;}clock.setDateTime(year, mes, data, hour, minut, secon);delay(200);}
   if(set==6 && digitalRead(UP)==LOW){god++;if(god>2099){god=2023;}clock.setDateTime(god, mon, data, hour, minut, secon);delay(200);}

 if(set==1&&millis()-times<200){h1=10;h0=10;}  
  else{  if(hour/10%10==0){h1=10;}else{h1 = hour/10%10;}h0 = hour%10; }
 if(set==2&&millis()-times<200){m1=10;m0=10;}  
  else{  m1 = minut/10%10; m0 = minut%10; }
 if(set==3&&millis()-times<200){s1=10;s0=10;} 
  else{ s1 = secon/10%10;s0 = secon%10; }

 if(set==4&&millis()-times<200){d1=10;d0=10;}   
  else{  if(data/10%10==0){d1=10;}else{d1 = data/10%10;}d0 = data%10; }
 if(set==5&&millis()-times<200){ms1=10;ms0=10;}  
  else{ if(mon/10%10==0){ms1=10;}else{ms1 = mon/10%10;}ms0 = mon%10;  }

 if(set==6&&millis()-times<200){g1=10;g0=10;}  
  else{ g1 = (year-2000)/10%10; g0 = (year-2000)%10; }

  dn = den+10; 
  // ds > 1пн 2вт 3ср 4чт 5пт 6сб 7вс 
  // jh > 1вс 2пн 3вт 4ср 5чт 6ст 7сб
  
  t1 = temp/10%10;
  t0 = temp%10;

 if(millis()-times>400){times=millis();}
  delay(100);
}

ISR(TIMER1_COMPA_vect){
  switch (i) {
    // Q1
    case 0: segm1 = 10; segm2 = 10; segm3 = 10; segment_1(); segment_2(); segment_3(); an = 5; anod(); delayMicroseconds(200);
      segm2 = m0; segm1 = d0; segm3 = g1;  segment_1(); segment_2(); segment_3();an = 0; anod();break;
    // Q2
    case 1: segm1 = 10; segm2 = 10; segm3 = 10; segment_1(); segment_2(); segment_3(); an = 5; anod(); delayMicroseconds(200);
      segm2 = s1; segm1 = dn; segm3 = g0;segment_1(); segment_2(); segment_3();an = 1; anod();break;
    // Q3
    case 2: segm1 = 10; segm2 = 10; segm3 = 10; segment_1(); segment_2(); segment_3(); an = 5; anod(); delayMicroseconds(200);
      segm1 = h1; segm2 = s0; segm3 = ms1;segment_1(); segment_2(); segment_3();an = 2; anod();break;
    // Q4
    case 3: segm1 = 10; segm2 = 10; segm3 = 10; segment_1(); segment_2(); segment_3(); an = 5; anod(); delayMicroseconds(200);
      segm1 = h0; segm2 = t1; segm3 = ms0;  segment_1(); segment_2(); segment_3();an = 3; anod();break;
    // Q5
    case 4: segm1 = 10; segm2 = 10; segm3 = 10; segment_1(); segment_2(); segment_3(); an = 5; anod(); delayMicroseconds(200);
      segm1 = m1; segm2 = t0; segm3 = d1; segment_1(); segment_2(); segment_3();an = 4; anod();break;
  }
  i++;if (i > 4) {i = 0;}
}


void segment_1() {
  switch (segm1) {
    //  A          B           C            D          E          F         G
    case 0: ch(SEG_A1, 0); ch(SEG_B1, 0); ch(SEG_C1, 0); ch(SEG_D1, 0); ch(SEG_E1, 0); ch(SEG_F1, 0); ch(SEG_G1, 1); break; // 0
    case 1: ch(SEG_A1, 1); ch(SEG_B1, 0); ch(SEG_C1, 0); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // 1
    case 2: ch(SEG_A1, 0); ch(SEG_B1, 0); ch(SEG_C1, 1); ch(SEG_D1, 0); ch(SEG_E1, 0); ch(SEG_F1, 1); ch(SEG_G1, 0); break; // 2
    case 3: ch(SEG_A1, 0); ch(SEG_B1, 0); ch(SEG_C1, 0); ch(SEG_D1, 0); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 0); break; // 3
    case 4: ch(SEG_A1, 1); ch(SEG_B1, 0); ch(SEG_C1, 0); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 0); ch(SEG_G1, 0); break; // 4
    case 5: ch(SEG_A1, 0); ch(SEG_B1, 1); ch(SEG_C1, 0); ch(SEG_D1, 0); ch(SEG_E1, 1); ch(SEG_F1, 0); ch(SEG_G1, 0); break; // 5
    case 6: ch(SEG_A1, 0); ch(SEG_B1, 1); ch(SEG_C1, 0); ch(SEG_D1, 0); ch(SEG_E1, 0); ch(SEG_F1, 0); ch(SEG_G1, 0); break; // 6
    case 7: ch(SEG_A1, 0); ch(SEG_B1, 0); ch(SEG_C1, 0); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // 7
    case 8: ch(SEG_A1, 0); ch(SEG_B1, 0); ch(SEG_C1, 0); ch(SEG_D1, 0); ch(SEG_E1, 0); ch(SEG_F1, 0); ch(SEG_G1, 0); break; // 8
    case 9: ch(SEG_A1, 0); ch(SEG_B1, 0); ch(SEG_C1, 0); ch(SEG_D1, 0); ch(SEG_E1, 1); ch(SEG_F1, 0); ch(SEG_G1, 0); break; // 9
    case 10: ch(SEG_A1, 1); ch(SEG_B1, 1); ch(SEG_C1, 1); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // пусто
    
    case 17: ch(SEG_A1, 0); ch(SEG_B1, 1); ch(SEG_C1, 1); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // ВС
    case 11: ch(SEG_A1, 1); ch(SEG_B1, 0); ch(SEG_C1, 1); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // ПН
    case 12: ch(SEG_A1, 1); ch(SEG_B1, 1); ch(SEG_C1, 0); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // ВТ
    case 13: ch(SEG_A1, 1); ch(SEG_B1, 1); ch(SEG_C1, 1); ch(SEG_D1, 0); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // СР 
    case 14: ch(SEG_A1, 1); ch(SEG_B1, 1); ch(SEG_C1, 1); ch(SEG_D1, 1); ch(SEG_E1, 0); ch(SEG_F1, 1); ch(SEG_G1, 1); break; // ЧТ
    case 15: ch(SEG_A1, 1); ch(SEG_B1, 1); ch(SEG_C1, 1); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 0); ch(SEG_G1, 1); break; // ПТ
    case 16: ch(SEG_A1, 1); ch(SEG_B1, 1); ch(SEG_C1, 1); ch(SEG_D1, 1); ch(SEG_E1, 1); ch(SEG_F1, 1); ch(SEG_G1, 0); break; // СБ
  }
}
void segment_2() {
  switch (segm2) {
    //  A          B           C            D          E          F         G
    case 0: ch(SEG_A2, 0); ch(SEG_B2, 0); ch(SEG_C2, 0); ch(SEG_D2, 0); ch(SEG_E2, 0); ch(SEG_F2, 0); ch(SEG_G2, 1); break; // 0
    case 1: ch(SEG_A2, 1); ch(SEG_B2, 0); ch(SEG_C2, 0); ch(SEG_D2, 1); ch(SEG_E2, 1); ch(SEG_F2, 1); ch(SEG_G2, 1); break; // 1
    case 2: ch(SEG_A2, 0); ch(SEG_B2, 0); ch(SEG_C2, 1); ch(SEG_D2, 0); ch(SEG_E2, 0); ch(SEG_F2, 1); ch(SEG_G2, 0); break; // 2
    case 3: ch(SEG_A2, 0); ch(SEG_B2, 0); ch(SEG_C2, 0); ch(SEG_D2, 0); ch(SEG_E2, 1); ch(SEG_F2, 1); ch(SEG_G2, 0); break; // 3
    case 4: ch(SEG_A2, 1); ch(SEG_B2, 0); ch(SEG_C2, 0); ch(SEG_D2, 1); ch(SEG_E2, 1); ch(SEG_F2, 0); ch(SEG_G2, 0); break; // 4
    case 5: ch(SEG_A2, 0); ch(SEG_B2, 1); ch(SEG_C2, 0); ch(SEG_D2, 0); ch(SEG_E2, 1); ch(SEG_F2, 0); ch(SEG_G2, 0); break; // 5
    case 6: ch(SEG_A2, 0); ch(SEG_B2, 1); ch(SEG_C2, 0); ch(SEG_D2, 0); ch(SEG_E2, 0); ch(SEG_F2, 0); ch(SEG_G2, 0); break; // 6
    case 7: ch(SEG_A2, 0); ch(SEG_B2, 0); ch(SEG_C2, 0); ch(SEG_D2, 1); ch(SEG_E2, 1); ch(SEG_F2, 1); ch(SEG_G2, 1); break; // 7
    case 8: ch(SEG_A2, 0); ch(SEG_B2, 0); ch(SEG_C2, 0); ch(SEG_D2, 0); ch(SEG_E2, 0); ch(SEG_F2, 0); ch(SEG_G2, 0); break; // 8
    case 9: ch(SEG_A2, 0); ch(SEG_B2, 0); ch(SEG_C2, 0); ch(SEG_D2, 0); ch(SEG_E2, 1); ch(SEG_F2, 0); ch(SEG_G2, 0); break; // 9
    case 10: ch(SEG_A2, 1); ch(SEG_B2, 1); ch(SEG_C2, 1); ch(SEG_D2, 1); ch(SEG_E2, 1); ch(SEG_F2, 1); ch(SEG_G2, 1); break; // пусто
  }
}
void segment_3() {
  switch (segm3) {
    //  A          B           C            D          E          F         G
    case 0: ch(SEG_A3, 0); ch(SEG_B3, 0); ch(SEG_C3, 0); ch(SEG_D3, 0); ch(SEG_E3, 0); ch(SEG_F3, 0); ch(SEG_G3, 1); break; // 0
    case 1: ch(SEG_A3, 1); ch(SEG_B3, 0); ch(SEG_C3, 0); ch(SEG_D3, 1); ch(SEG_E3, 1); ch(SEG_F3, 1); ch(SEG_G3, 1); break; // 1
    case 2: ch(SEG_A3, 0); ch(SEG_B3, 0); ch(SEG_C3, 1); ch(SEG_D3, 0); ch(SEG_E3, 0); ch(SEG_F3, 1); ch(SEG_G3, 0); break; // 2
    case 3: ch(SEG_A3, 0); ch(SEG_B3, 0); ch(SEG_C3, 0); ch(SEG_D3, 0); ch(SEG_E3, 1); ch(SEG_F3, 1); ch(SEG_G3, 0); break; // 3
    case 4: ch(SEG_A3, 1); ch(SEG_B3, 0); ch(SEG_C3, 0); ch(SEG_D3, 1); ch(SEG_E3, 1); ch(SEG_F3, 0); ch(SEG_G3, 0); break; // 4
    case 5: ch(SEG_A3, 0); ch(SEG_B3, 1); ch(SEG_C3, 0); ch(SEG_D3, 0); ch(SEG_E3, 1); ch(SEG_F3, 0); ch(SEG_G3, 0); break; // 5
    case 6: ch(SEG_A3, 0); ch(SEG_B3, 1); ch(SEG_C3, 0); ch(SEG_D3, 0); ch(SEG_E3, 0); ch(SEG_F3, 0); ch(SEG_G3, 0); break; // 6
    case 7: ch(SEG_A3, 0); ch(SEG_B3, 0); ch(SEG_C3, 0); ch(SEG_D3, 1); ch(SEG_E3, 1); ch(SEG_F3, 1); ch(SEG_G3, 1); break; // 7
    case 8: ch(SEG_A3, 0); ch(SEG_B3, 0); ch(SEG_C3, 0); ch(SEG_D3, 0); ch(SEG_E3, 0); ch(SEG_F3, 0); ch(SEG_G3, 0); break; // 8
    case 9: ch(SEG_A3, 0); ch(SEG_B3, 0); ch(SEG_C3, 0); ch(SEG_D3, 0); ch(SEG_E3, 1); ch(SEG_F3, 0); ch(SEG_G3, 0); break; // 9
    case 10: ch(SEG_A3, 1); ch(SEG_B3, 1); ch(SEG_C3, 1); ch(SEG_D3, 1); ch(SEG_E3, 1); ch(SEG_F3, 1); ch(SEG_G3, 1); break; // пусто
  }
}

void anod() {
  switch (an) {
    case 0: ch(AN_1, 0); ch(AN_2, 1); ch(AN_3, 1); ch(AN_4, 1); ch(AN_5, 1); break;
    case 1: ch(AN_1, 1); ch(AN_2, 0); ch(AN_3, 1); ch(AN_4, 1); ch(AN_5, 1); break;
    case 2: ch(AN_1, 1); ch(AN_2, 1); ch(AN_3, 0); ch(AN_4, 1); ch(AN_5, 1); break;
    case 3: ch(AN_1, 1); ch(AN_2, 1); ch(AN_3, 1); ch(AN_4, 0); ch(AN_5, 1); break;
    case 4: ch(AN_1, 1); ch(AN_2, 1); ch(AN_3, 1); ch(AN_4, 1); ch(AN_5, 0); break;
    case 5: ch(AN_1, 1); ch(AN_2, 1); ch(AN_3, 1); ch(AN_4, 1); ch(AN_5, 1); break;
  }
}
void ch(int pin, int logic) {
  digitalWrite(pin, logic);
}

float dsRead(byte x) {
  byte data[2], addr[8][8], kol = 0;
  while (ds.search(addr[kol])) {  // поиск датчиков, определение адреса и кол-ва датчиков
    kol++;
  } 
  ds.reset_search();  // Сброс поиска датчика
  ds.reset();         // Инициализация, выполняется сброс шины
  ds.select(addr[x]); // Обращение к датчику по адресу
  ds.write(0x44, 0);  // Измерение температуры с переносом данных в память
  ds.reset();         // Инициализация, выполняется сброс шины
  ds.select(addr[x]); // Обращение к датчику по адресу
  ds.write(0xBE);     // Обращение памяти
  data[0] = ds.read();// Чтение памяти byte low
  data[1] = ds.read();// Чтение памяти byte high
  float value = ((data[1] << 8) | data[0]) / 16.0; return (float)value; // Расчет температуры и вывод
}

Проверил скетч все в порядке)) Чё должен буду?

152

Re: Часы с календарем

http://forum.rcl-radio.ru/uploads/images/2023/08/40e2696d17c76a45af74fad8e455eba2.jpg
На такие часы возможно написать прошивку?

153

Re: Часы с календарем

На такие часы возможно написать прошивку?

Надо смотреть что по железу.

Они тоже не работают?

154 (2023-08-27 18:39:33 отредактировано Djonny 2022)

Re: Часы с календарем

liman324 пишет:

На такие часы возможно написать прошивку?

Надо смотреть что по железу.

Они тоже не работают?

Да не,похожие по функционалу. Циферки большие с ОА и матрица на MAX7219 4-6 шт

155

Re: Часы с календарем

Я на MAX7219 что то вроде делал. Если нет бегущего текста, то должно быть не сложно

156 (2023-08-27 19:04:07 отредактировано Djonny 2022)

Re: Часы с календарем

liman324 пишет:

Я на MAX7219 что то вроде делал. Если нет бегущего текста, то должно быть не сложно

http://forum.rcl-radio.ru/uploads/images/2023/08/b66e8c66df1d51448bc04382d414b76f.gif
Только вместо даты вывод температуры или чередовать дата-температура. Цифрами можно же той же max7219 управлять?как раз 8 цифр

157

Re: Часы с календарем

Надо плату смотреть, что да как там.

158 (2023-08-27 19:25:01 отредактировано Djonny 2022)

Re: Часы с календарем

liman324 пишет:

Надо плату смотреть, что да как там.

Я на макетке смогу все это собрать для теста если что.
http://forum.rcl-radio.ru/uploads/images/2023/08/c925ff6a3b95ba0a39d62bd351f7ff71.jpg
Вот такая задумка в часы механические встроить

159

Re: Часы с календарем

Попробовать можно.
Я так понял Вы просто хотите собрать похожие часы?

160

Re: Часы с календарем

Да это реально

161

Re: Часы с календарем

liman324 пишет:

Да это реально

Большие 1,8 дюйма,ниже 1,0 дюйма и матрицы  32 мм

162

Re: Часы с календарем

8 индикаторов одновременно в динамическом режиме вполне реально запустить, но можно сделать в две лини 4*2. Для матрицы вроде как надо всего три провода.
Но в ардуино нано нет столько выводов, надо Atmega16 или аналогичный контроллер

163

Re: Часы с календарем

liman324 пишет:

8 индикаторов одновременно в динамическом режиме вполне реально запустить, но можно сделать в две лини 4*2. Для матрицы вроде как надо всего три провода.
Но в ардуино нано нет столько выводов, надо Atmega16 или аналогичный контроллер

Есть в наличии мега 16

164

Re: Часы с календарем

хорошо, собирайте

Индикаторы в две линии будут гореть ярче, но проводов больше. Сами смотрите.

165

Re: Часы с календарем

liman324 пишет:

хорошо, собирайте

Индикаторы в две линии будут гореть ярче, но проводов больше. Сами смотрите.

Как соберу макет напишу

166 (2023-08-27 19:57:46 отредактировано Djonny 2022)

Re: Часы с календарем

liman324 пишет:

хорошо, собирайте

Индикаторы в две линии будут гореть ярче, но проводов больше. Сами смотрите.

Как соберу макет напишу
http://forum.rcl-radio.ru/uploads/images/2023/08/b6b3bb516b8ce8b89c9f0ef605c2ab5f.jpg  двоеточие надо будет чтобы мигали,3 разряд разверну верх ногам. В нижнем ряду 4 разряд тоже повернуть точкой вверх температуру Цельсию чтоб показывало °С. В нижнем ряду возможно выводить поочередно дата-температура?

167

Re: Часы с календарем

нижнем ряду возможно выводить поочередно дата-температура?

Да, это не сложно

168

Re: Часы с календарем

liman324 пишет:

нижнем ряду возможно выводить поочередно дата-температура?

Да, это не сложно

Ок,тогда начну собирать макет. За те часы с прошивкой сколько должен?

169

Re: Часы с календарем

Я обычно денег не прошу, мне было интересно оживить часы, но если есть желание поддержать меня и сайт, то можете отправить не большую сумму на карту сбербанка. Номер карты указан в низу сайта rcl-radio.ru

170

Re: Часы с календарем

liman324 пишет:

Я обычно денег не прошу, мне было интересно оживить часы, но если есть желание поддержать меня и сайт, то можете отправить не большую сумму на карту сбербанка. Номер карты указан в низу сайта rcl-radio.ru

Ок

171

Re: Часы с календарем

Деньги пришли, большое спасибо за поддержку!!!

172 (2023-08-27 20:31:27 отредактировано Djonny 2022)

Re: Часы с календарем

liman324 пишет:

Деньги пришли, большое спасибо за поддержку!!!

Это вам большое спасибо,выручили с часами. Мне вот мозгов не хватает в прошивках шарить,могу только что то спаять, модернизировать,апгрейдить своего рода Кулыбин)))

173 (2023-08-27 21:32:52 отредактировано Djonny 2022)

Re: Часы с календарем

https://radiokot.ru/circuit/audio/other/51 вот давненько задумка переделать на max7219 если возьмётесь  конечно.

174

Re: Часы с календарем

Надо подумать. Такое управление подойдет только для самых простых аудиопроцессоров. Но попробовать можно.

У меня была идея сделать приложение на андроид (по блютуз) для управление аудиопроцессором, в дополнение к кнопкам и энкодеру. Но тема спорная. Не знаю на сколько это было бы удобно.

175 (2023-08-28 21:19:48 отредактировано Djonny 2022)

Re: Часы с календарем

Здравствуйте. Ночной режим можно добавить? С 22:00 до 7:00. Скетчи с сообщения 159 и 164