<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[forum.rcl-radio.ru &mdash; LCD, TFT ...]]></title>
		<link>http://forum.rcl-radio.ru/index.php</link>
		<atom:link href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;fid=12&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние темы раздела «forum.rcl-radio.ru».]]></description>
		<lastBuildDate>Sat, 21 Oct 2023 05:51:42 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Тест LCD1602]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=585&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>#include &lt;LiquidCrystal.h&gt;  
LiquidCrystal lcd(7, 6, 2, 3, 4, 5); // LCD (RS, E, DB4, DB5, DB6, DB7)
       // wr === gnd                                 
void setup(){ 
  lcd.begin(16, 2);                  
  lcd.setCursor(3, 0);             
  lcd.print(&quot;ATmega 328&quot;);       
  lcd.setCursor(2, 1);             
  lcd.print(&quot;rcl-radio.ru&quot;);        
}

void loop(){
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sat, 21 Oct 2023 05:51:42 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=585&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[LCD1602_4BIT]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=558&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>// Подключаем пины Arduino к пинам LCD1602
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
int int_out;
unsigned long times;

void setup() {
  Serial.begin(9600);
  // Устанавливаем пины в режим вывода
  pinMode(rs, OUTPUT);
  pinMode(en, OUTPUT);
  pinMode(d4, OUTPUT);
  pinMode(d5, OUTPUT);
  pinMode(d6, OUTPUT);
  pinMode(d7, OUTPUT);

  // Инициализируем экран
  lcd_init();
}

void loop() {
  times=millis();
  for(int i1=0;i1&lt;10000;i1++){
  lcd_command(0x80);
  lcd_print(&quot;LCD1602&quot;);
  lcd_command(0xC0);
  lcd_print(String(int_out++));
  }
   lcd_command(0x01);
   int_out=0;
   Serial.print(&quot;4-bit &quot;);Serial.println(millis()-times);
   delay(1000);
}

void lcd_init() {
  // Инициализация экрана
  delay(100);
  lcd_command(0x03);delayMicroseconds(4500);
  lcd_command(0x03);delayMicroseconds(4500);
  lcd_command(0x03);delayMicroseconds(200);
  lcd_command(0x02);
  lcd_command(0x28);
  lcd_command(0x0C);
  lcd_command(0x01);
}

void lcd_command(byte cmd) {
  // Отправляем команду на экран
  digitalWrite(rs, LOW);delayMicroseconds(100);
  lcd_write(cmd);
}

void lcd_print(String str) {
  // Выводим строку на экран
  digitalWrite(rs, HIGH);
  for (int i = 0; i &lt; str.length(); i++) {
    lcd_write(str[i]);
  }
}

void lcd_write(byte data) {
  // Отправляем данные на экран
  digitalWrite(d4, (data &gt;&gt; 4) &amp; 0x01);
  digitalWrite(d5, (data &gt;&gt; 5) &amp; 0x01);
  digitalWrite(d6, (data &gt;&gt; 6) &amp; 0x01);
  digitalWrite(d7, (data &gt;&gt; 7) &amp; 0x01);

  digitalWrite(en, HIGH);
  delayMicroseconds(1);
  digitalWrite(en, LOW);
  delayMicroseconds(50);
  
  digitalWrite(d4, (data &gt;&gt; 0) &amp; 0x01);
  digitalWrite(d5, (data &gt;&gt; 1) &amp; 0x01);
  digitalWrite(d6, (data &gt;&gt; 2) &amp; 0x01);
  digitalWrite(d7, (data &gt;&gt; 3) &amp; 0x01);

  digitalWrite(en, HIGH);
  delayMicroseconds(1);
  digitalWrite(en, LOW);
  delayMicroseconds(50);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 26 Apr 2023 09:13:05 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=558&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[OLED 1.3' SH1106_128X64]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=548&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>#include &lt;Wire.h&gt;
#include &lt;U8glib.h&gt;  // https://github.com/olikraus/u8glib/

U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST);	// Dev 0, Fast I2C / TWI
int i;
char s[6];

void setup() {
  Wire.begin();
  // u8g.setRot180();
}

void loop(void) {
  u8g.firstPage();  
  do {
     u8g.setFont(u8g_font_profont15r);
     u8g.drawStr( 0, 12, &quot;OLED 1.3 128x64&quot;);
     u8g.setFont(u8g_font_profont11r);
     u8g.drawStr( 0, 25, &quot;SH1106 U8glib&quot;);
     u8g.drawStr( 0, 37, &quot;RCL-RADIO.RU&quot;);
     u8g.setFont(u8g_font_profont22r);
     u8g.drawLine(0, 45, 128, 45);
     u8g.setPrintPos(0, 64);
     u8g.print(-3.14);
   //  u8g.print(2023);
  } while( u8g.nextPage() );
 
  delay(500);
}

 </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 04 Apr 2023 06:45:12 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=548&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[GM12864-59N VER:2.0 ST7567S]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=514&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/09/175c3ae647e12f8535a1cb25015d2056.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/09/175c3ae647e12f8535a1cb25015d2056.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/09/752253d8a97c3d943aa4fbd97437cb1c.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/09/752253d8a97c3d943aa4fbd97437cb1c.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/09/61c999508ac729d8de48bc0ce97a313b.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/09/61c999508ac729d8de48bc0ce97a313b.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/09/a1a4e58ebfe37cbea89094f4498501c8.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/09/a1a4e58ebfe37cbea89094f4498501c8.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/09/4fec07da46a3c61fa02a3594a3ec08d6.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/09/4fec07da46a3c61fa02a3594a3ec08d6.png" /></span> </p><br /><div class="codebox"><pre><code>/******************************
 * original code from
 * URL: https://github.com/mworkfun/ST7567A_128X32DOT_LCD
 * Modify for LCD ST7567S 128x64
 * URL: https://github.com/luetee/ST7567S_128X64_I2C.git
 ******************************/
#include &lt;Wire.h&gt;
#include&lt;lcd_st7567s.h&gt; // https://github.com/luetee/ST7567S_128X64_I2C

lcd_st7567s Lcd;

void setup() {
 Wire.begin();
 Lcd.Init();
}

void loop() {
 Lcd.testPixel(2); //use to test LCD screen. Parameter is velocity.
  
  for(int a=0; a&lt;64; a++){
 Lcd.DisplayPixel(a,a); //display one pixel. X=0-31, Y=0-127
  delay(5);
  }
  for(int a=0; a&lt;64; a++){
 Lcd.ClearPixel(a,a); //Does not display a pixel. X=0-31, Y=0-127
  delay(5);
  }

 Lcd.Clear(true);
  for(int a=0; a&lt;64; a++){
 Lcd.ClearPixel(a,a); //Does not display a pixel. X=0-31, Y=0-127
  delay(5);
  }
  delay(1000);

 Lcd.Clear(false);
  for(int a=0; a&lt;128; a++){
 Lcd.DisplayPixel(a,0); //display one pixel. X=0-31, Y=0-127
 Lcd.DisplayPixel(a,63); //display one pixel. X=0-31, Y=0-127
  }
  for(int a=0; a&lt;64; a++){
 Lcd.DisplayPixel(0, a); //display one pixel. X=0-31, Y=0-127
 Lcd.DisplayPixel(127,a); //display one pixel. X=0-31, Y=0-127
 Lcd.DisplayPixel(4,a);
  }
 Lcd.DrawLine(5, 5, 125, 60, false);
 Lcd.DrawLine(125, 5, 5, 60, false);
 Lcd.DrawLine(53, 31, 73, 31, false);
 Lcd.DrawLine(63, 20, 63, 40, false);

 Lcd.draw_circle(20, 30, 10, DRAW_ALL, false, false);
 Lcd.draw_circle(20, 30, 15, DRAW_ALL, false, false);

 Lcd.draw_circle(105, 30, 15, DRAW_ALL, false, true);

  delay(1000);

 Lcd.Clear(false);
 Lcd.DrawLine(53, 31, 73, 31, false);
 Lcd.DrawLine(63, 20, 63, 40, false);
 Lcd.draw_circle(90, 30, 10, DRAW_ALL, false, false);
 Lcd.draw_circle(30, 30, 10, DRAW_ALL, false, true);
  delay(1000);

 Lcd.Clear(true);
 Lcd.DrawLine(53, 31, 73, 31, true);
 Lcd.DrawLine(63, 20, 63, 40, true);
 Lcd.draw_circle(90, 30, 10, DRAW_ALL, true, false);
 Lcd.draw_circle(30, 30, 10, DRAW_ALL, true, true);
  delay(1000);

/**/  
 Lcd.Cursor(7, 0); //Character display position. y=0-3, x=0-17
 Lcd.Display(&quot;KEYES&quot;); 
 Lcd.Cursor(0, 1);
 Lcd.Display(&quot;ABCDEFGHIJKLMNOPQR&quot;);
 Lcd.Cursor(0, 2);
 Lcd.Display(&quot;123456789+-*/&lt;&gt;=$@&quot;);
 Lcd.Cursor(0, 3);
 Lcd.Display(&quot;%^&amp;(){}:;&#039;|?,.~\\[]&quot;);
 Lcd.Cursor(0, 4);
 Lcd.Display(&quot;ABCDEFGHIJKLMNOPQR&quot;);
  Lcd.Cursor(0, 5);
  Lcd.Display(&quot;123456789+-*/&lt;&gt;=$@&quot;);
  Lcd.Cursor(0, 6);
  Lcd.Display(&quot;%^&amp;(){}:;&#039;|?,.~\\[]&quot;);
  Lcd.Cursor(0, 7);
  Lcd.Display(&quot;ABCDEFGHIJKLMNOPQR&quot;);
  delay(1000);
  Lcd.Clear(false);
  Lcd.Cursor(0, 0);
  for(int i=0;i&lt;100;i++){
    delay(100);
    String str = String(i);
    char cstr[16];
    str.toCharArray(cstr,16);
    Lcd.Display(cstr);
    }
  
  Lcd.Clear(false);                        //All pixels turn off.
  
  Lcd.DisplayPicture();               //Displays the image data for the picture.c file
  delay(1000);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 16 Sep 2022 03:52:43 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=514&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[LCD1601A (ARDUINO)]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=511&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/09/7391e5b318a2a4b081bff7f91f9ef5db.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/09/7391e5b318a2a4b081bff7f91f9ef5db.png" /></span> </p><br /><div class="codebox"><pre><code>#include &lt;LiquidCrystal.h&gt; // подключаем встроенную в Arduino IDE библиотеку для дисплея LCD 16x1 

LiquidCrystal lcd(12, 11, 5, 6, 7, 8); // номер вывода дисплея(вывод Arduino):RS(12),E(11),D4(5),D5(6),D6(7),D7(8) 


void setup() {
  lcd.begin(8, 2);// указываем тип дисплея LCD 16X1 как LCD0802
  lcd.setCursor(0,0); // положение курсора - нулевая строка, первый символ
  lcd.print(&quot; HELLO! &quot;);// вывод на экран
  delay(3000);
  lcd.clear();
}

void loop() {
  lcd.setCursor(0,0); // положение курсора - нулевая строка, первый символ
  lcd.print(&quot;LCD1601&quot;);// вывод на экран
  lcd.setCursor(0,1); // положение курсора - певая строка, первый символ
  lcd.print(&quot;ARDUINO&quot;);// вывод на экран
  delay(1000);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 06 Sep 2022 08:25:49 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=511&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[19264-5 v3.2]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=510&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/139182d5cad89b55fddcedb97bd0cb54.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/139182d5cad89b55fddcedb97bd0cb54.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/7b658ceb45d2ba39b32ba59966c7ffa5.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/7b658ceb45d2ba39b32ba59966c7ffa5.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/d1ce4c8dd421d55fc0940be45e34bc75.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/d1ce4c8dd421d55fc0940be45e34bc75.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/bb1e010e862a594727cd83b11f919b31.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/bb1e010e862a594727cd83b11f919b31.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/1f3584934d9eb8f77c7fd87af776ba5c.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/1f3584934d9eb8f77c7fd87af776ba5c.png" /></span> </p><br /><div class="codebox"><pre><code>#include &lt;U8x8lib.h&gt;
#include &lt;SPI.h&gt;
 
//U8X8_UC1604_JLX19264_4W_SW_SPI u8x8(/* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); 
U8X8_UC1604_JLX19264_4W_HW_SPI u8x8(/* cs=*/ 8, /* dc=*/ 9, /* reset=*/ 10);  

void setup(void){
  u8x8.begin();
  u8x8.setPowerSave(0);
  u8x8.setContrast(160);
}

void pre(void)
{
  u8x8.setFont(u8x8_font_amstrad_cpc_extended_f);    
  u8x8.clear();

  u8x8.inverse();
  u8x8.print(&quot; U8x8 Library &quot;);
  u8x8.setFont(u8x8_font_chroma48medium8_r);  
  u8x8.noInverse();
  u8x8.setCursor(0,1);
}

void draw_bar(uint8_t c, uint8_t is_inverse)
{  
  uint8_t r;
  u8x8.setInverseFont(is_inverse);
  for( r = 0; r &lt; u8x8.getRows(); r++ )
  {
    u8x8.setCursor(c, r);
    u8x8.print(&quot; &quot;);
  }
}

void draw_ascii_row(uint8_t r, int start)
{
  int a;
  uint8_t c;
  for( c = 0; c &lt; u8x8.getCols(); c++ )
  {
    u8x8.setCursor(c,r);
    a = start + c;
    if ( a &lt;= 255 )
      u8x8.write(a);
  }
}

void loop(void)
{
  int i;
  uint8_t c, r, d;
  pre();
  u8x8.print(&quot;github.com/&quot;);
  u8x8.setCursor(0,2);
  u8x8.print(&quot;olikraus/u8g2&quot;);
  delay(2000);
  u8x8.setCursor(0,3);
  u8x8.print(&quot;Tile size:&quot;);
  u8x8.print((int)u8x8.getCols());
  u8x8.print(&quot;x&quot;);
  u8x8.print((int)u8x8.getRows());
  
  delay(2000);
   
  pre();
  for( i = 19; i &gt; 0; i-- )
  {
    u8x8.setCursor(3,2);
    u8x8.print(i);
    u8x8.print(&quot;  &quot;);
    delay(150);
  }
  
  draw_bar(0, 1);
  for( c = 1; c &lt; u8x8.getCols(); c++ )
  {
    draw_bar(c, 1);
    draw_bar(c-1, 0);
    delay(50);
  }
  draw_bar(u8x8.getCols()-1, 0);

  pre();
  u8x8.setFont(u8x8_font_amstrad_cpc_extended_f); 
  for( d = 0; d &lt; 8; d ++ )
  {
    for( r = 1; r &lt; u8x8.getRows(); r++ )
    {
      draw_ascii_row(r, (r-1+d)*u8x8.getCols() + 32);
    }
    delay(400);
  }

  draw_bar(u8x8.getCols()-1, 1);
  for( c = u8x8.getCols()-1; c &gt; 0; c--)
  {
    draw_bar(c-1, 1);
    draw_bar(c, 0);
    delay(50);
  }
  draw_bar(0, 0);

  pre();
  u8x8.drawString(0, 2, &quot;Small&quot;);
  u8x8.draw2x2String(0, 5, &quot;Scale Up&quot;);
  delay(3000);

  pre();
  u8x8.drawString(0, 2, &quot;Small&quot;);
  u8x8.setFont(u8x8_font_px437wyse700b_2x2_r);
  u8x8.drawString(0, 5, &quot;2x2 Font&quot;);
  delay(3000);

  pre();
  u8x8.drawString(0, 1, &quot;3x6 Font&quot;);
  u8x8.setFont(u8x8_font_inb33_3x6_n);
  for(i = 0; i &lt; 100; i++ )
  {
    u8x8.setCursor(0, 2);
    u8x8.print(i);      // Arduino Print function
    delay(10);
  }
  for(i = 0; i &lt; 100; i++ )
  {
    u8x8.drawString(0, 2, u8x8_u16toa(i, 5)); // U8g2 Build-In functions
    delay(10);    
  }

  pre();
  u8x8.drawString(0, 2, &quot;Weather&quot;);
  u8x8.setFont(u8x8_font_open_iconic_weather_4x4);
  for(c = 0; c &lt; 6; c++ )
  {
    u8x8.drawGlyph(0, 4, &#039;@&#039;+c);
    delay(300);
  }
  

  pre();
  u8x8.print(&quot;print \\n\n&quot;);
  delay(500);
  u8x8.println(&quot;println&quot;);
  delay(500);
  u8x8.println(&quot;done&quot;);
  delay(1500);

  pre();
  u8x8.fillDisplay();
  for( r = 0; r &lt; u8x8.getRows(); r++ )
  {
    u8x8.clearLine(r);
    delay(100);
  }
  delay(1000);

}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 26 Aug 2022 08:41:50 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=510&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[LCD0802]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=509&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/c923adb89e58af6c067f3de9b6080808.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/c923adb89e58af6c067f3de9b6080808.png" /></span> </p><div class="codebox"><pre><code>#include &lt;LiquidCrystal.h&gt; /* подключаем встроенную в Arduino IDE 
библиотеку для дисплея LCD 16x2 */

LiquidCrystal lcd(12, 11, 5, 6, 7, 8); /* номер вывода дисплея(вывод Arduino):
                                       RS(12),E(11),D4(5),D5(6),D6(7),D7(8) */


void setup() {
  lcd.begin(8, 2);// указываем тип дисплея LCD 16X2
  lcd.setCursor(0,0); // положение курсора - нулевая строка, первый символ
  lcd.print(&quot; HELLO! &quot;);// вывод на экран
  delay(1000);
  lcd.clear();
}

void loop() {
  lcd.setCursor(0,0); // положение курсора - нулевая строка, первый символ
  lcd.print(&quot;LCD0802&quot;);// вывод на экран
  lcd.setCursor(0,1);// положение курсора - первая срока, первый символ
  lcd.print(&quot;ARDUINO&quot;);// ввод на экран
  delay(1000);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 25 Aug 2022 09:04:40 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=509&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[16T202DA1E]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=508&amp;action=new</link>
			<description><![CDATA[<p><span class="attention-yellow"></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/57ade4cf2e6acb6258b7f63628200106.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/57ade4cf2e6acb6258b7f63628200106.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/ad7fd4615b7e697cae7114e286095a1b.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/ad7fd4615b7e697cae7114e286095a1b.png" /></span> <br /><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2022/08/3120729f9eb4348f6b5ab126ff4c2c40.png" alt="http://forum.rcl-radio.ru/uploads/images/2022/08/3120729f9eb4348f6b5ab126ff4c2c40.png" /></span> </p><br /><div class="codebox"><pre><code>#include &lt;LiquidCrystal.h&gt; /* подключаем встроенную в Arduino IDE 
библиотеку для дисплея LCD 16x2 */

LiquidCrystal lcd(12, 11, 5, 6, 7, 8); /* номер вывода дисплея(вывод Arduino):
                                       RS(12),E(11),D4(5),D5(6),D6(7),D7(8) */


void setup() {
  lcd.begin(16, 2);// указываем тип дисплея LCD 16X2
  Brightness(100);
  lcd.setCursor(1,0); // положение курсора - нулевая строка, первый символ
  lcd.print(&quot;HELLO!!!&quot;);// вывод на экран
  delay(1000);
  lcd.noDisplay();
  delay(1000);
  lcd.display();
}

void loop() {
  lcd.setCursor(0,0); // положение курсора - нулевая строка, первый символ
  lcd.print(&quot;RCL-RADIO.RU&quot;);// вывод на экран
  lcd.setCursor(0,1);// положение курсора - первая срока, первый символ
  lcd.print(&quot;ARDUINO &quot;);// ввод на экран
  

  delay(500);// пауза 500 мс
  for (int n=25;n&lt;=100;n+=25){
  lcd.setCursor(9,1); lcd.print(&quot;BR &quot;);lcd.print(n);lcd.print(&quot;% &quot;);  
  Brightness(n);delay(1000);
  }
}

void Brightness(byte brig){
  switch(brig){
    case 25 : lcd.command(0b00101011);break;
    case 50 : lcd.command(0b00101010);break;
    case 75 : lcd.command(0b00101001);break;
    case 100 : lcd.command(0b00101000);break;
    }
  }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Thu, 25 Aug 2022 06:35:11 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=508&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[ATMEGA8 + LCD1602_I2C]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=498&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>#include &lt;avr/io.h&gt;
#include &lt;util/delay.h&gt;

#define RS           0
#define E            2
#define LED          3
#define ADDR_LED     0x27

byte led_b;

int main(){
  wire_set(8000000,100000); // тактовая частота контроллера, частота шины I2C
  setInit();
  Clear(); // очистка экрана
  led(1);  // включение и отключение подсветки экрана

 // собственные символы, 0...7  
  Write(0,        0b11111,
                  0b00000,
                  0b10001,
                  0b10001,
                  0b10001,
                  0b10001,
                  0b00000,
                  0b11111);
                  
  Write(1,        0b11111,
                  0b10001,
                  0b11111,
                  0b10001,
                  0b11111,
                  0b10001,
                  0b11111,
                  0b00000);    

  Curs(0,0);
  PrintString(&quot;HELLO &quot;);
  PrintFloat(-1.2344, 3);
  Curs(1,0);
  PrintInt(-12345);
  PrintChar(0);             // вывод собственного символа 0
  PrintChar(1);             // вывод собственного символа 1
  
while(1){
  
  }  
  }



void led(bool led_on_off){
    if(led_on_off==1){i2c_write_1bit(led_b |= (1&lt;&lt;LED));}
    if(led_on_off==0){i2c_write_1bit(led_b &amp;=~ (1&lt;&lt;LED));}
}

void Write(byte addr_w, byte wr1,byte wr2,byte wr3,byte wr4,byte wr5,byte wr6,byte wr7,byte wr8){
     lcd(0b01000000|addr_w*8);PrintChar(wr1);PrintChar(wr2);PrintChar(wr3);PrintChar(wr4);PrintChar(wr5);PrintChar(wr6);PrintChar(wr7);PrintChar(wr8);}

void PrintInt(int data_int){char str[6];PrintString(itoa(data_int, str, 10));} 

void PrintFloat(float data_float, byte dp){
    char str[8];
    if(data_float&lt;0){data_float=-data_float;PrintChar(0b101101);PrintString(itoa((int)data_float, str, 10));}
     else{PrintString(itoa((int)data_float, str, 10));}
    int float10 = round((data_float - (int)data_float)*pow(10,dp));
    PrintChar(0b101110);
    PrintString(itoa(float10, str, 10));
} 

void setInit(){ 
    lcd(0x03);_delay_us(4500);
    lcd(0x03);_delay_us(4500);
    lcd(0x03);_delay_us(200);
    lcd(0b00000010);_delay_ms(5);
    lcd(0b00001100);_delay_ms(5);
    lcd(0b00000001);
} 

void Clear(){lcd(0b00000001);} 

void Curs(byte str, byte mesto){
  if(str==0){lcd(0b10000000+mesto);}
  if(str==1){lcd(0b11000000+mesto);}
  } 

void PrintString(const char* str) {while(*str != &#039;\0&#039;) {_delay_us(200);PrintChar(*str);str++;}}

void PrintChar(const char chr) {lcdSend(false, (uint8_t)chr);}

void e_pin(){
    i2c_write_1bit(led_b |= (1&lt;&lt;E));
    _delay_us(200);
    i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;E));
}

void lcd(uint8_t sett) {lcdSend(true, sett);}

void lcdSend(bool rs, byte data) {
    if(rs==0){led_b |= (1&lt;&lt;RS);} else {led_b &amp;= ~(1&lt;&lt;RS);}//RS
    _delay_us(200);
    if(((data &gt;&gt; 7) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;7));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;7));}
    if(((data &gt;&gt; 6) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;6));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;6));}
    if(((data &gt;&gt; 5) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;5));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;5));}
    if(((data &gt;&gt; 4) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;4));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;4));}
    e_pin();
    if(((data &gt;&gt; 3) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;7));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;7));}
    if(((data &gt;&gt; 2) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;6));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;6));}
    if(((data &gt;&gt; 1) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;5));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;5));}
    if(((data &gt;&gt; 0) &amp; 1) ==1){i2c_write_1bit(led_b |= (1&lt;&lt;4));} else {i2c_write_1bit(led_b &amp;= ~(1&lt;&lt;4));}
    e_pin();
}

