рдЧреАрдХ рд╢реИрд▓реА рдореЗрдВ рдмрдзрд╛рдИ, рдмрд┐рдирд╛ рдЬрд▓рд╛рдК рд▓рдХрдбрд╝реА рдХреЗ рд▓реЗрдЦрди



рдореИрдВрдиреЗ рдХреЙрдорд░реЗрдб рдбрд▓рд┐рдирдЬ рд╕реЗ "рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдмрдирд╛рдирд╛" рд▓реЗрдЦ рдкрдврд╝рд╛ рдФрд░ рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЖрд╡рд╛рдЬ рдЙрдард╛рдИ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реЛ рдЧрдпрд╛ред рдЕрд░реНрдерд╛рддреН,

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


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



рд▓реЛрд╣рд╛



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

рдмреЛрд░реНрдб рдЙрдкрд╕реНрдерд┐рддрд┐

рдЗрд╕ рдмреЛрд░реНрдб рдореЗрдВ рдХрд╛рдлреА рдЕрдзрд┐рдХрддрд╛рдПрдВ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЛрдЬрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдкреВрд░реНрдг рдЖрдХрд╛рд░ рдХреА рд░реВрдкрд░реЗрдЦрд╛

рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдбрд┐рдпреЛ рд╢реМрдХрд┐рдпрд╛ рдореЗрдВ рд╕рдВрднрд╡рддрдГ рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ AVR рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реНрдХрд╛рд░реНрдл рд╣реИ, рдХреЗрд╡рд▓ рдХреБрдЫ рдЕрдиреНрдп рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рдеред FT232RL рдХреЛ MAX232 (рдЙрдЪрд┐рдд рдмреЙрдбреА рдХрд┐рдЯ рдХреЗ рд╕рд╛рде) рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рд░реЗрдбреА-рдореЗрдб USB-UART рдПрдбреЗрдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдмреИрдХрд▓рд╛рдЗрдЯ рдЯреНрд░рд╛рдВрдЬрд┐рд╕реНрдЯрд░ рднреА рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ (рдпрд╣ рдПрдХ рдмреИрдХрд▓рд╛рдЗрдЯ рдХрдВрдЯреНрд░реЛрд▓ рд╕рд░реНрдХрд┐рдЯ рд╣реИ)ред рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬрдореАрди рд╕реЗ рдЬреЛрдбрд╝рдХрд░ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЬреЛ DIHALT рдкрд┐рдирдмреЙрд░реНрдб v1 рдбрд┐рдмрдЧ рдмреЛрд░реНрдб рдХреЗ рдЦреБрд╢ рдорд╛рд▓рд┐рдХ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬ рдФрд░ рдорд┐рд▓рд╛рдк рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдЖрдкрдХреА рдЬрд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред


рдкрд┐рдирдмреЙрд░реНрдб v1

рд▓рдЧрднрдЧ рдпрд╣реА рдмрд╛рдд рдЕрд░реНрдбрд┐рдиреЛ рдХреЗ рдорд╛рд▓рд┐рдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдХрд╣реА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЖрдкрдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреНрд░рд╛рд╕реНрдЯ рдФрд░ рддрд╛рд░реЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рдбрд┐рд╕реНрдкреНрд▓реЗ, рдПрдХ рдкреНрд░рддрд┐рд░реЛрдзрдХ рдЦреЛрдЬрдирд╛ рд╣реЛрдЧрд╛


Arduino

рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реБрдП рдХрд┐ рдореЗрд░реЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛ (рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ), рдореИрдВрдиреЗ рдореМрдЬреВрджрд╛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдлрд░реНрдорд╡реЗрдпрд░ рд▓рд┐рдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ Atmega 16 рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред

рд╢реАрддрд▓!



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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдиреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ HD44780_hw.h
#include "hd44780_hw.h" //describe LCD PINS connection 


UART рдХреА рдЧрддрд┐ рдХреЛ 9600 рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рд╣реБрдЖ, рдФрд░ рдпрд╣ рдордд рдкреВрдЫреЛ рдХрд┐ рдХреНрдпреЛрдВред

 #define baudrate 9600L 


