<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; Большие часы на семисегментных индикаторах BJ18101AH]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=148&amp;type=atom" />
	<updated>2026-02-19T17:08:20Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=148</id>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=12508#p12508" />
			<content type="html"><![CDATA[<p>Используйте более старую версию arduino IDE например 1.8.15</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2026-02-19T17:08:20Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=12508#p12508</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=12504#p12504" />
			<content type="html"><![CDATA[<p><a href="https://github.com/jarzebski/Arduino-DS3231/archive/master.zip">https://github.com/jarzebski/Arduino-DS … master.zip</a></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2026-02-19T16:41:05Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=12504#p12504</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=12503#p12503" />
			<content type="html"><![CDATA[<p>[Несколько библиотек найдено для &quot;DHT.h&quot;<br /> Используется: C:\Users\Аlex4\Documents\Arduino\libraries\DHT-sensor-library-master<br />exit status 1<br />no matching function for call to &#039;DS3231::DS3231()&#039;<br />не могу скомпилировать <br />какая библитека нужна</p>]]></content>
			<author>
				<name><![CDATA[Alex9979]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=4168</uri>
			</author>
			<updated>2026-02-19T16:29:49Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=12503#p12503</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11952#p11952" />
			<content type="html"><![CDATA[<p>все заработало</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-16T12:54:47Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11952#p11952</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11951#p11951" />
			<content type="html"><![CDATA[<p>if(analogRead(A6)&gt;900&amp;&amp;ppp==0){ppp=1;delay(200);}<br /> if(analogRead(A6)&gt;900&amp;&amp;ppp==1){ppp=0;delay(200);}</p><p>Этот код работает правильно, отключает и включает показания датчика, но при нажатии нет индикации о смене режима, пауза всего 200 мс, возможно просто не понятно активен ли датчик или нет. Рекомендую увеличить паузу до 500 мс.</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2025-10-16T12:51:32Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11951#p11951</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11950#p11950" />
			<content type="html"><![CDATA[<p>Спасибо за помощь. . Спасибо за проект . работает как надо</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-16T12:46:57Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11950#p11950</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11948#p11948" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#include &lt;MsTimer2.h&gt;  // http://rcl-radio.ru/wp-content/uploads/ … Timer2.zip
#include &lt;Wire.h&gt;
#include &lt;Adafruit_Sensor.h&gt;  // http://rcl-radio.ru/wp-content/uploads/ … Sensor.zip
#include &lt;Adafruit_BME280.h&gt;  // https://github.com/adafruit/Adafruit_BME280_Library
#include &lt;DS3231.h&gt;  // https://github.com/jarzebski/Arduino-DS … master.zip
DS3231 clock;RTCDateTime DateTime;
Adafruit_BME280 bme; // I2C
  int an, segm,times,i,pd,pd_p,sek,hh,mm,ppp;
  byte a[4],w;
  int hour_br,brig;

void setup(){  Wire.begin();clock.begin();
if (!bme.begin(0x76)) {Serial.println(&quot;Could not find a valid BME280!&quot;); while (1);}
MsTimer2::set(2, to_Timer);MsTimer2::start();
  // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
pinMode(9,OUTPUT);  // D9  === A0
pinMode(10,OUTPUT); // D10 === A1
pinMode(11,OUTPUT); // D11 === A2
pinMode(12,OUTPUT); // D12 === A3
pinMode(13,OUTPUT); // D13 === PD
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
clock.setOutput(DS3231_1HZ);
pinMode(A0,INPUT); // SQW DS3231
pinMode (A2,INPUT_PULLUP); // часы +
pinMode (A3,INPUT_PULLUP); // минуты +
// кнопки коррекци времени - нажатие === замыкание на GND
pinMode(A6,INPUT);// отключение датчиковю моё
}



void loop(){
  DateTime=clock.getDateTime();// опрос времени
  if(analogRead(A6)&gt;900&amp;&amp;ppp==0){ppp=1;delay(200);}
  if(analogRead(A6)&gt;900&amp;&amp;ppp==1){ppp=0;delay(200);}
  hh=DateTime.hour;
  mm=DateTime.minute;
  sek=DateTime.second;
  hour_br = DateTime.hour;

  if(hour_br&gt;=22 || hour_br&lt;=7){brig=1000;}else{brig=1;} // уменьшаем яркость с 22 часов до 7 часов

 if(ppp==0){
  if((sek&gt;=10&amp;&amp;sek&lt;=15)||(sek&gt;=30&amp;&amp;sek&lt;=35)){
    times = bme.readTemperature();
  a[0]=times/10;
  a[1]=times%10;
  a[2]=(times / 10) % 10;
  a[3]=11;
  pd_p=0;} // nen
  else if((sek&gt;=15&amp;&amp;sek&lt;=20)||(sek&gt;=35&amp;&amp;sek&lt;=40)){
    times = bme.readPressure()/133.3224;
  a[0]=13;
  a[1]=times/100;
  a[2]=times/10%10;
  a[3]=times%10;
  pd_p=1;} // nen
  else if((sek&gt;=20&amp;&amp;sek&lt;=25)||(sek&gt;=40&amp;&amp;sek&lt;=45)){
    times = bme.readHumidity();
  a[0]=14;
  a[1]=10;
  a[2]=times/10;
  a[3]=times%10;
  pd_p=1;} // nen
  else{
  times = DateTime.hour*100+DateTime.minute;
  a[0]=times/1000;
  if(a[0]==0){a[0]=10;}
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;
  if(analogRead(A0)&gt;900){pd_p=1;}else{pd_p=0;}
  }
 }
 if(ppp==1){
  times = DateTime.hour*100+DateTime.minute;
  a[0]=times/1000;
  if(a[0]==0){a[0]=10;}
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;
  if(analogRead(A0)&gt;900){pd_p=1;}else{pd_p=0;}
  }
 

  ///////////////////////////////////// коррекция времени - часы и минуты
  if(analogRead(A2)&lt;900){w=1;hh++;if(hh&gt;23){hh=0;}delay(300);}
  if(analogRead(A3)&lt;900){w=1;mm++;if(mm&gt;59){mm=0;}delay(300);}
  if(w==1){w=0;clock.setDateTime(2020, 01, 01, hh, mm, 0);}

}// loop

void to_Timer(){
  switch(i){
    case 0: cl(); segm=a[0]; pd=0; an=0; delayMicroseconds(brig); anod(); segment();break;
    case 1: cl(); segm=a[1]; pd=pd_p; an=1; delayMicroseconds(brig); anod(); segment();break;
    case 2: cl(); segm=a[2]; pd=pd_p; an=2; delayMicroseconds(brig); anod(); segment();break;
    case 3: cl(); segm=a[3]; pd=0; an=3; delayMicroseconds(brig); anod(); segment();break;}i++;
    if(i&gt;3){i=0;}}

void segment(){
  switch(segm){                                                                 
             //  A       B       C       D       E       F       G        PD
   case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);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);ch(13,pd);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);ch(13,pd);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);ch(13,pd);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);ch(13,pd);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);ch(13,pd);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);ch(13,pd);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);ch(13,pd);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);ch(13,pd);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);ch(13,pd);break;//9
     case 10: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,1);break;//пусто
     case 11: ch(2,0);ch(3,0);ch(4,1);ch(5,1);ch(6,1);ch(7,0);ch(8,0);ch(13,1);break;//градус
     case 12: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);break;// C
     case 13: ch(2,0);ch(3,0);ch(4,1);ch(5,1);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// P
     case 14: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// H
    }}
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 cl(){
     segm=10; pd=0; an=0; segment(); anod(); an=1; segment(); anod();  an=2; segment(); anod();  an=3; segment();anod();
  }

  void ch(int pin, int logic){digitalWrite(pin,logic);}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2025-10-16T11:32:15Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11948#p11948</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11947#p11947" />
			<content type="html"><![CDATA[<p>здесь я пытался подклюЧить вывод А6 но увы не заработало</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-16T05:25:51Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11947#p11947</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11946#p11946" />
			<content type="html"><![CDATA[<p>#include &lt;MsTimer2.h&gt;&nbsp; // <a href="http://rcl-radio.ru/wp-content/uploads/">http://rcl-radio.ru/wp-content/uploads/</a> … Timer2.zip<br />#include &lt;Wire.h&gt;<br />#include &lt;Adafruit_Sensor.h&gt;&nbsp; // <a href="http://rcl-radio.ru/wp-content/uploads/">http://rcl-radio.ru/wp-content/uploads/</a> … Sensor.zip<br />#include &lt;Adafruit_BME280.h&gt;&nbsp; // <a href="https://github.com/adafruit/Adafruit_BME280_Library">https://github.com/adafruit/Adafruit_BME280_Library</a><br />#include &lt;DS3231.h&gt;&nbsp; // <a href="https://github.com/jarzebski/Arduino-DS">https://github.com/jarzebski/Arduino-DS</a> … master.zip<br />DS3231 clock;RTCDateTime DateTime;<br />Adafruit_BME280 bme; // I2C<br />&nbsp; int an, segm,times,i,pd,pd_p,sek,hh,mm,ppp;<br />&nbsp; byte a[4],w;<br />&nbsp; int hour_br,brig;</p><p>void setup(){&nbsp; Wire.begin();clock.begin();<br />if (!bme.begin(0x76)) {Serial.println(&quot;Could not find a valid BME280!&quot;); while (1);}<br />MsTimer2::set(2, to_Timer);MsTimer2::start();<br />&nbsp; // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча<br />pinMode(9,OUTPUT);&nbsp; // D9&nbsp; === A0<br />pinMode(10,OUTPUT); // D10 === A1<br />pinMode(11,OUTPUT); // D11 === A2<br />pinMode(12,OUTPUT); // D12 === A3<br />pinMode(13,OUTPUT); // D13 === PD<br />pinMode(2,OUTPUT);&nbsp; // D2&nbsp; === a<br />pinMode(3,OUTPUT);&nbsp; // D3&nbsp; === b<br />pinMode(4,OUTPUT);&nbsp; // D4&nbsp; === c<br />pinMode(5,OUTPUT);&nbsp; // D5&nbsp; === d<br />pinMode(6,OUTPUT);&nbsp; // D6&nbsp; === e<br />pinMode(7,OUTPUT);&nbsp; // D7&nbsp; === f<br />pinMode(8,OUTPUT);&nbsp; // D8&nbsp; === g<br />clock.setOutput(DS3231_1HZ);<br />pinMode(A0,INPUT); // SQW DS3231<br />pinMode (A2,INPUT_PULLUP); // часы +<br />pinMode (A3,INPUT_PULLUP); // минуты +<br />// кнопки коррекци времени - нажатие === замыкание на GND<br />pinMode(A6,INPUT);// отключение датчиковю моё<br /> }</p><br /><br /><p>void loop(){<br />&nbsp; DateTime=clock.getDateTime();// опрос времени<br />&nbsp; if(analogRead(A6)&gt;900&amp;&amp;ppp==0){ppp=1;delay(200);}<br />&nbsp; if(analogRead(A6)&gt;900&amp;&amp;ppp==1){ppp=0;delay(200);}<br />&nbsp; hh=DateTime.hour;<br />&nbsp; mm=DateTime.minute;<br />&nbsp; sek=DateTime.second;<br />&nbsp; hour_br = DateTime.hour;</p><p>&nbsp; if(hour_br&gt;=22 || hour_br&lt;=7){brig=1000;}else{brig=1;} // уменьшаем яркость с 22 часов до 7 часов<br />&nbsp; <br />&nbsp; if((sek&gt;=10&amp;&amp;sek&lt;=15)||(sek&gt;=30&amp;&amp;sek&lt;=35)){<br />&nbsp; &nbsp; times = bme.readTemperature();<br />&nbsp; a[0]=times/10;<br />&nbsp; a[1]=times%10;<br />&nbsp; a[2]=(times / 10) % 10;<br />&nbsp; a[3]=11;<br />&nbsp; pd_p=0;} // nen<br />&nbsp; else if((sek&gt;=15&amp;&amp;sek&lt;=20)||(sek&gt;=35&amp;&amp;sek&lt;=40)){<br />&nbsp; &nbsp; times = bme.readPressure()/133.3224;<br />&nbsp; a[0]=13;<br />&nbsp; a[1]=times/100;<br />&nbsp; a[2]=times/10%10;<br />&nbsp; a[3]=times%10;<br />&nbsp; pd_p=1;} // nen<br />&nbsp; else if((sek&gt;=20&amp;&amp;sek&lt;=25)||(sek&gt;=40&amp;&amp;sek&lt;=45)){<br />&nbsp; &nbsp; times = bme.readHumidity(); <br />&nbsp; a[0]=14;<br />&nbsp; a[1]=10;<br />&nbsp; a[2]=times/10;<br />&nbsp; a[3]=times%10;<br />&nbsp; pd_p=1;} // nen<br />&nbsp; else{<br />&nbsp; times = DateTime.hour*100+DateTime.minute;<br />&nbsp; a[0]=times/1000;<br />&nbsp; if(a[0]==0){a[0]=10;}<br />&nbsp; a[1]=times/100%10;<br />&nbsp; a[2]=times/10%10;<br />&nbsp; a[3]=times%10%10;<br />&nbsp; if(analogRead(A0)&gt;900){pd_p=1;}else{pd_p=0;}<br />&nbsp; }</p><p>&nbsp; ///////////////////////////////////// коррекция времени - часы и минуты<br />&nbsp; if(analogRead(A2)&lt;900){w=1;hh++;if(hh&gt;23){hh=0;}delay(300);}<br />&nbsp; if(analogRead(A3)&lt;900){w=1;mm++;if(mm&gt;59){mm=0;}delay(300);}<br />&nbsp; if(w==1){w=0;clock.setDateTime(2020, 01, 01, hh, mm, 0);}</p><p>}// loop</p><p>void to_Timer(){<br />&nbsp; switch(i){<br />&nbsp; &nbsp; case 0: cl(); segm=a[0]; pd=0; an=0; delayMicroseconds(brig); anod(); segment();break;<br />&nbsp; &nbsp; case 1: cl(); segm=a[1]; pd=pd_p; an=1; delayMicroseconds(brig); anod(); segment();break;<br />&nbsp; &nbsp; case 2: cl(); segm=a[2]; pd=pd_p; an=2; delayMicroseconds(brig); anod(); segment();break;<br />&nbsp; &nbsp; case 3: cl(); segm=a[3]; pd=0; an=3; delayMicroseconds(brig); anod(); segment();break;}i++;<br />&nbsp; &nbsp; if(i&gt;3){i=0;}}</p><p>void segment(){<br />&nbsp; switch(segm){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//&nbsp; A&nbsp; &nbsp; &nbsp; &nbsp;B&nbsp; &nbsp; &nbsp; &nbsp;C&nbsp; &nbsp; &nbsp; &nbsp;D&nbsp; &nbsp; &nbsp; &nbsp;E&nbsp; &nbsp; &nbsp; &nbsp;F&nbsp; &nbsp; &nbsp; &nbsp;G&nbsp; &nbsp; &nbsp; &nbsp; PD<br />&nbsp; &nbsp;case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);break;//0<br />&nbsp; &nbsp; &nbsp; case 1: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// 1<br />&nbsp; &nbsp; &nbsp; case 2: ch(2,0);ch(3,0);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,0);ch(13,pd);break;// 2<br />&nbsp; &nbsp; &nbsp; case 3: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,0);ch(13,pd);break;//3<br />&nbsp; &nbsp; &nbsp; case 4: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,0);ch(13,pd);break;//4<br />&nbsp; &nbsp; &nbsp; case 5: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);ch(13,pd);break;//5<br />&nbsp; &nbsp; &nbsp; case 6: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;//6<br />&nbsp; &nbsp; &nbsp; case 7: ch(2,0);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;//7<br />&nbsp; &nbsp; &nbsp; case 8: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// 8<br />&nbsp; &nbsp; &nbsp; case 9: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);ch(13,pd);break;//9<br />&nbsp; &nbsp; &nbsp;case 10: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,1);break;//пусто<br />&nbsp; &nbsp; &nbsp;case 11: ch(2,0);ch(3,0);ch(4,1);ch(5,1);ch(6,1);ch(7,0);ch(8,0);ch(13,1);break;//градус<br />&nbsp; &nbsp; &nbsp;case 12: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);break;// C<br />&nbsp; &nbsp; &nbsp;case 13: ch(2,0);ch(3,0);ch(4,1);ch(5,1);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// P<br />&nbsp; &nbsp; &nbsp;case 14: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// H<br />&nbsp; &nbsp; }}<br />void anod(){<br />switch(an){<br />&nbsp; &nbsp; &nbsp; case 0: ch(9,0);ch(10,1);ch(11,1);ch(12,1);break;<br />&nbsp; &nbsp; &nbsp; case 1: ch(9,1);ch(10,0);ch(11,1);ch(12,1);break;<br />&nbsp; &nbsp; &nbsp; case 2: ch(9,1);ch(10,1);ch(11,0);ch(12,1);break;<br />&nbsp; &nbsp; &nbsp; case 3: ch(9,1);ch(10,1);ch(11,1);ch(12,0);break;<br />&nbsp; &nbsp; }}</p><p>void cl(){<br />&nbsp; &nbsp; &nbsp;segm=10; pd=0; an=0; segment(); anod(); an=1; segment(); anod();&nbsp; an=2; segment(); anod();&nbsp; an=3; segment();anod();<br />&nbsp; } </p><p>&nbsp; void ch(int pin, int logic){digitalWrite(pin,logic);}</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-16T05:24:49Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11946#p11946</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11945#p11945" />
			<content type="html"><![CDATA[<p>Доброе утро. Индикатор с о.а .третий индикатор перевернут-мигают обе точки .коррекция времени кнопками на а2 и а3 а копка на а6 не активна -подключена правильно-а6 через 10к на землю . С кнопки плюс на а6. <br />В этом скетче не прописан А6. Его я пытался активировать в следующем скетче</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-16T05:18:05Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11945#p11945</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11944#p11944" />
			<content type="html"><![CDATA[<p>#include &lt;MsTimer2.h&gt;&nbsp; // <a href="http://rcl-radio.ru/wp-content/uploads/">http://rcl-radio.ru/wp-content/uploads/</a> … Timer2.zip<br />#include &lt;Wire.h&gt;<br />#include &lt;Adafruit_Sensor.h&gt;&nbsp; // <a href="http://rcl-radio.ru/wp-content/uploads/">http://rcl-radio.ru/wp-content/uploads/</a> … Sensor.zip<br />#include &lt;Adafruit_BME280.h&gt;&nbsp; // <a href="https://github.com/adafruit/Adafruit_BME280_Library">https://github.com/adafruit/Adafruit_BME280_Library</a><br />#include &lt;DS3231.h&gt;&nbsp; // <a href="https://github.com/jarzebski/Arduino-DS">https://github.com/jarzebski/Arduino-DS</a> … master.zip<br />DS3231 clock;RTCDateTime DateTime;<br />Adafruit_BME280 bme; // I2C<br />&nbsp; int an, segm,times,i,pd,pd_p,sek,hh,mm;;<br />&nbsp; byte a[4],w;<br />&nbsp; int hour_br,brig;</p><p>void setup(){&nbsp; Wire.begin();clock.begin();<br />if (!bme.begin(0x76)) {Serial.println(&quot;Could not find a valid BME280!&quot;); while (1);}<br />MsTimer2::set(2, to_Timer);MsTimer2::start();<br />&nbsp; // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча<br />pinMode(9,OUTPUT);&nbsp; // D9&nbsp; === A0<br />pinMode(10,OUTPUT); // D10 === A1<br />pinMode(11,OUTPUT); // D11 === A2<br />pinMode(12,OUTPUT); // D12 === A3<br />pinMode(13,OUTPUT); // D13 === PD<br />pinMode(2,OUTPUT);&nbsp; // D2&nbsp; === a<br />pinMode(3,OUTPUT);&nbsp; // D3&nbsp; === b<br />pinMode(4,OUTPUT);&nbsp; // D4&nbsp; === c<br />pinMode(5,OUTPUT);&nbsp; // D5&nbsp; === d<br />pinMode(6,OUTPUT);&nbsp; // D6&nbsp; === e<br />pinMode(7,OUTPUT);&nbsp; // D7&nbsp; === f<br />pinMode(8,OUTPUT);&nbsp; // D8&nbsp; === g<br />clock.setOutput(DS3231_1HZ);<br />pinMode(A0,INPUT); // SQW DS3231<br />pinMode (A2,INPUT_PULLUP); // часы +<br />pinMode (A3,INPUT_PULLUP); // минуты +<br />// кнопки коррекци времени - нажатие === замыкание на GND<br />}</p><p>void loop(){<br />&nbsp; DateTime=clock.getDateTime();// опрос времени<br />&nbsp; hh=DateTime.hour;<br />&nbsp; mm=DateTime.minute;<br />&nbsp; sek=DateTime.second;<br />&nbsp; hour_br = DateTime.hour;</p><p>&nbsp; if(hour_br&gt;=22 || hour_br&lt;=7){brig=1000;}else{brig=1;} // уменьшаем яркость с 22 часов до 7 часов<br />&nbsp; <br />&nbsp; if((sek&gt;=10&amp;&amp;sek&lt;=15)||(sek&gt;=30&amp;&amp;sek&lt;=35)){<br />&nbsp; &nbsp; times = bme.readTemperature();<br />&nbsp; a[0]=times/10;<br />&nbsp; a[1]=times%10;<br />&nbsp; a[2]=11;<br />&nbsp; a[3]=12;<br />&nbsp; pd_p=1;} // nen<br />&nbsp; else if((sek&gt;=15&amp;&amp;sek&lt;=20)||(sek&gt;=35&amp;&amp;sek&lt;=40)){<br />&nbsp; &nbsp; times = bme.readPressure()/133.3224;<br />&nbsp; a[0]=13;<br />&nbsp; a[1]=times/100;<br />&nbsp; a[2]=times/10%10;<br />&nbsp; a[3]=times%10;<br />&nbsp; pd_p=1;} // nen<br />&nbsp; else if((sek&gt;=20&amp;&amp;sek&lt;=25)||(sek&gt;=40&amp;&amp;sek&lt;=45)){<br />&nbsp; &nbsp; times = bme.readHumidity(); <br />&nbsp; a[0]=14;<br />&nbsp; a[1]=10;<br />&nbsp; a[2]=times/10;<br />&nbsp; a[3]=times%10;<br />&nbsp; pd_p=1;} // nen<br />&nbsp; else{<br />&nbsp; times = DateTime.hour*100+DateTime.minute;<br />&nbsp; a[0]=times/1000;<br />&nbsp; if(a[0]==0){a[0]=10;}<br />&nbsp; a[1]=times/100%10;<br />&nbsp; a[2]=times/10%10;<br />&nbsp; a[3]=times%10%10;<br />&nbsp; if(analogRead(A0)&gt;900){pd_p=1;}else{pd_p=0;}<br />&nbsp; }</p><p>&nbsp; ///////////////////////////////////// коррекция времени - часы и минуты<br />&nbsp; if(analogRead(A2)&lt;900){w=1;hh++;if(hh&gt;23){hh=0;}delay(300);}<br />&nbsp; if(analogRead(A3)&lt;900){w=1;mm++;if(mm&gt;59){mm=0;}delay(300);}<br />&nbsp; if(w==1){w=0;clock.setDateTime(2020, 01, 01, hh, mm, 0);}</p><p>}// loop</p><p>void to_Timer(){<br />&nbsp; switch(i){<br />&nbsp; &nbsp; case 0: cl(); segm=a[0]; pd=0; an=0; delayMicroseconds(brig); anod(); segment();break;<br />&nbsp; &nbsp; case 1: cl(); segm=a[1]; pd=pd_p; an=1; delayMicroseconds(brig); anod(); segment();break;<br />&nbsp; &nbsp; case 2: cl(); segm=a[2]; pd=pd_p; an=2; delayMicroseconds(brig); anod(); segment();break;<br />&nbsp; &nbsp; case 3: cl(); segm=a[3]; pd=0; an=3; delayMicroseconds(brig); anod(); segment();break;}i++;<br />&nbsp; &nbsp; if(i&gt;3){i=0;}}</p><p>void segment(){<br />&nbsp; switch(segm){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//&nbsp; A&nbsp; &nbsp; &nbsp; &nbsp;B&nbsp; &nbsp; &nbsp; &nbsp;C&nbsp; &nbsp; &nbsp; &nbsp;D&nbsp; &nbsp; &nbsp; &nbsp;E&nbsp; &nbsp; &nbsp; &nbsp;F&nbsp; &nbsp; &nbsp; &nbsp;G&nbsp; &nbsp; &nbsp; &nbsp; PD<br />&nbsp; &nbsp;case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);break;//0<br />&nbsp; &nbsp; &nbsp; case 1: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// 1<br />&nbsp; &nbsp; &nbsp; case 2: ch(2,0);ch(3,0);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,0);ch(13,pd);break;// 2<br />&nbsp; &nbsp; &nbsp; case 3: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,0);ch(13,pd);break;//3<br />&nbsp; &nbsp; &nbsp; case 4: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,0);ch(13,pd);break;//4<br />&nbsp; &nbsp; &nbsp; case 5: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);ch(13,pd);break;//5<br />&nbsp; &nbsp; &nbsp; case 6: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;//6<br />&nbsp; &nbsp; &nbsp; case 7: ch(2,0);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;//7<br />&nbsp; &nbsp; &nbsp; case 8: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// 8<br />&nbsp; &nbsp; &nbsp; case 9: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);ch(13,pd);break;//9<br />&nbsp; &nbsp; &nbsp;case 10: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,1);break;//пусто<br />&nbsp; &nbsp; &nbsp;case 11: ch(2,0);ch(3,0);ch(4,1);ch(5,1);ch(6,1);ch(7,0);ch(8,0);ch(13,1);break;//градус<br />&nbsp; &nbsp; &nbsp;case 12: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);break;// C<br />&nbsp; &nbsp; &nbsp;case 13: ch(2,0);ch(3,0);ch(4,1);ch(5,1);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// P<br />&nbsp; &nbsp; &nbsp;case 14: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// H<br />&nbsp; &nbsp; }}<br />void anod(){<br />switch(an){<br />&nbsp; &nbsp; &nbsp; case 0: ch(9,0);ch(10,1);ch(11,1);ch(12,1);break;<br />&nbsp; &nbsp; &nbsp; case 1: ch(9,1);ch(10,0);ch(11,1);ch(12,1);break;<br />&nbsp; &nbsp; &nbsp; case 2: ch(9,1);ch(10,1);ch(11,0);ch(12,1);break;<br />&nbsp; &nbsp; &nbsp; case 3: ch(9,1);ch(10,1);ch(11,1);ch(12,0);break;<br />&nbsp; &nbsp; }}</p><p>void cl(){<br />&nbsp; &nbsp; &nbsp;segm=10; pd=0; an=0; segment(); anod(); an=1; segment(); anod();&nbsp; an=2; segment(); anod();&nbsp; an=3; segment();anod();<br />&nbsp; } </p><p>&nbsp; void ch(int pin, int logic){digitalWrite(pin,logic);}</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-16T05:14:03Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11944#p11944</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11943#p11943" />
			<content type="html"><![CDATA[<p>опубликуйте скетч который Вы используете</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2025-10-15T16:08:16Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11943#p11943</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11942#p11942" />
			<content type="html"><![CDATA[<p>Добрый вечер. Совершенно верно.&nbsp; А разве не так было задумано, или я что-то не понял</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-15T16:07:03Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11942#p11942</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11941#p11941" />
			<content type="html"><![CDATA[<p>Вы хотите что бы при нажатии на кнопку (А6) показывалось только время, а при повторном нажатии выводились показания датчика?</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2025-10-15T13:18:25Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11941#p11941</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Большие часы на семисегментных индикаторах BJ18101AH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=11940#p11940" />
			<content type="html"><![CDATA[<p>Извените за наивность.Форум прочитал. Проект собрал ,все изменения учел. Но не могу добиться отключение датчиков . Спасибо за внимание. Датчик BME-280</p>]]></content>
			<author>
				<name><![CDATA[Aлександр]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=3893</uri>
			</author>
			<updated>2025-10-15T11:06:53Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=11940#p11940</id>
		</entry>
</feed>
