<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; Погодная станция + часы + будильник]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=179&amp;type=atom" />
	<updated>2026-01-03T08:10:55Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=179</id>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=12025#p12025" />
			<content type="html"><![CDATA[<p>liman324 Еще раз с наступившем 2026.Спасибо за скетч.Сразу воплотил в железо. Вот результат. Но есть замечания.Хотелось бы как раньше, вместо надписи про будильник, дату в формате ЧИСЛО-МЕСЯЦ-ГОД-ДЕНЬ НЕДЕЛИ. Ниже данные с ВМЕ 280, а после переключения экрана температура из DS18B20.А то сейчас температура из DS18B20 отображается вместе с данными&nbsp; с ВМЕ 280.Да еще кнопки молчат, пробовал перемычками на GND.<span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2026/01/44b5fa3a4835e5360fee2b460fd9a094.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2026/01/44b5fa3a4835e5360fee2b460fd9a094.jpg" /></span> <span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2026/01/97a0affbd641dbf8543a120482a675aa.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2026/01/97a0affbd641dbf8543a120482a675aa.jpg" /></span></p>]]></content>
			<author>
				<name><![CDATA[nickolaus]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=1096</uri>
			</author>
			<updated>2026-01-03T08:10:55Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=12025#p12025</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=12024#p12024" />
			<content type="html"><![CDATA[<p>Примерно так - </p><div class="codebox"><pre><code>#include &lt;Wire.h&gt; 
#include &lt;SPI.h&gt;
#include &lt;LiquidCrystal_I2C.h&gt; //Библиотека -  http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=45&amp;download=1
#include &lt;DS3231.h&gt;//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip // DS3231.zip
#include &lt;Adafruit_Sensor.h&gt;    // https://github.com/adafruit/Adafruit_Sensor.git                      
#include &lt;Adafruit_BME280.h&gt;    // https://github.com/adafruit/Adafruit_BME280_Library.git
#include &lt;OneWire.h&gt; // http://rcl-radio.ru/wp-content/uploads/2018/07/OneWire.zip
#include &lt;DallasTemperature.h&gt; // http://rcl-radio.ru/wp-content/uploads/2018/07/DallasTemperature.zip
#include &lt;EEPROM.h&gt; 

#define IND 5000 // время смены показаний датчиков
      
      LiquidCrystal_I2C lcd(0x27,20,4);  // Устанавливаем дисплей
      DS3231 clock;RTCDateTime DateTime;
      Adafruit_BME280 bme;
      OneWire oneWire(A0);// вход датчика 18b20
      DallasTemperature temp(&amp;oneWire);
          
      byte v1[8] = {7,7,7,7,7,7,7,7};
      byte v2[8] = {7,7,0, 0, 0, 0, 0, 0};      
      byte v3[8] = { 0, 0, 0, 0, 0,0,31,31};
      byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
      byte v5[8] = { 28, 28, 0, 0, 0, 0, 28, 28};//
      byte v6[8] = {28,28,28,28,28,28,28,28};
      byte v7[8] = { 0, 0, 0, 0, 0, 0,7,7};
      byte v8[8] = { 31, 31,0,0,0,0,0, 0};
      int a[6],hour,minut,secon,h_alarm,m_alarm,memory,alarm,yar,mount,date;
      byte i,d1,d2,d3,d4,d5,d6,e1,e2,e3;
      float temp_hous,h,p,k;
      unsigned long times,times1;
      
   void setup(){ 
    Wire.begin();lcd.init();clock.begin();bme.begin();temp.begin();temp.setResolution(10); 
    ///clock.setDateTime(__DATE__, __TIME__);
    lcd.backlight();// Включаем подсветку дисплея
    lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);lcd.createChar(5, v5);lcd.createChar(6, v6);lcd.createChar(7, v7);lcd.createChar(8, v8);
    pinMode(2,INPUT_PULLUP);   // УСТ. ВРЕМЯ
    pinMode(7,INPUT_PULLUP);   // УСТ. ДАТА-МЕСЯЦ-ГОД
    pinMode(3,INPUT_PULLUP);   // ЧАСЫ / ДАТА
    pinMode(4,INPUT_PULLUP);   // МИНУТЫ / МЕСЯЦ
    pinMode(5,INPUT_PULLUP);   // ОБНУЕНИЕ СЕКУНД / ГОД / УСТ. БУДИЛЬНИКА
    pinMode(6,OUTPUT); // ZZZZZZzzzzzz.....
    h_alarm = EEPROM.read(11);m_alarm = EEPROM.read(12);alarm = EEPROM.read(13);
   }
   
   void loop(){
    if(millis()-times&gt;10000){temp_hous = bme.readTemperature();
    h = bme.readHumidity(); 
    p = bme.readPressure()/133.3224;temp.
    
    requestTemperatures(); k = temp.getTempCByIndex(0);times = millis();} // ОПРОС ДАТЧИКОВ КАЖДЫЕ 10 СЕК
    if(digitalRead(2)==LOW||digitalRead(3)==LOW||digitalRead(4)==LOW||digitalRead(5)==LOW||digitalRead(7)==LOW){times1=millis();}
  
    
    DateTime=clock.getDateTime();  
    yar = DateTime.year; mount = DateTime.month;date = DateTime.day;hour = DateTime.hour;minut = DateTime.minute;secon = DateTime.second;
    memory = DateTime.hour * 100 + DateTime.minute;
     a[0]=DateTime.hour/10;
     a[1]=DateTime.hour%10;
     a[2]=DateTime.minute/10;
     a[3]=DateTime.minute%10;
     a[4]=DateTime.second/10;
     a[5]=DateTime.second%10;

  if(digitalRead(2)==LOW&amp;&amp;digitalRead(3)==LOW){hour++;if(hour&gt;23){hour=0;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100);}
  if(digitalRead(2)==LOW&amp;&amp;digitalRead(4)==LOW){minut++;if(minut&gt;59){minut=0;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
  
  if(digitalRead(7)==LOW&amp;&amp;digitalRead(3)==LOW){date++;if(date&gt;31){date=1;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100);}
  if(digitalRead(7)==LOW&amp;&amp;digitalRead(4)==LOW){mount++;if(mount&gt;12){mount=1;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
  if(digitalRead(7)==LOW&amp;&amp;digitalRead(5)==LOW){yar++;if(yar&gt;2050){yar=2015;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
  
  if(digitalRead(2)==LOW&amp;&amp;digitalRead(5)==LOW){secon=0; clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
    
 for(i=0;i&lt;6;i++){
      switch(i){
        case 0: e1=0,e2=1,e3=2;break;
        case 1: e1=3,e2=4,e3=5;break;
        case 2: e1=7,e2=8,e3=9;break;
        case 3: e1=10,e2=11,e3=12;break;
        case 4: e1=14,e2=15,e3=16;break;
        case 5: e1=17,e2=18,e3=19;break;
        }
      switch(a[i]){
        case 0: d1=1,d2=8,d3=6,d4=1,d5=3,d6=6;break;
        case 1: d1=32,d2=2,d3=6,d4=32,d5=32,d6=6;break;
        case 2: d1=2,d2=8,d3=6,d4=1,d5=4,d6=5;break;
        case 3: d1=2,d2=4,d3=6,d4=7,d5=3,d6=6;break;
        case 4: d1=1,d2=3,d3=6,d4=32,d5=32,d6=6;break;
        case 5: d1=1,d2=4,d3=5,d4=7,d5=3,d6=6;break;
        case 6: d1=1,d2=4,d3=5,d4=1,d5=3,d6=6;break;
        case 7: d1=1,d2=8,d3=6,d4=32,d5=32,d6=6;break;
        case 8: d1=1,d2=4,d3=6,d4=1,d5=3,d6=6;break;
        case 9: d1=1,d2=4,d3=6,d4=7,d5=3,d6=6;break;
    }
     
      lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
      lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);
   
 }
   lcd.setCursor(6,0);lcd.print(&quot;.&quot;);lcd.setCursor(13,0);lcd.print(&quot;.&quot;);lcd.setCursor(6,1);lcd.print(&quot;.&quot;);lcd.setCursor(13,1);lcd.print(&quot;.&quot;);
   
   if(digitalRead(2)==LOW){lcd.setCursor(0,2);lcd.print(&quot; TIME SET  HH:MM:SS &quot;);}
   else if(digitalRead(7)==LOW){lcd.setCursor(0,2);lcd.print(&quot; TIME SET  DD-MM-YY &quot;);}
   else if(digitalRead(2)==HIGH&amp;&amp;digitalRead(7)==HIGH&amp;&amp;digitalRead(5)==LOW){
    if(digitalRead(3)==LOW){h_alarm++; if(h_alarm&gt;23){h_alarm=0;}delay(100);EEPROM.update(11, h_alarm);}
    if(digitalRead(4)==LOW){m_alarm++; if(m_alarm&gt;59){m_alarm=0;}delay(100);EEPROM.update(12, m_alarm);}
    lcd.setCursor(0,2);lcd.print(&quot;ALARM CLOCK--&quot;);lcd.print(h_alarm/10);lcd.print(h_alarm%10);lcd.print(&quot;:&quot;);lcd.print(m_alarm/10);lcd.print(m_alarm%10);}
   
   else{lcd.setCursor(0,2);
   if(alarm==0){lcd.print(&quot;------ALARM OFF-----&quot;);}
   if(alarm==1){lcd.print(&quot;------ALARM ON------&quot;);}
   }

//////////// ZZZZZZZZZzzzzzzzz...... ///////////////////////
   if(digitalRead(3)==LOW&amp;&amp;digitalRead(2)==HIGH&amp;&amp;digitalRead(5)==HIGH&amp;&amp;digitalRead(7)==HIGH){alarm=1;delay(300);EEPROM.update(13, alarm);}
   if(digitalRead(4)==LOW&amp;&amp;digitalRead(2)==HIGH&amp;&amp;digitalRead(5)==HIGH&amp;&amp;digitalRead(7)==HIGH){alarm=0;delay(300);EEPROM.update(13, alarm);}
   if(h_alarm*100+m_alarm==memory&amp;&amp;alarm==1){tone(6,1500,150);}
    
   
   
   if(millis()-times1&lt;IND){
   lcd.setCursor(1,3);lcd.print(DateTime.day/10);lcd.print(DateTime.day%10);lcd.print(&quot;-&quot;);
   lcd.print(DateTime.month/10);lcd.print(DateTime.month%10);lcd.print(&quot;-&quot;);lcd.print(DateTime.year);
   lcd.print(&quot;  &quot;);lcd.print(temp_hous,1);lcd.print((char)223);lcd.print(&quot;C &quot;);}
   
   if(millis()-times1&gt;IND){
   lcd.setCursor(1,3);lcd.print(h,1);lcd.print(&quot;% &quot;); lcd.print(p,1);lcd.print(&quot; &quot;);lcd.print(k,1);lcd.print((char)223);lcd.print(&quot;C &quot;);
   }
   if(millis()-times1&gt;IND*2){times1=millis();}
   
   }
   </code></pre></div><p>в железе не проверял</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2026-01-02T17:14:52Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=12024#p12024</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=12010#p12010" />
			<content type="html"><![CDATA[<p>liman324 С наступившем 2026 годом. Наткнулся на ваши часы.Понравились задумал повторить, благо до 12.01.26 время полно. Но что нужно изменить в скетче, чтобы остались только DS18B20 и BME280 вместо BMP280</p>]]></content>
			<author>
				<name><![CDATA[nickolaus]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=1096</uri>
			</author>
			<updated>2026-01-02T06:04:57Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=12010#p12010</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=10993#p10993" />
			<content type="html"><![CDATA[<p><a href="https://github.com/adafruit/Adafruit_Sensor.git">https://github.com/adafruit/Adafruit_Sensor.git</a></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-11-10T12:55:02Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=10993#p10993</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=10992#p10992" />
			<content type="html"><![CDATA[<p>как установить ?</p>]]></content>
			<author>
				<name><![CDATA[shuhrat.ps]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=1841</uri>
			</author>
			<updated>2024-11-10T12:34:49Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=10992#p10992</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=10991#p10991" />
			<content type="html"><![CDATA[<p>Не установлена библиотека dafruit_Sensor.h</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2024-11-10T08:45:11Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=10991#p10991</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=10990#p10990" />
			<content type="html"><![CDATA[<p>In file included from C:\Users\sh_ps\AppData\Local\Temp\.arduinoIDE-unsaved20241010-18140-ezeys9.rj4v6\sketch_nov10a\sketch_nov10a.ino:6:0:<br />c:\Users\sh_ps\OneDrive\���������\Arduino\libraries\Adafruit_BMP280/Adafruit_BMP280.h:25:10: fatal error: Adafruit_Sensor.h: No such file or directory<br /> #include &lt;Adafruit_Sensor.h&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ^~~~~~~~~~~~~~~~~~~<br />compilation terminated.<br />grpc: error while marshaling: string field contains invalid UTF-8</p><p>Compilation error: grpc: error while marshaling: string field contains invalid UTF-8</p>]]></content>
			<author>
				<name><![CDATA[shuhrat.ps]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=1841</uri>
			</author>
			<updated>2024-11-10T08:31:12Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=10990#p10990</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4342#p4342" />
			<content type="html"><![CDATA[<p>Здравствуйте.Как прописать вывод дня дня недели ?</p>]]></content>
			<author>
				<name><![CDATA[diabarst]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=960</uri>
			</author>
			<updated>2021-07-11T15:03:31Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4342#p4342</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2751#p2751" />
			<content type="html"><![CDATA[<p>по питанию&nbsp; стоят емкости раньше без кнопок просто прошитый такова не было <br /> пока кнопки не поставил&nbsp; кнопки подтянул к 5 вольтам на всякий случий</p>]]></content>
			<author>
				<name><![CDATA[graf2017.graf2017]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=949</uri>
			</author>
			<updated>2020-12-30T04:55:51Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2751#p2751</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2704#p2704" />
			<content type="html"><![CDATA[<p>Скорее всего происходит зависание контроллера, проверьте провода sda scl, они должны быть минимально возможной длины. Возможно помехи по питанию, рекомендуется по питанию к каждому уст-ву ставить конденсаторы 0,1 мкФ.</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-12-24T04:37:18Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2704#p2704</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2703#p2703" />
			<content type="html"><![CDATA[<p>вопрос как убрать косяк&nbsp; &nbsp;после установки всего&nbsp; время&nbsp; все работает а через некоторое время переключается на установку времени и все и не выходит с него</p>]]></content>
			<author>
				<name><![CDATA[graf2017.graf2017]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=949</uri>
			</author>
			<updated>2020-12-24T04:28:32Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2703#p2703</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Погодная станция + часы + будильник]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1862#p1862" />
			<content type="html"><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/07/ac62c3c8153f21f9e26b117faa657f27.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/07/ac62c3c8153f21f9e26b117faa657f27.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/07/c14fc968bb9413557e92d33f9e4252ea.gif" alt="http://forum.rcl-radio.ru/uploads/images/2020/07/c14fc968bb9413557e92d33f9e4252ea.gif" /></span> <br /><span class="attention-yellow"></span> </p><br /><div class="codebox"><pre><code>#include &lt;Wire.h&gt; 
#include &lt;SPI.h&gt;
#include &lt;LiquidCrystal_I2C.h&gt; //Библиотека -  http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=45&amp;download=1
#include &lt;DS3231.h&gt;//https://github.com/jarzebski/Arduino-DS3231/archive/master.zip // DS3231.zip
#include &lt;Thinary_AHT10.h&gt; // http://rcl-radio.ru/wp-content/uploads/2020/07/AHT10-master.zip
#include &lt;Adafruit_BMP280.h&gt; // http://rcl-radio.ru/wp-content/uploads/2018/08/Adafruit_BMP280.zip
#include &lt;OneWire.h&gt; // http://rcl-radio.ru/wp-content/uploads/2018/07/OneWire.zip
#include &lt;DallasTemperature.h&gt; // http://rcl-radio.ru/wp-content/uploads/2018/07/DallasTemperature.zip
#include &lt;EEPROM.h&gt; 

#define IND 5000 // время смены показаний датчиков
      
      LiquidCrystal_I2C lcd(0x27,20,4);  // Устанавливаем дисплей
      DS3231 clock;RTCDateTime DateTime;AHT10Class AHT10;
      Adafruit_BMP280 bmp(10);
      OneWire oneWire(A0);// вход датчика 18b20
      DallasTemperature temp(&amp;oneWire);
          
      byte v1[8] = {7,7,7,7,7,7,7,7};
      byte v2[8] = {7,7,0, 0, 0, 0, 0, 0};      
      byte v3[8] = { 0, 0, 0, 0, 0,0,31,31};
      byte v4[8] = {31,31, 0, 0, 0, 0,31,31};
      byte v5[8] = { 28, 28, 0, 0, 0, 0, 28, 28};//
      byte v6[8] = {28,28,28,28,28,28,28,28};
      byte v7[8] = { 0, 0, 0, 0, 0, 0,7,7};
      byte v8[8] = { 31, 31,0,0,0,0,0, 0};
      int a[6],hour,minut,secon,h_alarm,m_alarm,memory,alarm,yar,mount,date;
      byte i,d1,d2,d3,d4,d5,d6,e1,e2,e3;
      float temp_hous,h,p,k;
      unsigned long times,times1;
      
   void setup(){ 
    Wire.begin();AHT10.begin();lcd.init();clock.begin();bmp.begin();temp.begin();temp.setResolution(10); 
    ///clock.setDateTime(__DATE__, __TIME__);
    lcd.backlight();// Включаем подсветку дисплея
    lcd.createChar(1, v1);lcd.createChar(2, v2);lcd.createChar(3, v3);lcd.createChar(4, v4);lcd.createChar(5, v5);lcd.createChar(6, v6);lcd.createChar(7, v7);lcd.createChar(8, v8);
    pinMode(2,INPUT_PULLUP);   // УСТ. ВРЕМЯ
    pinMode(7,INPUT_PULLUP);   // УСТ. ДАТА-МЕСЯЦ-ГОД
    pinMode(3,INPUT_PULLUP);   // ЧАСЫ / ДАТА
    pinMode(4,INPUT_PULLUP);   // МИНУТЫ / МЕСЯЦ
    pinMode(5,INPUT_PULLUP);   // ОБНУЕНИЕ СЕКУНД / ГОД / УСТ. БУДИЛЬНИКА
    pinMode(6,OUTPUT); // ZZZZZZzzzzzz.....
    h_alarm = EEPROM.read(11);m_alarm = EEPROM.read(12);alarm = EEPROM.read(13);
   }
   
   void loop(){
    if(millis()-times&gt;10000){temp_hous = AHT10.GetTemperature();h = AHT10.GetHumidity(); 
    p = bmp.readPressure()/133.3224;temp.requestTemperatures(); k = temp.getTempCByIndex(0);times = millis();} // ОПРОС ДАТЧИКОВ КАЖДЫЕ 10 СЕК
    if(digitalRead(2)==LOW||digitalRead(3)==LOW||digitalRead(4)==LOW||digitalRead(5)==LOW||digitalRead(7)==LOW){times1=millis();}
  
    
    DateTime=clock.getDateTime();  
    yar = DateTime.year; mount = DateTime.month;date = DateTime.day;hour = DateTime.hour;minut = DateTime.minute;secon = DateTime.second;
    memory = DateTime.hour * 100 + DateTime.minute;
     a[0]=DateTime.hour/10;
     a[1]=DateTime.hour%10;
     a[2]=DateTime.minute/10;
     a[3]=DateTime.minute%10;
     a[4]=DateTime.second/10;
     a[5]=DateTime.second%10;

  if(digitalRead(2)==LOW&amp;&amp;digitalRead(3)==LOW){hour++;if(hour&gt;23){hour=0;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100);}
  if(digitalRead(2)==LOW&amp;&amp;digitalRead(4)==LOW){minut++;if(minut&gt;59){minut=0;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
  
  if(digitalRead(7)==LOW&amp;&amp;digitalRead(3)==LOW){date++;if(date&gt;31){date=1;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100);}
  if(digitalRead(7)==LOW&amp;&amp;digitalRead(4)==LOW){mount++;if(mount&gt;12){mount=1;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
  if(digitalRead(7)==LOW&amp;&amp;digitalRead(5)==LOW){yar++;if(yar&gt;2050){yar=2015;} clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
  
  if(digitalRead(2)==LOW&amp;&amp;digitalRead(5)==LOW){secon=0; clock.setDateTime(yar, mount, date, hour, minut, secon);delay(100); }
    
 for(i=0;i&lt;6;i++){
      switch(i){
        case 0: e1=0,e2=1,e3=2;break;
        case 1: e1=3,e2=4,e3=5;break;
        case 2: e1=7,e2=8,e3=9;break;
        case 3: e1=10,e2=11,e3=12;break;
        case 4: e1=14,e2=15,e3=16;break;
        case 5: e1=17,e2=18,e3=19;break;
        }
      switch(a[i]){
        case 0: d1=1,d2=8,d3=6,d4=1,d5=3,d6=6;break;
        case 1: d1=32,d2=2,d3=6,d4=32,d5=32,d6=6;break;
        case 2: d1=2,d2=8,d3=6,d4=1,d5=4,d6=5;break;
        case 3: d1=2,d2=4,d3=6,d4=7,d5=3,d6=6;break;
        case 4: d1=1,d2=3,d3=6,d4=32,d5=32,d6=6;break;
        case 5: d1=1,d2=4,d3=5,d4=7,d5=3,d6=6;break;
        case 6: d1=1,d2=4,d3=5,d4=1,d5=3,d6=6;break;
        case 7: d1=1,d2=8,d3=6,d4=32,d5=32,d6=6;break;
        case 8: d1=1,d2=4,d3=6,d4=1,d5=3,d6=6;break;
        case 9: d1=1,d2=4,d3=6,d4=7,d5=3,d6=6;break;
    }
     
      lcd.setCursor(e1,0);lcd.write((uint8_t)d1);lcd.setCursor(e2,0);lcd.write((uint8_t)d2);lcd.setCursor(e3,0);lcd.write((uint8_t)d3);
      lcd.setCursor(e1,1);lcd.write((uint8_t)d4);lcd.setCursor(e2,1);lcd.write((uint8_t)d5);lcd.setCursor(e3,1);lcd.write((uint8_t)d6);
   
 }
   lcd.setCursor(6,0);lcd.print(&quot;.&quot;);lcd.setCursor(13,0);lcd.print(&quot;.&quot;);lcd.setCursor(6,1);lcd.print(&quot;.&quot;);lcd.setCursor(13,1);lcd.print(&quot;.&quot;);
   
   if(digitalRead(2)==LOW){lcd.setCursor(0,2);lcd.print(&quot; TIME SET  HH:MM:SS &quot;);}
   else if(digitalRead(7)==LOW){lcd.setCursor(0,2);lcd.print(&quot; TIME SET  DD-MM-YY &quot;);}
   else if(digitalRead(2)==HIGH&amp;&amp;digitalRead(7)==HIGH&amp;&amp;digitalRead(5)==LOW){
    if(digitalRead(3)==LOW){h_alarm++; if(h_alarm&gt;23){h_alarm=0;}delay(100);EEPROM.update(11, h_alarm);}
    if(digitalRead(4)==LOW){m_alarm++; if(m_alarm&gt;59){m_alarm=0;}delay(100);EEPROM.update(12, m_alarm);}
    lcd.setCursor(0,2);lcd.print(&quot;ALARM CLOCK--&quot;);lcd.print(h_alarm/10);lcd.print(h_alarm%10);lcd.print(&quot;:&quot;);lcd.print(m_alarm/10);lcd.print(m_alarm%10);}
   
   else{lcd.setCursor(0,2);
   if(alarm==0){lcd.print(&quot;------ALARM OFF-----&quot;);}
   if(alarm==1){lcd.print(&quot;------ALARM ON------&quot;);}
   }

//////////// ZZZZZZZZZzzzzzzzz...... ///////////////////////
   if(digitalRead(3)==LOW&amp;&amp;digitalRead(2)==HIGH&amp;&amp;digitalRead(5)==HIGH&amp;&amp;digitalRead(7)==HIGH){alarm=1;delay(300);EEPROM.update(13, alarm);}
   if(digitalRead(4)==LOW&amp;&amp;digitalRead(2)==HIGH&amp;&amp;digitalRead(5)==HIGH&amp;&amp;digitalRead(7)==HIGH){alarm=0;delay(300);EEPROM.update(13, alarm);}
   if(h_alarm*100+m_alarm==memory&amp;&amp;alarm==1){tone(6,1500,150);}
    
   
   
   if(millis()-times1&lt;IND){
   lcd.setCursor(1,3);lcd.print(DateTime.day/10);lcd.print(DateTime.day%10);lcd.print(&quot;-&quot;);
   lcd.print(DateTime.month/10);lcd.print(DateTime.month%10);lcd.print(&quot;-&quot;);lcd.print(DateTime.year);
   lcd.print(&quot;  &quot;);lcd.print(temp_hous,1);lcd.print((char)223);lcd.print(&quot;C &quot;);}
   
   if(millis()-times1&gt;IND){
   lcd.setCursor(1,3);lcd.print(h,1);lcd.print(&quot;% &quot;); lcd.print(p,1);lcd.print(&quot; &quot;);lcd.print(k,1);lcd.print((char)223);lcd.print(&quot;C &quot;);
   }
   if(millis()-times1&gt;IND*2){times1=millis();}
   
   }
   </code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-07-14T08:40:01Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1862#p1862</id>
		</entry>
</feed>