рд╕рднреА рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд░рдВрднреАрдХрд░рдг HwInit рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╣реИред рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ:

 //HW initialisation void HwInit(void) { //InitUSART UBRRL = LO(bauddivider); UBRRH = HI(bauddivider); UCSRA = 0; UCSRB = 1<<RXEN|1<<TXEN|1<<RXCIE|0<<TXCIE; UCSRC = 1<<URSEL|1<<UCSZ0|1<<UCSZ1; sei();//  //InitLCD lcd_init(LCD_DISP_ON); lcd_clrscr(); } 


рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдИрдПрд╕рд╕реА рдЕрдиреБрдХреНрд░рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓реЙрдиреНрдЧ рд╕реЗ рд▓рд┐рдпрд╛ рдерд╛, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рддрджрдиреБрд╕рд╛рд░ рдорд╛рдЗрдХрд▓ рдореИрдХрд▓реЗрд▓рди рд╕реЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ lptlcd рдореЗрдВ рд▓рд┐рдпрд╛ ред рд╣реИрдВрдбрд▓рд░ рд╕реНрд╡рдпрдВ esc.c рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рд╣рдо рдЙрд╕реА рд╣реИрдВрдбрд▓ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ рдЗрдВрдкреНрдпреВрдЯ рдлрд╝рдВрдХреНрд╢рди, рдЬреЛ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ UARTA рдХреЛ рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

 //UART interapt ISR(USART_RXC_vect) { handleInput(UDR); return; } 


UART рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдЗрдЯ рдореЗрдВ рд░реБрдХрд╛рд╡рдЯ рдЖрддреА рд╣реИред рдФрд░ рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд╣рдо рд╕рдВрднрд╛рд▓ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рд╣реИрдВрдбрд▓ рдХреЛ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред

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

рдкрд░реАрдХреНрд╖рдг



рд╕рдВрдХрд▓рд┐рдд рдХрд░реЗрдВред рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд▓рд┐рдП, рдореИрдВ AVR рд╕реНрдЯреВрдбрд┐рдпреЛ рд╕рдВрд╕реНрдХрд░рдг 4 + avr-toolchain (3.3.0.710) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред Sewsред рдЬрдм рд╣рдо рдлрд░реНрдорд╡реЗрдпрд░ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рдИрдПрд╕рд╕реА рдЕрдиреБрдХреНрд░рдореЛрдВ рдкрд░ рдПрдХ рдФрд░ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВред рдореИрдВ рдореВрд▓ рд▓реЗрдЦ рдХрд╛ рдкрд╛рда рдЙрджреНрдзреГрдд рдХрд░рддрд╛ рд╣реВрдВред