void i2c_write_1bit(byte i2c_reg){
  wire_start_w(ADDR_LED);
  wire_write(i2c_reg);
  wire_stop();
}    

////// I2C ////////////
void wire_set(long f_clock, long i2c_clock){
   TWBR = (((f_clock)/(i2c_clock)-16 )/2) ;
   TWSR = 0;
}

void wire_start_w(byte i2c_addr){
   TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWSTA)|(1&lt;&lt;TWEN);  
  while (!(TWCR &amp; (1&lt;&lt;TWINT)));
   TWDR = i2c_addr &lt;&lt; 1;
   TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN);
  while (!(TWCR &amp; (1&lt;&lt;TWINT)));
}

void wire_write(byte i2c_data){
   TWDR = i2c_data;
   TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN);
  while (!(TWCR &amp; (1&lt;&lt;TWINT)));
}

void wire_stop(){  
   TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN)|(1&lt;&lt;TWSTO); 
}</code></pre></div><div class="quotebox"><blockquote><p>Скетч использует 3068 байт (37%) памяти устройства. Всего доступно 8192 байт.<br />Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 1015 байт для локальных переменных. Максимум: 1024 байт.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Wed, 13 Jul 2022 07:09:01 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=498&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[ATMEGA328 + LCD1602_I2C]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=313&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>#define ADDR    0x27
#define CPU_F   16000000  // тактовая частота микроконтроллера
#define SCL_F   400000    // частота шины I2C
#define RS      0
#define E       2
#define LED     3

