201

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

Сегмент А например не подключен?

202

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

Ну 11 пин можно,он под кнопку EXIT,

Так было бы проще.

203

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

Через кнопку меню так же можно выйти из режима коррекции времени

204

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

// 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

#define LED_MIN     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;
int brig_g;

int brig = 1500;


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);

  pinMode(LED_MIN, OUTPUT);
}

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();}

  if(temp<0){temp = abs(temp);digitalWrite(LED_MIN,HIGH);}else{digitalWrite(LED_MIN,LOW);}
//  temp=clock.readTemperature();
  hh=hour;mm=minut;ss=secon;dd=data;mes=mon;god=year;

  if(hour<7||hour>=22){brig_g=brig;}else{brig_g=200;}
  
  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(brig_g);
      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(brig_g);
      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(brig_g);
      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(brig_g);
      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(brig_g);
      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; // Расчет температуры и вывод
}

205 (2023-09-03 10:52:01 отредактировано Djonny 2022)

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

liman324 пишет:

В индикаторе под десятки месяцев есть же неиспользуемые выводы

http://forum.rcl-radio.ru/uploads/images/2023/08/f0154662377bf7037e9732ba61f02315.png

Там же надо анод светодиода к ключу
Q4 подключить ,а катод к пину,так же?11 только если освободить под кнопку exit. Выход из настроек кнопкой Menu получается выйти. А так все пины заняты.

206

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

Я скетч подготовил, убрать кнопку EXIT, подключить светодиод - http://forum.rcl-radio.ru/viewtopic.php?pid=8432#p8432

207

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

Djonny 2022 пишет:
liman324 пишет:

Я скетч подготовил, убрать кнопку EXIT, подключить светодиод - http://forum.rcl-radio.ru/viewtopic.php?pid=8432#p8432

анод светодиода к какому ключу подключить?или от пина 11 это анод,а катод через резистор на GND?

208

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

11 вывод анод

209 (2023-09-03 11:14:13 отредактировано Djonny 2022)

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

liman324 пишет:

11 вывод анод

катод на минус через резистор?

210

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

Не имеет значения, можно и анод через резистор а катод GND

211

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

Спасибо.Насчет того проекта часов,я подготовил макет осталось с подключением

212

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

У Вас два индикатора по 4-е разряда. Как делаем динамическую индикацию? 7*2 сегменты + 4 анода или 7 сегментов + 8 анодов?

213 (2023-09-03 12:41:14 отредактировано Djonny 2022)

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

liman324 пишет:

У Вас два индикатора по 4-е разряда. Как делаем динамическую индикацию? 7*2 сегменты + 4 анода или 7 сегментов + 8 анодов?

7 сегментов+8 анодов+точки получается 8 сегментов+8 анодов. Ключи анодные будут n-p-n

214

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

То есть один канал и 8 анодов. Яркость будет немного ниже, но выходов надо меньше.

Я подготовлю схему и в ней укажу пины подключения.

2-й младший разряд больших цифр перевернут - какое будет подключение в этом индикаторе?

http://forum.rcl-radio.ru/uploads/images/2023/09/28806c4f42ecd14c918b58666b86e591.png

215 (2023-09-03 12:55:24 отредактировано Djonny 2022)

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

liman324 пишет:

То есть один канал и 8 анодов. Яркость будет немного ниже, но выходов надо меньше.

Я подготовлю схему и в ней укажу пины подключения.

2-й младший разряд больших цифр перевернут - какое будет подключение в этом индикаторе?

http://forum.rcl-radio.ru/uploads/images/2023/09/28806c4f42ecd14c918b58666b86e591.png

Да так же как и все,физически я распаяю. В дате где будет ещё температуру показывать в 4 разряде тоже поверну цифру. По вашей картинке 1

216

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

ОК. К вечеру постараюсь нарисовать схему

217

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

liman324 пишет:

ОК. К вечеру постараюсь нарисовать схему

Ещё пины для max 7219

218

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

Индикаторы с общим катодом?

219 (2023-09-03 15:36:19 отредактировано Djonny 2022)

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

liman324 пишет:

Индикаторы с общим катодом?


Общий анод

220

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

В дате где будет ещё температуру показывать в 4 разряде тоже поверну цифру

Есть варианты сделать 23*С  или 23.5С без поворота индикатора

221

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

liman324 пишет:

В дате где будет ещё температуру показывать в 4 разряде тоже поверну цифру

Есть варианты сделать 23*С  или 23.5С без поворота индикатора

23*С так и задумано было

222

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

Вот так

http://forum.rcl-radio.ru/uploads/images/2023/09/d9a6e28b979192516ecd5041b2d602d2.png

223

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

liman324 пишет:

Вот так

http://forum.rcl-radio.ru/uploads/images/2023/09/d9a6e28b979192516ecd5041b2d602d2.png

Все верно

224

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

Вот так можно сделать, без поворота индикатора

http://forum.rcl-radio.ru/uploads/images/2023/09/a609e6fa51e20f74ea1c5a7eb686e7ba.png

225

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

liman324 пишет:

Вот так можно сделать, без поворота индикатора

http://forum.rcl-radio.ru/uploads/images/2023/09/a609e6fa51e20f74ea1c5a7eb686e7ba.png

А минус как будет показывать?