рддреЛ, рд╣рдорд╛рд░реА рд╕реНрдХреНрд░реАрди рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдВ:

  • \ 033 = ESC рдЕрдиреБрдХреНрд░рдо рднреЗрдЬрдирд╛ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ
  • [A = рдХрд░реНрд╕рд░ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдКрдкрд░ рд▓реЗ рдЬрд╛рдПрдВ
  • [B = рдХрд░реНрд╕рд░ рдХреЛ рдПрдХ рд░реЗрдЦрд╛ рд╕реЗ рдиреАрдЪреЗ рд▓реЗ рдЬрд╛рдПрдБ
  • [C = рдХрд░реНрд╕рд░ рдХреЛ рджрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдВ
  • [D = рдХрд░реНрд╕рд░ рдХреЛ рдмрд╛рдИрдВ рдУрд░ рд▓реЗ рдЬрд╛рдПрдВ
  • [H = рдХрд░реНрд╕рд░ рдХреЛ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рд▓реЗ рдЬрд╛рдПрдБ - рдШрд░ (рд╕реНрдерд┐рддрд┐ 0,0)
  • [рдЬреЗ = рд╕рдм рдХреБрдЫ рд╕рд╛рдлрд╝ рдХрд░реЗрдВ, рдХрд░реНрд╕рд░ рдШрд░ рд╡рд╛рдкрд╕ рди рдХрд░реЗрдВ!
  • [K = рдкрдВрдХреНрддрд┐ рдХреЗ рдЕрдВрдд рдореЗрдВ рдорд┐рдЯрд╛рддрд╛ рд╣реИ, рдХрд░реНрд╕рд░ рдХреЛ рдШрд░ рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИ!
  • [M = рдирдпрд╛ рдЪрд░рд┐рддреНрд░ рдорд╛рдирдЪрд┐рддреНрд░ (DZ - рд╕рдордЭрд╛рдПрдВ рдХреНрдпреЛрдВ!)
  • [Y = рд╕реНрдерд┐рддрд┐ Y (рдиреАрдЪреЗ FAQ рджреЗрдЦреЗрдВ)
  • [X = рд╕реНрдерд┐рддрд┐ X (рдиреАрдЪреЗ FAQ рджреЗрдЦреЗрдВ)
  • [R = CGRAM рдореЗрдореЛрд░реА рдЪрдпрди
  • [V = рд╕реНрдХреНрд░реЙрд▓ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рдЧрдпрд╛
  • [W = рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛ рдЕрдХреНрд╖рдо рд╣реИ
  • [рдмреА = рдмреИрдХрд▓рд╛рдЗрдЯ рдЪрд╛рд▓реВ / рдмрдВрдж рд╣реИ (рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛)ред


рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдХрдорд╛рдВрдб \ 033 рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ!

  • \ r = рдХреИрд░рд┐рдЬ рд░рд┐рдЯрд░реНрди (рд╡рд░реНрддрдорд╛рди рд▓рд╛рдЗрди рдкрд░ рдХрд░реНрд╕рд░ рдХреЛ рд╕реНрдерд┐рддрд┐ 0 рдкрд░ рд▓реМрдЯрд╛рдПрдВ!)
  • \ n = рдирдИ рдкрдВрдХреНрддрд┐
  • \ t = рдЯреИрдм (рдбрд┐рдлрд╝реЙрд▓реНрдЯ 3 рд╡рд░реНрдг)



рдореИрдВ рдпрд╣ рднреА рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдореВрд▓ рд▓реЗрдЦ habrahabr.ru/post/206148 рдкрд░ рдлрд┐рд░ рд╕реЗ рд▓реМрдЯреЗрдВ рдФрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдлрдПрдХреНрдпреВ рджреЗрдЦреЗрдВ - рдЙрдирдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдЙрджрд╛рд╣рд░рдгред
рд╣рдо USB рдкреЛрд░реНрдЯ рдкрд░ рдирдП рдлреНрд▓реИрд╢ рдХрд┐рдП рдЧрдП рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдФрд░ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, dmesg рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде, рдХрд┐ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдПрдХ рдирдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ:

 /dev/ttyUSB0 


рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджреЗрдВ:

  echo -en "\033[H\033[J Happy GEEEKS\r\n Happy New Year" > /dev/ttyUSB0 


рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдЧреАрдХреНрд╕ рд╕реЗ рдирдП рд╕рд╛рд▓ рдХреА рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВ:


GIKOVSKY рдХреЛ рдмрдзрд╛рдИ !!!

рдЦреИрд░, рд╕рдордп-рд╡реНрдпреБрддреНрдкрддреНрддрд┐ рд▓рд┐рдкрд┐ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╣реЛ рдЧрдИ рд╣реИ рд╡рд╣ рднреА рдХрд╛рдо рдХрд░рддреА рд╣реИ:

 while true; do echo -en "\033[H`date +\"%d.%m.%Y\"` \r\n`date +%r`" > /dev/ttyUSB0 ; sleep 1s; done 



рдмреВрдо рдШрдбрд╝реА

рд▓реЗрдХрд┐рди PinBoard V1 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?



рдкрд┐рдирдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдмрд╕ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЛ рдЖрд░реЗрдЦ рдореЗрдВ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкрд╣рд▓реЗ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реИ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдЗрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдкрд┐рди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рд╕реНрдХреНрд░реАрди hd44780_hw.h рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдиреЗрдХреНрдЯ рд╣реЛред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 #define LCD_DATA_PIN_D7 PA6 /* arbitrary pin for LCD data line D7 */ #define LCD_DATA_PIN_D6 PA5 /* arbitrary pin for LCD data line D6 */ #define LCD_DATA_PIN_D5 PA4 /* arbitrary pin for LCD data line D5 */ #define LCD_DATA_PIN_D4 PA3 /* arbitrary pin for LCD data line D4 */ #define LCD_DATA_PINR_D7 PINA /* input pin register for LCD data line D7 */ #define LCD_DATA_PINR_D6 PINA /* input pin register for LCD data line D6 */ #define LCD_DATA_PINR_D5 PINA /* input pin register for LCD data line D5 */ #define LCD_DATA_PINR_D4 PINA /* input pin register for LCD data line D4 */ #define LCD_DATA_DDR_D7 DDRA /* ddr for LCD data line D7 */ #define LCD_DATA_DDR_D6 DDRA /* ddr for LCD data line D6 */ #define LCD_DATA_DDR_D5 DDRA /* ddr for LCD data line D5 */ #define LCD_DATA_DDR_D4 DDRA /* ddr for LCD data line D4 */ #define LCD_DATA_PORT_D7 PORTA /* port for LCD data line D7 */ #define LCD_DATA_PORT_D6 PORTA /* port for LCD data line D6 */ #define LCD_DATA_PORT_D5 PORTA /* port for LCD data line D5 */ #define LCD_DATA_PORT_D4 PORTA /* port for LCD data line D4 */ #define LCD_RS_DDR DDRA /* ddr for RS line */ #define LCD_RS_PORT PORTA /* port for RS line */ #define LCD_RS_PIN PA0 #define LCD_RW_DDR DDRA /* ddr for RW line */ #define LCD_RW_PORT PORTA /* port for RW line */ #define LCD_RW_PIN PA1 #define LCD_E_DDR DDRA /* ddr for Enable line */ #define LCD_E_PORT PORTA /* port for Enable line */ 


рд╣рдо рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкрд┐рдирдмреЛрд░реНрдб рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ, рд╕рдВрдХрд▓рд┐рдд рдФрд░ рдлреНрд▓реИрд╢ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

 echo -en "\033[H033[JSpasibo DiHalt" > /dev/ttyUSB0 



рдмреЛрд░реНрдб рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рд╣реИ?



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

рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╕реНрдХреНрд░реАрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдЧреАрджрдбрд╝ рддрд░реАрдХреЗ рд╕реЗ рдмрдзрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдИрдПрд╕рд╕реА рдЕрдиреБрдХреНрд░рдо рдПрдХ рдирд┐рдпрдорд┐рдд рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдХреЗ, рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
 while true; do echo -en "\033[H`date +\"%d.%m.%Y\"` \r\n`date +%r`" ; sleep 1s; done 


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


рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╕рд╣реА рджреЗрдЦреЗрдВ

рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдкрд╖реНрдЯ рдЬреЛрдбрд╝реЗрдВ; рдЕрдм рд╕рдм рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

  clear; while true; do echo -en "\033[H`date +\"%d.%m.%Y\"` \r\n`date +%r`" ; sleep 1s; done 



рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрдЬрд╛рдп рдХрдВрд╕реЛрд▓

рдкрд░рд┐рдгрд╛рдо



рдореИрдВ рдЫреБрдЯреНрдЯреА рдХрд╛ рдорд╛рд╣реМрд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЫреБрдЯреНрдЯреА рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рджреЛрд╕реНрддреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИред рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдЕрд▓рд╛рд╡рд╛ рджреЛрд╕реНрддреЛрдВ рдХреЗ рд▓рд┐рдП geek рдФрд░ рдХрд╣рд╛рдБ рд╣реИ? рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдФрд░ рд╣рдо рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдирд╡ рд╡рд░реНрд╖ рдХреА рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╡рд┐рджреЗрд╢реА рддрд░реАрдХрд╛ рдЪреБрдирддреЗ рд╣реИрдВ!

рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ:



рдореЗрд░реЗ рдмреЛрд░реНрдб рдФрд░ рдкрд┐рдирдмреЛрд░реНрдб рдХреЗ рд╕реНрд░реЛрдд рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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


All Articles