рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдХрд┐рдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдпреЛрдЧ

рдбрд┐рдЬрд┐рдЯрд▓ рд▓реИрдм рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд┐рдЯ NR05 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд▓реЗрдЦ рдореЗрдВ , рд╣рдордиреЗ рдирд┐рд░реНрдорд╛рдг рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ, рдХрд┐рдЯ рд░рдЪрдирд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдмреЛрд░реНрдб рдХреА рд░реВрдкрд░реЗрдЦрд╛ рджреАред рдЕрдм рд╣рдо рдХрд┐рдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕рд╣рд╛рдпрддрд╛ рдХреЛ рджреЗрдЦреЗрдВрдЧреЗ рдФрд░ рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛рд░реНрдб рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рджреЛ рд╕рд░рд▓ рдЕрдиреБрднрд╡реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдмрд╛рд╣рд░реА рдбрд┐рд╡рд╛рдЗрд╕ рдХреИрд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ рдФрд░ рдмрд┐рд▓реНрдЯ-рдЗрди рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдФрд░ рд╕реНрдХреЗрдЪ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреЗрдВред





рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рд╣реИ, рдмреЛрд░реНрдб рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмрд╛рд╣рд░реА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдХреЗ рд╕рдореВрд╣ рд╣реИрдВ: рд╕реЗрдВрд╕рд░, рдПрдХреНрдЪреБрдПрдЯрд░ рдФрд░ рдХреБрдЫ рдорд╛рдирдХ рд╕реВрдЪрдирд╛ рдмрд╕реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ред

рдПрдХ рдкреНрд░реЗрд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдмреИрдХрд▓рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рд▓рд┐рдХреНрд╡рд┐рдб-рдХреНрд░рд┐рд╕реНрдЯрд▓ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рджреЛ-рд▓рд╛рдЗрди рдПрд▓рд╕реАрдбреА рд╕рдВрдХреЗрддрдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЛрд░реНрдб рдкрд░ рдПрдХ рдЬрдЧрд╣ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рдВрдХреЗрддрдХ рдкрд░, рд╢реИрдХреНрд╖рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рджреЛрдиреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрд┐рдЯ рдХреЛ рддреИрдпрд╛рд░ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордпред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореИрдиреБрдЕрд▓ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд░ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдЬрд╛рдирдХрд╛рд░реА рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдП, рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд░реВрд╕реА рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╡рд┐рд╡рд░рдгрд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╡рд░рдгрд┐рдХрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд▓рдЧрднрдЧ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд░рд▓рддрдо рдПрдХреНрдЯреНрдпреВрдПрдЯрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - рдПрдХ рдПрд▓рдИрдбреАред рд╕реЗрдЯ рдореЗрдВ рдПрдХ рддреНрд░рд┐-рд░рдВрдЧ (рдЖрд░рдЬреАрдмреА - рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛) рдЙрдЬреНрдЬреНрд╡рд▓ рдПрд▓рдИрдбреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрд▓рдИрдбреА рдХреЗ рддреАрди рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗ, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреА рддреАрд╡реНрд░рддрд╛ рдХреЛ рдмрджрд▓рдХрд░, рдорд╛рдирд╡ рдЖрдВрдЦ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг, рдХреЛрдИ рднреА рд░рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд░рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдПрдбрд┐рдЯрд┐рд╡ рдХрд▓рд░ рдорд┐рдХреНрд╕рд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреАрд╡реА рдФрд░ рдореЙрдирд┐рдЯрд░ рдореЗрдВред рддреАрди рд░рдВрдЧреЛрдВ рдХреЛ рд╕рдорд╛рди рдЕрдиреБрдкрд╛рдд рдореЗрдВ рдорд┐рд▓рд╛рдХрд░, рд╣рдореЗрдВ рдПрдХ рд╕рдлреЗрдж рд░рдВрдЧ рдорд┐рд▓рддрд╛ рд╣реИред



