рд╕реАрд░рд┐рдпрд▓ рдореЛрдб рдореЗрдВ Futaba M204SD02AJ рдЗрдВрдбрд┐рдХреЗрдЯрд░

рдЫрд╡рд┐

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╕реАрд░рд┐рдпрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЛрдб рдореЗрдВ FUTABA MSD204AJ рд╕рдВрдХреЗрддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рдо arduino рдкрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд░реЗрдВрдЧреЗред

рд╕рдВрдХреЗрддрдХ рдХреЛ рд╕реАрд░рд┐рдпрд▓ рдореЛрдб рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбреЗрдЯрд╛рд╢реАрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЬрдВрдкрд░реНрд╕ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ :

рдЬреЗ 3-рдСрди
рдЬреЗ 4-рдСрдл
рдЬреЗ 5-рдСрди
рдЬреЗ 6-рдСрди
рдЬреЗ 6-рдСрди рдЬреЗ 7-рдСрдл

рдЫрд╡рд┐

рдЗрд╕ рдореЛрдб рдореЗрдВ, рдкрд┐рди рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ (рддрд╛рд▓рд┐рдХрд╛ 11:

1 - рд╕рд╛рдорд╛рдиреНрдп
2 - 5 рд╡реА рдмрд┐рдЬрд▓реА рдХреА рдЖрдкреВрд░реНрддрд┐ рдХреЗ рдЕрдиреБрд╕рд╛рд░)
3 - I / O рдбреЗрдЯрд╛
4 - рд╕реНрдЯреНрд░реЛрдм рдкрд▓реНрд╕
6 - рдХреНрд▓реЙрдХ рджрд╛рд▓

рдЗрдВрдбрд┐рдХреЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднреЗрдЬрдиреЗ рдореЗрдВ рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯ рдмрд╛рдЗрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реАрдзреЗ рд╣рдореЗрдВ рдЬреЛ рдЬрд╛рдирдХрд╛рд░реА рдЪрд╛рд╣рд┐рдП (рдЪрд╛рд╣реЗ рд╡рд╣ рдХрдорд╛рдВрдб рдпрд╛ рдбреЗрдЯрд╛ рд╣реЛ) рдХреА рдПрдХ рдмрд╛рдЗрдЯ рд╣реЛрддреА рд╣реИред

рд╕реНрдЯрд╛рд░реНрдЯ рдмрд╛рдЗрдЯ рдореЗрдВ рдкрд╛рдБрдЪ рддрд╛рд░реНрдХрд┐рдХ рдЗрдХрд╛рдЗрдпрд╛рдБ, рдЖрд░рдбрдмреНрд▓реНрдпреВ рдмрд┐рдЯ рдкрдврд╝реЗрдВ (1) / рд▓рд┐рдЦреЗрдВ (0), рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдмрд┐рдЯ рдЖрд░рдПрд╕ рдХрдорд╛рдВрдбреНрд╕ (0) / рдбреЗрдЯрд╛ (1), рддрд╛рд░реНрдХрд┐рдХ рд╢реВрдиреНрдп - рдХреБрд▓ рдЖрда рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдШрдбрд╝реА рдирд╛рдбрд╝реА рдХреЗ рдЕрдЧреНрд░рдгреА рдХрд┐рдирд╛рд░реЗ рдХреЗ рд╕рд╛рде рд╕рдВрдХреЗрддрдХ рдореЗрдВ рдмрд┐рдЯреНрд╕ рджрд░реНрдЬ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдФрд░ рд╕рдВрдХреЗрддрдХ рд╕реЗ рдмрд┐рдЯреНрд╕ рдХреЛ рдкрдврд╝рдирд╛ рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд╣реИред рд╕реНрдЯреНрд░реЛрдм рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЧрд┐рд░рдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдИ рднреА рд░реАрдб / рд░рд╛рдЗрдЯ рд╕реЗрдВрдб рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдмрдврд╝рддреЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред

рдЫрд╡рд┐

1 - рдЗрд╕ рдХреНрд╖рдг рдореЗрдВ рд░рд┐рд╕реЗрдкреНрд╢рди / рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
2 - рдЗрд╕ рд╕рдордп рд░рд┐рд╕реЗрдкреНрд╢рди / рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди
3 рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ - рдЗрд╕ рд╕рдордп рдмрд┐рдЯ рдХреЛ рд╕рдВрдХреЗрддрдХ
4 рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдмрд┐рдЯ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд▓рд┐рдЦреЗрдВ / рдкрдврд╝реЗрдВ

рдЖрдо рддреМрд░ рдкрд░ рд╣рдорд╛рд░рд╛ рдХрд╛рдо:

