<?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=291&amp;type=atom" />
	<updated>2021-03-22T14:10:30Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=291</id>
		<entry>
			<title type="html"><![CDATA[Re: тахометр]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=3337#p3337" />
			<content type="html"><![CDATA[<p>Установка светодиода на текстолит</p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/03/5dd7b5944e8289289766cf2647013cab.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2021/03/5dd7b5944e8289289766cf2647013cab.jpg" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/03/f3c13d9944218bc0a5cfbd34e80a4dc5.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2021/03/f3c13d9944218bc0a5cfbd34e80a4dc5.jpg" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/03/ac847ab2769785d8f9209a740bb3fa45.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2021/03/ac847ab2769785d8f9209a740bb3fa45.jpg" /></span> </p><p>Жидкость для нанесения меток &quot;Штрих&quot;<br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/03/f0c8900bd0d87fd2f8c420ca50ef3b2d.jpg" alt="http://forum.rcl-radio.ru/uploads/images/2021/03/f0c8900bd0d87fd2f8c420ca50ef3b2d.jpg" /></span> </p><p>Установка тахометрическая УТ05-60 - проверка тахометра на частоте 1000 об/мин</p><p><div class="fancy_video_tag_player"><iframe class="youtube-player" type="text/html" width="640" height="385" src="https://www.youtube.com/embed/1oQzDO_I5Y0" frameborder="0"></iframe></div></p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-03-22T14:10:30Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=3337#p3337</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[тахометр]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=3336#p3336" />
			<content type="html"><![CDATA[<p>Основная статья - <a href="http://rcl-radio.ru/?p=94353">http://rcl-radio.ru/?p=94353</a></p><div class="codebox"><pre><code>#include &lt;Encoder.h&gt;  // http://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip
#include &lt;MsTimer2.h&gt; // http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip
#include &lt;LiquidCrystal_I2C.h&gt; //Библиотека -  http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;item=45&amp;download=1
   Encoder myEnc(5, 6);//CLK, DT
   LiquidCrystal_I2C lcd(0x27,16,2);  // Устанавливаем дисплей 


float f;
long en=10000;
unsigned long oldPosition  = -999,newPosition;
bool w;
byte hag;
int mn;

void setup(){
  Serial.begin(9600);
  MsTimer2::set(3, to_Timer);MsTimer2::start();
  Wire.begin();lcd.init();lcd.backlight();
 DDRB |= (1 &lt;&lt; 1); // ВЫХОД ГЕНЕРАТОРА D9
  pinMode(7,INPUT);  // КНОПКА ЭНКОДЕРА D7
  setupFreq(f/60);
}

void loop(){
   if(digitalRead(7)==LOW){hag++;if(hag&gt;3){hag=0;}delay(100);}
   switch(hag){
    case 0: mn=1;break;
    case 1: mn=10;break;
    case 2: mn=100;break;
    case 3: mn=1000;break;
    }
  
   if (newPosition != oldPosition){oldPosition = newPosition;
     en=en+newPosition*mn;myEnc.write(0);newPosition=0;if(en&lt;100){en=100;}if(en&gt;250000){en=250000;}w=1;f=(float)en;setupFreq(f/600);} 
  Serial.println(f,2);
  lcd.setCursor(1,0);lcd.print(f/10,1);lcd.print(&quot;  &quot;);lcd.setCursor(10,0);lcd.print(&quot;rpm&quot;);
  lcd.setCursor(9,1);lcd.print(&quot;x&quot;);lcd.print((float)mn/10,1);lcd.print(&quot;   &quot;);lcd.setCursor(1,1);lcd.print(f/600,3);lcd.print(&quot; &quot;);
  delay(100);
  }

void setupFreq(float freq){
 int prescallers[] = {0, 1, 8, 64, 256, 1024};
 unsigned long ocr;
  byte prescallerBits = 1; 
  int prescaller = prescallers[prescallerBits]; 
  if (freq) {  do  {
          ocr = 8000000 / freq  / prescaller - 1; 
          if (ocr &lt; 65535){break;}
          prescallerBits += 1; prescaller = prescallers[prescallerBits]; 
      }
      while (prescallerBits &lt; 6);                        
      if (ocr &lt; 65535) {
            cli();                   
          TCCR1A = 0;             
          TCCR1B = 0;            
          TCCR1B = prescallerBits;
          OCR1A = ocr; 
          TCCR1B |= (1 &lt;&lt; WGM12); 
           TIMSK1 |= (1 &lt;&lt; OCIE1A);
           sei();   
          float freq = 8000000.00 / prescaller / (ocr + 1); 
    }
  } 
}

ISR(TIMER1_COMPA_vect){PORTB |= (1 &lt;&lt; 1);delay(1);PORTB &amp;= ~(1 &lt;&lt; 1);}


void to_Timer(){newPosition = myEnc.read()/4;}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-03-22T08:13:41Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=3336#p3336</id>
		</entry>
</feed>