byte led_b;

void setup() {
    TWBR = (((CPU_F)/(SCL_F)-16 )/2); // устанавливаем скорость шины
    TWSR = 0;
    i2c_write(led_b |= (1&lt;&lt;LED));// включаем подсветку
    lcdInit();
}

void loop() {
   
   lcdCurs(0,3);
   lcdString(&quot;LCD1602_I2C&quot;);
   lcdCurs(1,3);
   lcdLong(1234567890);
   delay(100);
   

}

void lcdSend(bool rs, byte data) {
    if(rs==0){led_b |= (1&lt;&lt;RS);} else {led_b &amp;= ~(1&lt;&lt;RS);}//RS
    
    del();
    if(((data &gt;&gt; 7) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;7));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;7));}
    if(((data &gt;&gt; 6) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;6));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;6));}
    if(((data &gt;&gt; 5) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;5));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;5));}
    if(((data &gt;&gt; 4) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;4));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;4));}
    e_pin();
    if(((data &gt;&gt; 3) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;7));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;7));}
    if(((data &gt;&gt; 2) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;6));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;6));}
    if(((data &gt;&gt; 1) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;5));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;5));}
    if(((data &gt;&gt; 0) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;4));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;4));}
    e_pin();
}

void lcdInit(){ 
    delay(100);
    lcd(0x03);delayMicroseconds(4500);
    lcd(0x03);delayMicroseconds(4500);
    lcd(0x03);delayMicroseconds(200);
    
    lcd(0b00000010);del();
    lcd(0b00001100);del();
    lcdClear();
  } 