рд╣рдо рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛рд░реНрдб рдкрд░ XP15 рдХрдиреЗрдХреНрдЯрд░ рдХреЛ рдПрд▓рдИрдбреА рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЪрд╛рд░ рддрд╛рд░реЛрдВ рдпрд╛ рдПрдХ рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "RGB_LED" рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреИрдереЛрдб (рд╕рд╛рдорд╛рдиреНрдп "рдорд╛рдЗрдирд╕") рдХреЗ рд╕рд╛рде рдПрдХ рдПрд▓рдИрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓рдВрдмрд╛ рдПрд▓рдИрдбреА рдЖрдЙрдЯрдкреБрдЯ GND ("рдЧреНрд░рд╛рдЙрдВрдб") рдЯрд░реНрдорд┐рдирд▓ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ, рдФрд░ рд╢реЗрд╖ рдПрд▓рдИрдбреА рдЖрдЙрдЯрдкреБрдЯ RED / D5 (рд▓рд╛рд▓), BLUE / D6 (рдиреАрд▓рд╛), GREEN рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ / рдбреА 9 (рд╣рд░рд╛)ред



D5, D6 рдФрд░ D9, Arduino рдбрд┐рдЬрд┐рдЯрд▓ рдкрд┐рди рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдЖрдк рдПрд▓рдИрдбреА рдХреА рдЪрдордХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд▓реНрд╕ рдЪреМрдбрд╝рд╛рдИ рдореЙрдбреНрдпреВрд▓реЗрд╢рди (PWM) рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореИрдиреБрдЕрд▓ рдЖрд╡рд╢реНрдпрдХ рдиреНрдпреВрдирддрдо PWM рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ Arduino рдореЗрдВ рдЗрд╕ рдореЙрдбреБрд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред



рдпрд╣рд╛рдБ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рд╕реНрдХреЗрдЪ) рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╣реИ рдЬреЛ RGB LED рдХреА рдЪрдордХ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ:

рд╕реНрдкреЙрдЗрд▓рд░
//    RGB 
//-----------------------------------------------------------------------
//   
int redPin = 5;
int greenPin = 9;
int bluePin = 6;
//-----------------------------------------------------------------------
/*     1      Arduino
    */
void setup() 
{

}

//-----------------------------------------------------------------------
/*       setup         .*/

void loop() {
   /*    256 .    value      1.*/
   for(int value = 0 ; value <= 255; value ++) { 
    //      0
    analogWrite(redPin, 255-value);
    //  
    analogWrite(greenPin, value);
    //   
    analogWrite(bluePin, 0);
    //    30 
    delay(30);
  }

  /*    256 .    value      1.*/
  for(int value = 0 ; value <= 255; value ++) { 
    //  
    analogWrite(redPin, 0);
    //      0
    analogWrite(greenPin, 255-value);
    //  
    analogWrite(bluePin, value);
    //    30 
    delay(30);
  }

  /*    256 .    value      1.*/
  for(int value = 0 ; value <= 255; value ++) { 
    //  
    analogWrite(redPin, value);
    //  
    analogWrite(greenPin, 0);
    //      0
    analogWrite(bluePin, 255-value);
    //    30 
    delay(30);
  }

 //  loop    
}



рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдПрд▓рдИрдбреА рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЙрддреНрд╕рд░реНрдЬрд┐рдд рд░рдВрдЧ рдХреЛ рд▓рд╛рд▓ рд╕реЗ рд╣рд░рд╛, рдлрд┐рд░ рд╣рд░реЗ рд╕реЗ рдиреАрд▓реЗ рдФрд░ рдлрд┐рд░ рдиреАрд▓реЗ рд╕реЗ рд▓рд╛рд▓ рд╕реЗ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред
рд╣рдо рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреВрд░рдХ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрд▓рд╕реАрдбреА рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧ рдХреЗ рдЪрдордХ рдХреЗ рдЕрдиреБрд░реВрдк рдореВрд▓реНрдпреЛрдВ рдХреЛ рдиреНрдпреВрдирддрдо (0) рд╕реЗ рдЕрдзрд┐рдХрддрдо (255) рд╕рдордп рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖рдг рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдмрд┐рдЧрд╛рдбрд╝рдиреЗ рдХреЗ рддрд╣рдд рд╕рдВрд╢реЛрдзрд┐рдд рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕реНрдкреЙрдЗрд▓рд░
//    RGB 
//-----------------------------------------------------------------------
//   
int redPin = 5;
int greenPin = 9;
int bluePin = 6;
//    
int pwmRed;
int pwmGreen;
int pwmBlue;
//-----------------------------------------------------------------------
//   LiquidCrystalRus
#include <LiquidCrystalRus.h>
//  ,   LiquidCrystalRus
#include <LiquidCrystalExt.h>
#include <LineDriver.h>

