<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; STM32_MAX6675]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=134&amp;type=atom" />
	<updated>2020-12-08T08:09:04Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=134</id>
		<entry>
			<title type="html"><![CDATA[Re: STM32_MAX6675]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2651#p2651" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>sanj76a пишет:</cite><blockquote><p>Доброе утро.<br />Почему&nbsp; вы применяете&nbsp; stm, а не ардуино.<br />Можно вместо МАХ, использовать термопару от мультиметра + операционник? (так дешевле)</p></blockquote></div><p>MAX стоит как 2 STM,&nbsp; &nbsp;заменить бы его, (понимаю, что с ним проще, делаю инфрокрасный подогреватель для плат), <br />И управление лсд по шине.</p>]]></content>
			<author>
				<name><![CDATA[sanj76a]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=569</uri>
			</author>
			<updated>2020-12-08T08:09:04Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2651#p2651</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: STM32_MAX6675]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2650#p2650" />
			<content type="html"><![CDATA[<p><a href="http://rcl-radio.ru/?p=45845">http://rcl-radio.ru/?p=45845</a></p><p>STM дешеве.</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-12-08T07:05:39Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2650#p2650</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: STM32_MAX6675]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=2648#p2648" />
			<content type="html"><![CDATA[<p>Доброе утро.<br />Почему&nbsp; вы применяете&nbsp; stm, а не ардуино.<br />Можно вместо МАХ, использовать термопару от мультиметра + операционник? (так дешевле)</p>]]></content>
			<author>
				<name><![CDATA[sanj76a]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=569</uri>
			</author>
			<updated>2020-12-08T05:47:55Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=2648#p2648</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: STM32_MAX6675]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1031#p1031" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>#define pinA PB6
#define pinB PB5
#define SO   PB7
#define CS   PB9
#define CLK  PB8

#include &lt;STM32_MAX6675.h&gt; //http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=410&amp;download=1
#include &lt;STM32_TM1637.h&gt; // http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=403&amp;download=1
#include &lt;EEPROM.h&gt;       // Входит в состав набора библиотек Arduino_STM32-master
#include &lt;STM32_Encoder.h&gt; // http://rcl-radio.ru/wp-content/uploads/2020/01/STM32_Encoder.zip
  STM32_Encoder encoder(pinA, pinB);
  STM32_TM1637 tm(PB0,PB1);// CLK, DIO
  STM32_MAX6675 max6675(CLK, CS, SO);

int position = -999;
byte w,i;
int reg;
const float gis = 1.0;// гистерезис
unsigned long times;
float celsius,sum;

void setup() {
  Serial.begin(9600);  
  tm.brig(7); // ЯРКОСТЬ 0...7
  EEPROM.init(0x801F000,0x801F800,0x400);// 1024 byte
  encoder.begin();                                                         
  attachInterrupt(digitalPinToInterrupt(pinA),Read,CHANGE);  
  attachInterrupt(digitalPinToInterrupt(pinB),Read,CHANGE); 
  pinMode(PB7,OUTPUT);// выход управления реле
  reg = EEPROM.read(10);
  delay(500);
}

void loop() { 
   if(millis()-times&gt;3000){
   for(i=0;i&lt;3;i++){
   celsius = max6675.readCelsius();
   sum = sum + celsius;
   delay(500);}celsius = sum/3;sum=0;}

    if(position != encoder.getPosition()){position = encoder.getPosition();
    reg = reg + encoder.getPosition();encoder.setPosition(0);position = 0;
    w=1;times = millis();if(reg&gt;999){reg=999;}if(reg&lt;0){reg=0;}}   
 
    if(millis()-times&lt;3000){tm.print_float(reg,0,  0b01010000,0,0,0);}
    else{tm.print_float(celsius,1,  0,0,0,0);}
    if(celsius&gt;999||celsius&lt;0){tm.print_float(celsius,0,  0b01000000,0b01000000,0b01000000,0b01000000);}
 
    if(reg &gt;= celsius + gis){digitalWrite(PB7,HIGH);}
    if(reg &lt;= celsius - gis){digitalWrite(PB7,LOW);}
 
    if(millis()-times&gt;1000&amp;&amp;w==1){w=0;EEPROM.update(10, reg);}
  }
 
void Read(){encoder.readAB();}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-02-26T13:58:48Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1031#p1031</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[STM32_MAX6675]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=1030#p1030" />
			<content type="html"><![CDATA[<p>Библиотека:<br /><span class="attention-yellow"></span> </p><br /><p>test.ino<br /></p><div class="codebox"><pre><code>#include &lt;STM32_MAX6675.h&gt;

int thermoDO = PB7;
int thermoCS = PB9;
int thermoCLK = PB8;

STM32_MAX6675 max6675(thermoCLK, thermoCS, thermoDO);

void setup() {
  Serial.begin(9600);
}

void loop() {
  
   Serial.print(&quot;C = &quot;); 
   Serial.println(max6675.readCelsius());
   delay(1000);
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2020-02-26T13:56:41Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=1030#p1030</id>
		</entry>
</feed>