void lcdClear(){lcd(0b00000001);} 
void lcd(uint8_t cmd) {lcdSend(true, cmd);}
void lcdChar(const char chr) {lcdSend(false, (uint8_t)chr);}
void lcdString(const char* str) {while(*str != &#039;\0&#039;) {del();lcdChar(*str);str++;}}
void del(){delay(1);}
void e_pin(){i2c_write(led_b |= (1&lt;&lt;E));del();i2c_write(led_b &amp;= ~(1&lt;&lt;E));}



void lcdCurs(byte str, byte mesto){
  if(str==0){lcd(0b10000000+mesto);}
  if(str==1){lcd(0b11000000+mesto);}
  }  

void lcdLong(long int_x){
   byte h[8];
   long int_y=int_x;
   int i,i_kol;
  if(int_x&lt;0){int_x=abs(int_x);lcdChar(&#039;-&#039;);}    // если минус
  for(i_kol=0;int_x&gt;0;i_kol++){int_x=int_x/10;}  // определяем кол-во цифр в long
  for(i=0;i&lt;i_kol;i++){h[i]=int_y%10; int_y=int_y/10;}// разбиваем число на отдельные цифры
  for(i=i_kol-1;i&gt;=0;i--){lcdChar(h[i] +&#039;0&#039;);} // преобразуем числа в char
  if(i_kol==0){lcdChar(&#039;0&#039;);} // если long = 0, то выводить ноль
  }  

void i2c_write(byte lcd){
  TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWSTA)|(1&lt;&lt;TWEN);  // START
  while (!(TWCR &amp; (1&lt;&lt;TWINT))); // Ожидание установки флага TWINT. Это покажет, что START был передан.

  TWDR = ADDR &lt;&lt; 1; //передаем адрес устройства
  TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN); //включим прием данных
  while (!(TWCR &amp; (1&lt;&lt;TWINT))); // Ожидание установки флага TWINT. Это покажет, что SLA+W был передан, и будет принят ACK/NACK.

  TWDR = lcd;
  TWCR = (1&lt;&lt;TWINT) | (1&lt;&lt;TWEN); //включим прием данных
  while (!(TWCR &amp; (1&lt;&lt;TWINT))); // Ожидание установки флага TWINT. Это покажет, что SLA+W был передан, и будет принят ACK/NACK.
  
  TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN)|(1&lt;&lt;TWSTO); // СТОП
  }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 09 May 2021 17:03:56 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=313&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[ATtiny2313 + LCD1602_I2C]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=312&amp;action=new</link>
			<description><![CDATA[<div class="codebox"><pre><code>#define ADDR    0x27
#define SDA 2 // PB3
#define SCL 3 // PB2
#define RS      0
#define E       2
#define LED     3

byte led_b;

void setup() {

    i2c_write(led_b |= (1&lt;&lt;LED));// включаем подсветку
    lcdInit();
}

void loop() {
   
   lcdCurs(0,3);
   lcdString(&quot;ATtiny2313&quot;);
   lcdCurs(1,3);
   lcdLong(1234567891);
   delayMicroseconds(10000);
   

}

void lcdSend(bool rs, byte data) {
    if(rs==0){led_b |= (1&lt;&lt;RS);} else {led_b &amp;= ~(1&lt;&lt;RS);}//RS
    
    del();
    if(((data &gt;&gt; 7) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;7));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;7));}
    if(((data &gt;&gt; 6) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;6));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;6));}
    if(((data &gt;&gt; 5) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;5));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;5));}
    if(((data &gt;&gt; 4) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;4));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;4));}
    e_pin();
    if(((data &gt;&gt; 3) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;7));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;7));}
    if(((data &gt;&gt; 2) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;6));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;6));}
    if(((data &gt;&gt; 1) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;5));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;5));}
    if(((data &gt;&gt; 0) &amp; 1) ==1){i2c_write(led_b |= (1&lt;&lt;4));} else {i2c_write(led_b &amp;= ~(1&lt;&lt;4));}
    e_pin();
}