//-----------------------------------------------------------------------
/*  ,      RS,EN,DB4,DB5,DB6,DB7 */
LiquidCrystalRus lcd(A1, A2, A3, 2, 4, 7);

//     1      Arduino
void setup() 
{
  //  LCD - 16 , 2 
  lcd.begin(16, 2);
  //      ()      
  lcd.print(" RED GREEN BLUE");
  
}

//-----------------------------------------------------------------------
//       setup         .

void loop() {
   /*    256 .    value      1.*/
   for(int value = 0 ; value <= 255; value ++) { 
    pwmGreen = value;
    pwmRed = 255 - value;
    //      0
    analogWrite(redPin, pwmRed);
    //  
    analogWrite(greenPin, pwmGreen);
    //   
    analogWrite(bluePin, 0);
    //    30 
    delay(30);
    Display();
  }

  /*    256 .    value      1.*/
  for(int value = 0 ; value <= 255; value ++) { 
    pwmBlue = value;
    pwmGreen = 255 - value;
    //  
    analogWrite(redPin, 0);
    //      0
    analogWrite(greenPin, pwmGreen);
    //  
    analogWrite(bluePin, pwmBlue);
    //    30 
    delay(30);
    Display();
  }

  /*    256 .    value      1.*/
  for(int value = 0 ; value <= 255; value ++) { 
    pwmRed = value;
    pwmBlue = 255 - value;
    //  
    analogWrite(redPin, pwmRed);
    //  
    analogWrite(greenPin, 0);
    //      0
    analogWrite(bluePin, pwmBlue);
    //    30 
    delay(30);
    Display();
  }

 //  loop    
}

//      ,  
void Display(){
 lcd.setCursor(0,1);
 lcd.print("                ");
 lcd.setCursor(1,1);
 lcd.print(pwmRed);
 lcd.setCursor(6,1);
 lcd.print(pwmGreen);
 lcd.setCursor(11,1);
 lcd.print(pwmBlue);
}



рдЕрдм рдЖрдЗрдП рдмреЛрд░реНрдб рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдмрдЯрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред



рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рдмрдЯрди рдПрдХ рдЕрд▓рдЧ Arduino рдбрд┐рдЬрд┐рдЯрд▓ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдпреЗ рдЖрдЙрдЯрдкреБрдЯ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред Arduino рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рд╕реЗрдЯ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдмреЛрд░реНрдб рдореЗрдВ рдмрдЯрди рдкреНрд░реЗрд╕ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдПрдХ "рдПрдирд╛рд▓реЙрдЧ" рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрдХ Arduino рдПрдирд╛рд▓реЙрдЧ рдЗрдирдкреБрдЯ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдШрд░реЗрд▓реВ рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рд╡реЛрд▓реНрдЯреЗрдЬ рд╡рд┐рднрдХреНрдд рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рд╡реЛрд▓реНрдЯреЗрдЬ рдХреЛ рдорд╛рдкрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдореИрдиреБрдЕрд▓ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдбрд┐рд╡рд╛рдЗрдбрд░ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдХреАрдмреЛрд░реНрдб рдореЗрдВ рдЗрд╕рдХреЗ рдЖрд╡реЗрджрди рдХреА рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рдмрдЯрди рдХреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ, рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рджрдмрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Arduino рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