1. рд╕реНрдЯреНрд░реЛрдм рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
2. рдШрдбрд╝реА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╢реВрдиреНрдп рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
3. рдПрдХ рд╕реВрдЪрдирд╛ рдмрд╛рд╣рд░ рджреЗред
3 рдПред рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЛред
4. рдШрдбрд╝реА рд╕рд┐рдЧреНрдирд▓ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдХ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
4 рдПред рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЛред
5 рдП, рдкреИрд░рд╛рдЧреНрд░рд╛рдл 2-4 8 рдмрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред - рдпрд╣ рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рд╣реЛрдЧрд╛ред
5 рдмреА, рдЕрдВрдХ 2-4 8 рдЕрдзрд┐рдХ рдмрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред - рдпрд╣ рджреВрд╕рд░реА рдмрд╛рдЗрдЯ рд╣реЛрдЧреАред
6. рд╕реНрдЯреНрд░реЛрдм рдХреЛ рдЗрдХрд╛рдИ рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╡реГрдХреНрд╖ рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдХрд╛ рдордЬрд╛рдХ рдЙрдбрд╝рд╛рддреЗ рд╣реИрдВред

рдбрд┐рдХреНрд▓реЗрдпрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:

#define _STB 2
#define _SCK 3
#define _SISO 4

Arduino рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:

  pinMode(_STB, OUTPUT);
  pinMode(_SCK, OUTPUT);
  pinMode(_SISO, OUTPUT);

рд╕реНрдЯреНрд░реЛрдм рдФрд░ рдШрдбрд╝реА рдХреЛ рд▓реЙрдЧ рдпреВрдирд┐рдЯ рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ:

  digitalWrite(_STB,1);
  digitalWrite(_SCK,1);

рдФрд░ рд╕рдВрдХреЗрддрдХ рдХреЛ рдмрд┐рдЯреНрд╕ рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рд╣рдореЗрдВ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ 2 рдмрд╛рдЗрдЯ рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдиреЗрд╕реНрдЯреЗрдб рдлреЙрд░ рд▓реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗред

рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рднрд╡рд┐рд╖реНрдп рдХрд╣рд┐рдПред рд╡рд╣ рджреЛ рдЗрдирдкреБрдЯ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧреАред рдПрдХреНрд╕ 1 рдкрд╣рд▓реА рд╢реБрд░реБрдЖрдд рдмрд╛рдЗрдЯ рд╣реИ, рдПрдХреНрд╕ 2 рдбреЗрдЯрд╛ рдмрд╛рдЗрдЯ рд╣реИред

void futab(int x1, int x2){
 digitalWrite(_STB,0);						        //.1
 for (j=1; j<3; j++){
  if (j==1)  {cmd = x1;} else {cmd = x2;}     			//. 5, 5
  for (i=7; i>-1; i--) {
                      digitalWrite(_SCK,0);			                //.2
                      digitalWrite(_SISO,bitRead(cmd,i));       //.3    i-   
                      delayMicroseconds(2);			     //.3  
                      digitalWrite(_SCK,1);			            //.4 
                      delayMicroseconds(2);			    //.4  
                      } 
                     }
 digitalWrite(_STB,1);						//.6
}

рдпрд╣ рд╕рдм рд╣реИ, рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреИрд╕реЗ? рдФрд░ рдЗрд╕рд▓рд┐рдП:

futab(0b11111000,0b00000001); //    4-4-1  .
//  
futab(0b11111000,0b10010101); //    4-4-8   DDRAM = 15h, ..    3-  2- 
//   
futab(0b11111010,0b010000010); //  41h ( ).  4-4-10.

рдпрд╣ рдХреИрд╕реЗ рдЖрд╕реНрдЯрд╕реАрд▓рд╕реНрдХрдк рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрддрд╛ рд╣реИ

рдЫрд╡рд┐

рдЫрд╡рд┐

ред рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдо рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рд▓реЛрдХрдкреНрд░рд┐рдп HD44780 рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреА рдХрдорд╛рдВрдб рдХреЗ рд╕рдорд╛рди рд╣реИ, рдХрдВрдЯреНрд░реЛрд▓ рдмрд┐рдЯреНрд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рдЬреЛ рд╕рдВрдХреЗрддрдХ рдХреА рдЪрдордХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╕реВрдЪрдХ рдХреЗ рдЖрд╡реЗрджрди рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддрд╛, рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╣реИрд▓реЛ, рджреБрдирд┐рдпрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реВрдБрдЧрд╛ред рдореИрдВ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдорд╛рдереЗ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИ, рд╡рд░реНрддрдиреАред рдХреЛрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдХреЗрд╡рд▓ рдЪрд░рд┐рддреНрд░ рдХреЛрдб, рдХреЗрд╡рд▓ рдХрдЯреНрдЯрд░ред

рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ
/* FUTABA */

#define _STB 2
#define _SCK 3
#define _SISO 4
int i,j,n,m;
int cmd;

void futab(int x1, int x2){
 digitalWrite(_STB,0);
 for (j=1; j<3; j++){
 // delay(1500);
  if (j==1)  {cmd = x1;} else {cmd = x2;}     
  for (i=7; i>-1; i--) {
                      digitalWrite(_SCK,0);
                      digitalWrite(_SISO,bitRead(cmd,i));
                      delayMicroseconds(2);
                      digitalWrite(_SCK,1);
                      delayMicroseconds(2);
                      }
                     }
 digitalWrite(_STB,1);
 delay(50);
}


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);               // starts the serial monitor 

  pinMode(_STB, OUTPUT);        //  "  "
  pinMode(_SCK, OUTPUT);
  pinMode(_SISO, OUTPUT);
  
  digitalWrite(_STB,1);       //     
  digitalWrite(_SCK,1);

 futab(248,1);  //    4-4-1
 delay(2000);    //  
 futab(250,0x87);   // 
 futab(250,0x50);   // 
 futab(250,0x84);   // 
 futab(250,0x42);   // 
 futab(250,0x45);   // 
 futab(250,0x54);   // 

futab(248,0b11000011); //  4-4-8   =43h    ,  

 futab(250,0x48);   // H
 futab(250,0x61);   // a
 futab(250,0x62);   // b
 futab(250,0x72);   // r


futab(248,0b11011111); //  4-4-8   =5Fh  4- , 12 
 futab(250,0x35);   // 5
 futab(250,0x65);   // e
 futab(250,0x72);   // r
 futab(250,0x47);   // G
 futab(250,0x30);   // 0

futab(248,0b10011011); //  4-4-8   =5Dh  3- , 10 
 futab(250,0x30);   // 0
 futab(250,0x37);   // 7
 futab(250,0x2E);   // .
 futab(250,0x30);   // 0
 futab(250,0x34);   // 4
 futab(250,0x2E);   // .
 futab(250,0x32);   // 2
 futab(250,0x30);   // 0
 futab(250,0x31);   // 1
 futab(250,0x36);   // 6


 

for (m=1; m<5; m++){
 for (n=1; n<4; n++){
   futab(248,0b00011100);   // 4-4-5    
   delay(100);
                  }
 for (n=1;n<4;n++){
   futab(248,0b00011000);    // 4-4-5    
   delay(100);
                  }
                   } 
 
 delay(1500);
 for (n=1;n<5;n++){
   futab(248,0b00001000);   // 4-4-4  
   delay(100);
   futab(248,0b00001100);   // 4-4-4  
   delay(100);
                  }

 delay(1500);
                  
 for (n=1;n<5;n++){
 
 futab(248,0b00111101);  // 4-4-6    75%
 delay(100);
 futab(248,0b00111110);  // 4-4-6    50%
 delay(100);
 futab(248,0b00111111);  // 4-4-6    25%
 delay(100);
 futab(248,0b00111110);  // 4-4-6    50%
 delay(100);
 futab(248,0b00111101);  // 4-4-6    75%
 delay(100);
 futab(248,0b00111100);  // 4-4-6    100%
 delay(100);
 }
 delay(1000);

//    
 
 futab(248,0b01001000);  // 4-4-7   CGRAM=8
 futab(250,0b00001110); 
 futab(250,0b00010001); 
 futab(250,0b00010001); 
 futab(250,0b00010011); //
 futab(250,0b00010111); 
 futab(250,0b00011111); 
 futab(250,0b00011111); 
 futab(250,0b00011111); 

 futab(248,0b01010000);  // 4-4-7   CGRAM=16
 futab(250,0b00000000); 
 futab(250,0b00000001); 
 futab(250,0b00000110); 
 futab(250,0b00001100);  //- 
 futab(250,0b00010001); 
 futab(250,0b00000110); 
 futab(250,0b00001100); 
 futab(250,0b00010000); 
 
//     

 futab(248,0b10010011); //    1*20
 futab(250,0b00000001);  //    CGRAM c  1

 futab(248,0b11010011); //    2*20
 futab(250,0b00000010);  //    CGRAM c  2

}
void loop() {
 
}


рдЫрд╡рд┐

рдФрд░ рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рдХрд╛рдо рдХрд╛ рдПрдХ рд╡реАрдбрд┐рдпреЛ:

Source: https://habr.com/ru/post/hi392757/


All Articles