void lcdInit(){ 
    delayMicroseconds(10000);
    lcd(0x03);delayMicroseconds(4500);
    lcd(0x03);delayMicroseconds(4500);
    lcd(0x03);delayMicroseconds(200);
    
    lcd(0b00000010);del();
    lcd(0b00001100);del();
    lcdClear();
  } 

void lcdClear(){lcd(0b00000001);} 
void lcd(uint8_t cmd) {lcdSend(true, cmd);}
void lcdChar(const char chr) {lcdSend(false, (uint8_t)chr);}
void lcdString(const char* str) {while(*str != &#039;\0&#039;) {del();lcdChar(*str);str++;}}
void del(){delayMicroseconds(1000);}
void e_pin(){i2c_write(led_b |= (1&lt;&lt;E));del();i2c_write(led_b &amp;= ~(1&lt;&lt;E));}



void lcdCurs(byte str, byte mesto){
  if(str==0){lcd(0b10000000+mesto);}
  if(str==1){lcd(0b11000000+mesto);}
  }  

void lcdLong(long int_x){
   byte h[8];
   long int_y=int_x;
   int i,i_kol;
  if(int_x&lt;0){int_x=abs(int_x);lcdChar(&#039;-&#039;);}    // если минус
  for(i_kol=0;int_x&gt;0;i_kol++){int_x=int_x/10;}  // определяем кол-во цифр в long
  for(i=0;i&lt;i_kol;i++){h[i]=int_y%10; int_y=int_y/10;}// разбиваем число на отдельные цифры
  for(i=i_kol-1;i&gt;=0;i--){lcdChar(h[i] +&#039;0&#039;);} // преобразуем числа в char
  if(i_kol==0){lcdChar(&#039;0&#039;);} // если long = 0, то выводить ноль
  }  


bool i2c_read_bit() {
    bool i2c_bit = 1;        
    DDRB &amp;= ~(1 &lt;&lt; SDA);            
    delayMicroseconds(10); 
    DDRB &amp;= ~(1 &lt;&lt; SCL);                
    if((PINB &gt;&gt; SDA) &amp; 1) i2c_bit=0;                            
    delayMicroseconds(10);  
    DDRB |= (1 &lt;&lt; SCL);              
    return i2c_bit;  
}
 
byte i2c_write_byte(byte data){
    for (byte i=0; i&lt;8; i++){i2c_write_bit((data&amp;0x80)==0);data&lt;&lt;=1;}    
    return i2c_read_bit(); 
}
 
void i2c_write_bit(byte b){
    delayMicroseconds(5);
    if(b){DDRB |= (1 &lt;&lt; SDA);}else{DDRB &amp;= ~(1 &lt;&lt; SDA);}
    delayMicroseconds(5);
    DDRB &amp;= ~(1 &lt;&lt; SCL);       
    delayMicroseconds(10);
    DDRB |= (1 &lt;&lt; SCL);
}
 
void i2c_start(){
     delayMicroseconds(10);  
     DDRB &amp;= ~(1 &lt;&lt; SDA); DDRB &amp;= ~(1 &lt;&lt; SCL); 
     delayMicroseconds(10); 
     DDRB |= (1 &lt;&lt; SDA);  PORTB &amp;= ~(1 &lt;&lt; SDA);
     delayMicroseconds(10); 
     DDRB |= (1 &lt;&lt; SCL);  PORTB &amp;= ~(1 &lt;&lt; SCL);   
     delayMicroseconds(10);
}
 
void i2c_stop()  {
     DDRB |= (1 &lt;&lt; SDA);            
     delayMicroseconds(10);
     DDRB &amp;= ~(1 &lt;&lt; SCL);               
     delayMicroseconds(10); 
     DDRB &amp;= ~(1 &lt;&lt; SDA);             
}
 

 
void i2c_write(byte lcd){
     i2c_start();
     i2c_write_byte(ADDR&lt;&lt;1);
     i2c_write_byte(lcd);
     i2c_stop();
  }    </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Sun, 09 May 2021 16:54:12 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=312&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[ATMEGA128 + LCD1602]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=281&amp;action=new</link>
			<description><![CDATA[<p>ОСНОВНАЯ СТАТЬЯ - <a href="http://rcl-radio.ru/?p=92690">http://rcl-radio.ru/?p=92690</a></p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/03/ba88485628f604209a652d460dc47bf5.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/03/ba88485628f604209a652d460dc47bf5.png" /></span> </p><br /><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2021/03/f9b5353cf2c79e0953eca79d707e9b72.png" alt="http://forum.rcl-radio.ru/uploads/images/2021/03/f9b5353cf2c79e0953eca79d707e9b72.png" /></span> </p><br /><p>РАСПИНОВКА ATMEGA128 ПОД ARDUINO IDE - <span class="attention-yellow"></span> </p><br /><div class="codebox"><pre><code>#include &lt;LiquidCrystal.h&gt;  
LiquidCrystal lcd(8, 9, 10, 11, 12, 13); // LCD (RS, E, DB4, DB5, DB6, DB7)
                                         // PIN(PB0,PB1,PB2, PB3, PB4, PB5)
void setup(){ 
  lcd.begin(16, 2);                  
  lcd.setCursor(3, 0);             
  lcd.print(&quot;ATmega 128&quot;);       
  lcd.setCursor(2, 1);             
  lcd.print(&quot;rcl-radio.ru&quot;);        
}

void loop(){
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 09 Mar 2021 06:01:14 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=281&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[PG240128A]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=272&amp;action=new</link>
			<description><![CDATA[<p>Привет всем. Кто подскажет возможно ли подключить Этот жк дисплей к&nbsp; ардуино? Всем спасибо.</p>]]></description>
			<author><![CDATA[null@example.com (ksn634)]]></author>
			<pubDate>Sun, 07 Feb 2021 08:53:05 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=272&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[GMG12864-06D VER:2.0]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=193&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/08/5a1a29ce60754fa3d47c8a02eb9e3768.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/08/5a1a29ce60754fa3d47c8a02eb9e3768.png" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/08/01525376ada064ae9d8ecf92850dafbc.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/08/01525376ada064ae9d8ecf92850dafbc.png" /></span> </p><br /><div class="codebox"><pre><code>// Universal 8bit Graphics Library (https://github.com/olikraus/u8g2/)
#include &lt;Arduino.h&gt;
#include &lt;U8g2lib.h&gt;

#include &lt;SPI.h&gt;

U8G2_ST7565_ERC12864_1_4W_SW_SPI u8g2(U8G2_R0, /* scl=*/ 13, /* si=*/ 11, /* cs=*/ 10, /* rs=*/ 9, /* rse=*/ 8);

void setup(void) {
  u8g2.begin(); 
  u8g2.setContrast (70); 
  u8g2.enableUTF8Print();
}

void loop(void) {

  u8g2.firstPage();
  do {  
u8g2.setFont(u8g2_font_cu12_t_cyrillic);
u8g2.setCursor(0, 12);u8g2.print(&quot;Привет мир !!!&quot;);
u8g2.setCursor(0, 35);u8g2.print(&quot;RCL-RADIO.RU&quot;);
//u8g2.setFont(u8g2_font_6x13B_t_cyrillic);
  u8g2.setFont(u8g2_font_6x10_tf);
u8g2.setCursor(0, 50);u8g2.print(&quot;GMG12864-06D&quot;);
u8g2.setCursor(0, 60);u8g2.print(&quot;VER:2.0&quot;);
  } while ( u8g2.nextPage() );
  delay(1000);
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Tue, 11 Aug 2020 09:12:03 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=193&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[WG12864B-TML-T]]></title>
			<link>http://forum.rcl-radio.ru/viewtopic.php?id=184&amp;action=new</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2020/07/5e78437c6bd9ea2841161d11e0c6e284.png" alt="http://forum.rcl-radio.ru/uploads/images/2020/07/5e78437c6bd9ea2841161d11e0c6e284.png" /></span> </p><p><span class="attention-yellow"></span> </p><p>Основная статья - <a href="http://rcl-radio.ru/?p=80884">http://rcl-radio.ru/?p=80884</a></p><div class="codebox"><pre><code>#include &lt;U8glib.h&gt;
#include &quot;rus6x10.h&quot;

 U8GLIB_KS0108_128 u8g(12, 11, 10,  9,  8,  7,  6,  5,   14,  3,  4,   13, 2);     
                     //D0, D1, D2,  D3, D4, D5, D6, D7,  E,   CS1,CS2, DI, RW

void draw() {
  u8g.setRot180();
  u8g.setFont(u8g_font_unifont);
  u8g.drawStr(15, 12, &quot;RCL-RADIO.RU&quot;);
  u8g.drawLine(0, 15, 128, 15);
  u8g.setFont(u8g_font_6x12);
  u8g.drawStr(35, 25, &quot;MT-12864J&quot;);
  //u8g.setPrintPos( 0, 50); u8g.print(&quot;MT-12864J&quot;);
  u8g.setColorIndex(1);           
  u8g.drawBox(0, 35, 128, 20);
  u8g.setFont(u8g_font_unifont);
  u8g.setColorIndex(0);
  u8g.drawStr(35, 50, &quot;ARDUINO&quot;);
  u8g.setColorIndex(1); 
  u8g.setFont(rus6x10);
  u8g.drawStr(45, 64, &quot;ПРИВЕТ&quot;);
}

void setup() {


}

void loop() {
  u8g.firstPage();  
  do {
    draw();
  } while( u8g.nextPage() );
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (liman324)]]></author>
			<pubDate>Fri, 24 Jul 2020 08:15:17 +0000</pubDate>
			<guid>http://forum.rcl-radio.ru/viewtopic.php?id=184&amp;action=new</guid>
		</item>
	</channel>
</rss>