рд╕реНрдкреЙрдЗрд▓рд░
//           
//-----------------------------------------------------------------------
//     LiquidCrystal
#include <LiquidCrystal.h>

//      
#define NUM_KEYS 5
//      ( )
int  adcKeyVal[NUM_KEYS] = {30, 150, 360, 535, 760};
//-----------------------------------------------------------------------
//  ,      RS,EN,DB4,DB5,DB6,DB7
LiquidCrystal lcd(A1, A2, A3, 2, 4, 7);

//-----------------------------------------------------------------------
//     1      Arduino
void setup() 
{
  //  LCD   -16   2 
  lcd.begin(16, 2);
  //      ()      

  //     Keyboard
  lcd.print("Keyboard");  
 
  //    2000 = 2 
  delay(2000); 
}

//-----------------------------------------------------------------------
//       setup         .

void loop() {
  //     key
  int key;
  
  //       ,      get_key
  key = get_key();
 
  //      
  lcd.clear();
  //      ()     
 
  //     . -      
  lcd.print(key); 
  
  //    100 = 0,1 
  delay(100);
 //  loop    
}

//-----------------------------------------------------------------------
//          
//     ,    
//     ,    
int get_key()
	{
	  int input = analogRead(A6);
	  int k;
	  for(k = 0; k < NUM_KEYS; k++) 
	    if(input < adcKeyVal[k]) 
	      return k + 1;     
	  return 0;
	}



рдХреМрди рд╕рд╛ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдПрд▓рд╕реАрдбреА рд╕рдВрдХреЗрддрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдмрдЯрди рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдХреЗрддрдХ рдкрд░ рджрдмрд╛рдП рдЧрдП рдмрдЯрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдПрдЧреАред

Get_key рдлрд╝рдВрдХреНрд╢рди рджрдмрд╛рдП рдЧрдП рдмрдЯрди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрд╢рд╛рдВрдХрди рдореВрд▓реНрдпреЛрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡рд┐рднрдХреНрдд рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рд╡реЛрд▓реНрдЯреЗрдЬ рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

#include <LiquidCrystal.h>
LiquidCrystal lcd(A1, A2, A3, 2, 4, 7);
void setup() 
{
  lcd.begin(16, 2);
  lcd.print("Press keys");  
  delay(2000); 
}
void loop() {
  
  int input = analogRead(A6);
  lcd.clear();
  lcd.print(input); 
  delay(100);
}


рдЗрд╕реЗ Arduino рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреМрди рд╕реЗ рдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХреА рдЕрдВрд╢рд╛рдВрдХрди рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдЖрдЗрдП рдЕрдм рд╣рдо рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрд▓рдИрдбреА рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЪрд▓реЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:

тАв рдЬрдм рдЖрдк рдмрдЯрди 1 (рджреВрд░ рдмрд╛рдПрдВ) рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рд▓рд╛рд▓ рдмрддреНрддреА рдКрдкрд░ 2 рдмрдЯрди рдкрд░ - рд╣рд░рд╛, 3 - рдиреАрд▓рд╛ред рдЬрдм рдмрдЯрди рдлрд┐рд░ рд╕реЗ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд╛рд╢ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХреЗрддрдХ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд░рдВрдЧ рдЪрд╛рд▓реВ рд╣реИрдВред
тАв рдЬрдм рдмрдЯрди 4 рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд░рдВрдЧ рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ,
рдЬрдм рдмрдЯрди 5 рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рднреА рд░рдВрдЧ рдирд┐рдХрд▓ рдЬрд╛рддреЗ рд╣реИрдВред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕реНрдХреЗрдЪ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ:

рд╕реНрдкреЙрдЗрд▓рд░
//       RGB-
//-----------------------------------------------------------------------
//     LiquidCrystal
#include <LiquidCrystal.h>

