<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; Часы на светодиодных семисегментных индикаторах 1,8 дюйма (Arduino)]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=250&amp;type=atom" />
	<updated>2021-10-05T02:51:44Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=250</id>
		<entry>
			<title type="html"><![CDATA[Re: Часы на светодиодных семисегментных индикаторах 1,8 дюйма (Arduino)]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4741#p4741" />
			<content type="html"><![CDATA[<p>Возможно автор библиотеки ее изменил, вот старая версия библиотеки - <span class="attention-yellow"></span></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-10-05T02:51:44Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4741#p4741</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Часы на светодиодных семисегментных индикаторах 1,8 дюйма (Arduino)]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4740#p4740" />
			<content type="html"><![CDATA[<p>Почему во всех скетчах с часами не компилируется строка &quot;DS3231 clock;RTCDateTime DateTime;&quot; ? Какую использовать библиотеку?&nbsp; Или я опоздал со своим вопросом...</p>]]></content>
			<author>
				<name><![CDATA[kirilchuk.a]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=1470</uri>
			</author>
			<updated>2021-10-04T19:03:54Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4740#p4740</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Часы на светодиодных семисегментных индикаторах 1,8 дюйма (Arduino)]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2694#p2694" />
			<content type="html"><![CDATA[<p>без датчика влажности</p><div class="codebox"><pre><code>#include &lt;MsTimer2.h&gt;  // http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip
#include &lt;Wire.h&gt; 
#include &lt;Adafruit_Sensor.h&gt;  // http://rcl-radio.ru/wp-content/uploads/2018/08/Adafruit_Sensor.zip
#include &lt;Adafruit_BMP280.h&gt; // http://rcl-radio.ru/wp-content/uploads/2018/08/Adafruit_BMP280.zip
#include &lt;DS3231.h&gt;  // https://github.com/jarzebski/Arduino-DS3231/archive/master.zip

DS3231 clock;RTCDateTime DateTime;
Adafruit_BMP280 bmp; // I2C
  int an, segm,times,i,pd,pd_p,sek;
  byte a[4];
 
void setup(){  Wire.begin();clock.begin();bmp.begin();
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 
}
 
void loop(){ 
  DateTime=clock.getDateTime();// опрос времени
  sek=DateTime.second;
  if((sek&gt;=10&amp;&amp;sek&lt;=15)||(sek&gt;=30&amp;&amp;sek&lt;=35)){
    times = bmp.readTemperature();
  a[0]=times/10;
  a[1]=times%10;
  a[2]=11;
  a[3]=12;
  pd_p=0;}
  else if((sek&gt;=15&amp;&amp;sek&lt;=20)||(sek&gt;=35&amp;&amp;sek&lt;=40)){
    times = bmp.readPressure()/133.3224;
  a[0]=13;
  a[1]=times/100;
  a[2]=times/10%10;
  a[3]=times%10;
  pd_p=0;}   
  else{
  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;
  if(analogRead(A0)&gt;900){pd_p=1;}else{pd_p=0;}
  }
 }// loop
 
void to_Timer(){ 
  switch(i){
    case 0: cl(); segm=a[0]; pd=0; an=0; anod(); segment();break;
    case 1: cl(); segm=a[1]; pd=pd_p; an=1; anod(); segment();break;
    case 2: cl(); segm=a[2]; pd=0; an=2; anod(); segment();break;
    case 3: cl(); segm=a[3]; pd=0; an=3; 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,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,0);ch(13,pd);break;// 0 
    case 1: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// 1
    case 2: ch(2,1);ch(3,1);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,1);ch(13,pd);break;// 2
    case 3: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,0);ch(7,0);ch(8,1);ch(13,pd);break;// 3   
    case 4: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,1);ch(13,pd);break;// 4 
    case 5: ch(2,1);ch(3,0);ch(4,1);ch(5,1);ch(6,0);ch(7,1);ch(8,1);ch(13,pd);break;// 5 
    case 6: ch(2,1);ch(3,0);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// 6 
    case 7: ch(2,1);ch(3,1);ch(4,1);ch(5,0);ch(6,0);ch(7,0);ch(8,0);ch(13,pd);break;// 7 
    case 8: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// 8
    case 9: ch(2,1);ch(3,1);ch(4,1);ch(5,1);ch(6,0);ch(7,1);ch(8,1);ch(13,pd);break;// 9  
   case 10: 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;// пусто
   case 11: ch(2,1);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,1);ch(8,1);ch(13,pd);break;// градус
   case 12: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,0);ch(13,pd);break;// C
   case 13: ch(2,1);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// P
   case 14: ch(2,0);ch(3,1);ch(4,1);ch(5,0);ch(6,1);ch(7,1);ch(8,1);ch(13,pd);break;// H
  }}
void anod(){
  switch(an){                                                             
    case 0:ch(9,1);ch(10,0);ch(11,0);ch(12,0);break;  
    case 1:ch(9,0);ch(10,1);ch(11,0);ch(12,0);break; 
    case 2:ch(9,0);ch(10,0);ch(11,1);ch(12,0);break;
    case 3:ch(9,0);ch(10,0);ch(11,0);ch(12,1);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><div class="quotebox"><blockquote><p>Скетч использует 8914 байт (29%) памяти устройства. Всего доступно 30720 байт.<br />Глобальные переменные используют 317 байт (15%) динамической памяти, оставляя 1731 байт для локальных переменных. Максимум: 2048 байт.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-12-19T04:31:48Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2694#p2694</id>
		</entry>
</feed>