//      
#define NUM_KEYS 5
//      ( )
int  adcKeyVal[NUM_KEYS] = {30, 150, 360, 535, 760};
#define redLED 5
#define greenLED 9
#define blueLED 6
//-----------------------------------------------------------------------
//  ,      RS,EN,DB4,DB5,DB6,DB7
LiquidCrystal lcd(A1, A2, A3, 2, 4, 7);
int redLEDstate = 0;
int greenLEDstate = 0;
int blueLEDstate = 0;
int flag = 0;

//-----------------------------------------------------------------------
//     1      Arduino
void setup() 
{
  pinMode(redLED, OUTPUT);
  pinMode(greenLED, OUTPUT);
  pinMode(blueLED, OUTPUT);
  //  LCD   -16   2 
  lcd.begin(16, 2);
  //      ()      

  //     
  lcd.print("Try Keys + LEDs");  
 
  //    1000 = 1 
  delay(1000); 
  //    
  lcd.clear();
}

//-----------------------------------------------------------------------
//       setup         .

void loop() {
  //     key
  int key;
  //       ,      get_key
  key = get_key();
  //   ,      
  // C   flag     ,      
     if(key == 1 && flag == 0) {                                              
        digitalWrite(redLED, !digitalRead(redLED));
        flag = 1;
      }
     if(key == 2 && flag == 0) {  //   : if(key == 2 && !flag)                                            
        digitalWrite(greenLED, !digitalRead(greenLED));
        flag = 1;
      }
    if(key == 3 && !flag)  {                                              
        digitalWrite(blueLED, !digitalRead(blueLED));
        flag = 1;
      }
    if(key == 4 && !flag)  {                                              
        digitalWrite(redLED, !digitalRead(redLED));
        digitalWrite(greenLED, !digitalRead(greenLED));
        digitalWrite(blueLED, !digitalRead(blueLED));
        flag = 1;
      }
    if(key == 5 && !flag){                                              
        digitalWrite(redLED, LOW);
        digitalWrite(greenLED, LOW);
        digitalWrite(blueLED, LOW);
        flag = 1;
      }
    //      ,    
    if(!key && flag) //  if(key == 0 && flag == 1)
      {
        flag = 0;
      }        
   //        ,   
   if (digitalRead(redLED)) { //  if (digitalRead(redLED) == 1)
         lcd.setCursor(0,0);
         lcd.print("Red");
        }
        else {
         lcd.setCursor(0,0);
         lcd.print("   ");
        }
   if (digitalRead(greenLED)) {
         lcd.setCursor(5,0);
         lcd.print("Green");
        }
        else {
         lcd.setCursor(5,0);
         lcd.print("     ");
        }
    if (digitalRead(blueLED)) { 
         lcd.setCursor(11,0);
         lcd.print("Blue");
        }
        else {
         lcd.setCursor(11,0);
         lcd.print("    ");
        }

 //  loop    
}

//-----------------------------------------------------------------------
//          
//     ,    
//     ,    
int get_key()
	{
	  int input = analogRead(A6);
	  int k;
	  for(k = 0; k < NUM_KEYS; k++) 
	    if(input < adcKeyVal[k]) 
	      return k + 1;     
	  return 0;
	}



рдирд┐рд╖реНрдХрд░реНрд╖ рдореЗрдВ, рд╣рдо рд╡рд░реНрдгрд┐рдд рдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдЫреЛрдЯрд╛ рд╡реАрдбрд┐рдпреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддреЗ рд╣реИрдВред



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

рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд▓реВрдЯреВрде рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХреЗ рд╕рд╛рде Arduino рдХреА рдмрд╛рддрдЪреАрдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдПрдордЖрдИрдЯреА рдРрдк рдЖрд╡рд┐рд╖реНрдХрд╛рд░рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд░реЗрдВрдЧреЗ , рдЬрд┐рд╕реЗ рдореИрд╕рд╛рдЪреБрд╕реЗрдЯреНрд╕ рдЗрдВрд╕реНрдЯреАрдЯреНрдпреВрдЯ рдСрдл рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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


All Articles