எல்சிடி டிஸ்ப்ளே பின்அவுட். WH1602 டிஸ்ப்ளேவுடன் இணைத்து வேலை செய்கிறது. i2c LCD டிஸ்ப்ளேவுடன் பணிபுரியும் நூலகங்கள்

எலக்ட்ரானிக்ஸ் மீதான எனது ஆர்வம் முழுவதும், பல உற்பத்தியாளர்களிடமிருந்து எல்சிடிகளைப் பயன்படுத்த எனக்கு வாய்ப்பு கிடைத்தது - DataVision, WINSTAR, Uniworld Technology Corp. அவை கட்டுப்படுத்தியின் வகை, ஊசிகளின் எண்ணிக்கை மற்றும் கோடுகளின் நீளம் ஆகியவற்றில் வேறுபடுகின்றன, ஆனால் அவை அனைத்தும் ஒரே இணைப்பு வரைபடம், கட்டளை அமைப்பு மற்றும் மைக்ரோகண்ட்ரோலரிலிருந்து அதே நிரலால் சேவை செய்யப்பட்டன. எனவே, இப்போது நாம் காட்சியைப் பற்றி பேசுவோம் WINSTAR இலிருந்து WH0802A, கீழே கூறப்பட்டுள்ள அனைத்தும் மற்ற நிறுவனங்களின் எழுத்து LCD டிஸ்ப்ளேக்களுக்கு பொருந்தும்.

எனவே, WH0802A-YGH-CT காட்சியை மைக்ரோகண்ட்ரோலருடன் இணைக்கிறோம்

WH0802A என்பது உள்ளமைக்கப்பட்ட KS0066 கட்டுப்பாட்டுக் கட்டுப்படுத்தியுடன் 8 எழுத்துகளுக்கான இரண்டு-வரி எழுத்துக் காட்சியாகும்.
காட்சி ஊசிகளின் நோக்கத்தைப் பார்ப்போம்.

சில காட்சிகளில் இரண்டு கூடுதல் பின்கள் உள்ளன - பின்னொளி ஊசிகள் +எல்இடி மற்றும் -எல்இடி. மேலும், முடிவுகள் இருந்தால், பின்னொளி இருப்பதாக இது அர்த்தப்படுத்துவதில்லை. அதே போல் நேர்மாறாகவும். எனது காட்சியில் பின்னொளி உள்ளது, ஆனால் கட்டுப்பாட்டு ஊசிகள் இல்லை.

இயல்பாக, WH0802A-YGH-CT டிஸ்ப்ளேவின் பின்னொளி முடக்கப்பட்டுள்ளது. அதை இயக்க, நீங்கள் இரண்டு எளிய கையாளுதல்களைச் செய்ய வேண்டும், அதாவது, இரண்டு ஜம்பர்களை நிறுவவும் மற்றும் தற்போதைய-கட்டுப்படுத்தும் மின்தடையத்தை சாலிடர் செய்யவும் (முறையே புகைப்படம் RK, JF மற்றும் RA ஐப் பார்க்கவும்).

இணைப்பு வரைபடத்தைக் காண்பி

இது எழுத்து LCDகளை இணைப்பதற்கான ஒரு பொதுவான வரைபடமாகும். டிஸ்ப்ளே பேக்லைட் கண்ட்ரோல் சர்க்யூட்டை நாங்கள் பயன்படுத்த மாட்டோம், ஆனால் நான் அதை வரைந்தேன்.

தொடக்க குறியீடு

சுற்றுக்கு சக்தியைப் பயன்படுத்திய பிறகு, நீங்கள் கான்ட்ராஸ்ட் ரெகுலேட்டரை (தடை R1) திருப்ப வேண்டும். மேல் வரி திரையில் தோன்றினால், அது உயிருடன் இருப்பதாகவும், குறியீட்டை எழுதத் தொடங்கும் நேரம் என்றும் அர்த்தம். ஆரம்ப கட்டத்தில் 8 பிட் பஸ்ஸைப் பயன்படுத்துவோம். முதல் முடிவுகளைப் பெற, நாம் இரண்டு செயல்பாடுகளை எழுத வேண்டும் - தரவு பதிவு செயல்பாடு மற்றும் கட்டளை பதிவு செயல்பாடு. அவை ஒரு வரியில் வேறுபடுகின்றன - தரவு எழுதப்படும் போது, ​​RS சிக்னல் 1 ஆக இருக்க வேண்டும், ஒரு கட்டளை எழுதப்படும் போது, ​​RS 0 ஆக இருக்க வேண்டும். நாங்கள் இப்போது வாசிப்பு செயல்பாடுகளைப் பயன்படுத்த மாட்டோம், எனவே R/W சமிக்ஞை எப்போதும் 0 ஆக இருக்கும். .

8-பிட் பேருந்திற்கான எழுதும் சுழற்சி இதுபோல் தெரிகிறது:
1. RS ஐ அமைக்கவும் (0 - கட்டளை, 1 - தரவு)
2. தரவு பைட்டின் மதிப்பை DB7...DB0 பஸ்ஸுக்கு வெளியிடவும்
3. E=1 அமை
4. மென்பொருள் தாமதம் 1
5. E=0 என அமை
6. மென்பொருள் தாமதம் 2

எல்சிடி கேரக்டர் டிஸ்ப்ளே கன்ட்ரோலர் முடிவில்லாத வேகமானது அல்ல, எனவே சில செயல்பாடுகளுக்கு இடையே மென்பொருள் தாமதங்கள் பயன்படுத்தப்படுகின்றன. முதலில் ஸ்ட்ரோப் சிக்னலை சிறிது நேரம் வைத்திருக்க வேண்டும், இரண்டாவது கட்டுப்படுத்திக்கு தரவை எழுத அல்லது கட்டளையை இயக்க நேரம் கிடைக்கும். டிஸ்ப்ளே கன்ட்ரோலரின் விளக்கத்தில் எப்பொழுதும் தாமத மதிப்புகள் கொடுக்கப்படுகின்றன, மேலும் அவற்றின் குறைந்தபட்ச மதிப்பை நீங்கள் எப்போதும் பராமரிக்க வேண்டும், இல்லையெனில் கட்டுப்படுத்தியின் செயல்பாட்டில் தோல்விகள் தவிர்க்க முடியாதவை.

பொதுவாக, டிஸ்ப்ளே கன்ட்ரோலரில் பிஸி கொடி என்று அழைக்கப்படுகிறது - பிஎஃப். கொடி 1 ஆக இருந்தால், கன்ட்ரோலர் பிஸியாக உள்ளது, அது 0 ஆக இருந்தால், அது இலவசம். இரண்டாவது மென்பொருள் தாமதத்திற்குப் பதிலாக, பிஸியாக இருக்கும் கொடியைப் படித்து, டிஸ்ப்ளே கன்ட்ரோலர் எப்போது இலவசம் என்பதைச் சரிபார்க்கலாம். ஆனால் முதல் முடிவுகளை விரைவாகப் பெற விரும்புவதால், பிஸியான கொடியை பின்னர் கையாள்வோம்.

//எழுத்து LCD டிஸ்ப்ளேவை AVR உடன் இணைக்கவும்
#சேர்க்கிறது
#சேர்க்கிறது

//எல்சிடி டேட்டா பஸ் இணைக்கப்பட்டுள்ள துறைமுகம்
#போர்ட்_டேட்டா போர்ட்டியை வரையறுக்கவும்
#PIN_DATA PINDஐ வரையறுக்கவும்
#DDRX_DATA DDRDஐ வரையறுக்கவும்

//கட்டுப்பாட்டு ஊசிகள் இணைக்கப்பட்டுள்ள துறைமுகம்
#போர்ட்_SIG போர்ட்பியை வரையறுக்கவும்
#PIN_SIG PINB ஐ வரையறுக்கவும்
#DDRX_SIG DDRB ஐ வரையறுக்கவும்

//மைக்ரோகண்ட்ரோலர் பின் எண்கள்
//எல்சிடி கட்டுப்பாட்டு ஊசிகள் இணைக்கப்பட்டுள்ளன
#RS 5 ஐ வரையறுக்கவும்
#RW 6ஐ வரையறுக்கவும்
# EN 7 ஐ வரையறுக்கவும்

//பிட்களுடன் வேலை செய்வதற்கான மேக்ரோக்கள்
#Defin ClearBit(reg, bit) reg &= (~(1<<(bit)))
#வரையறை SetBit(reg, bit) reg |= (1<<(bit))

#F_CPU 8000000 ஐ வரையறுக்கவும்
எங்களை_தாமதம்_வரையறு __தாமத_சுழற்சிகள்((F_CPU / 1000000) * (நாங்கள்));
#டெலைன்_எம்எஸ்(எம்எஸ்) __தாமத_சுழற்சிகள்((F_CPU / 1000) * (ms));

//கட்டளை பதிவு செயல்பாடு
வெற்றிடமானது LcdWriteCom( கையொப்பமிடாத கரிதகவல்கள்)
{
ClearBit(PORT_SIG, RS); // RS ஐ 0 ஆக அமைக்கவும்
PORT_DATA = தரவு; // பேருந்திற்கு தரவு வெளியீடு
SetBit(PORT_SIG, EN); // E ஐ 1 ஆக அமைக்கவும்
_delay_us(2);
ClearBit(PORT_SIG, EN); // E ஐ 0 ஆக அமைக்கவும்
_delay_us(40);

//தரவு பதிவு செயல்பாடு

வெற்றிடமானது LcdWriteData( கையொப்பமிடாத கரிதகவல்கள்)
{
SetBit(PORT_SIG, RS); //RS ஐ 1 ஆக அமைக்கவும்
PORT_DATA = தரவு; //பேருந்திற்கு தரவு வெளியீடு
SetBit(PORT_SIG, EN); //E ஐ 1 ஆக அமைக்கவும்
_delay_us(2);

ClearBit(PORT_SIG, EN); // E ஐ 0 ஆக அமைக்கவும்

தாமதம் (40);
}

முழு எண்ணாகமுக்கிய( வெற்றிடமானது )
{
போது (1);
திரும்ப 0;
}

இங்கே சிக்கலான பகுதிகள் எதுவும் இல்லை, எல்லாம் தெளிவாக இருக்க வேண்டும். மேலே போ.

எந்த LCD டிஸ்ப்ளேயும் பயன்படுத்துவதற்கு முன் துவக்கப்பட வேண்டும்.துவக்க செயல்முறை பொதுவாக காட்சி கட்டுப்படுத்திக்கான தரவுத்தாளில் விவரிக்கப்படுகிறது. ஆனால் அங்கு எந்த தகவலும் இல்லாவிட்டாலும், வரிசை பெரும்பாலும் இப்படித்தான் இருக்கும்.

1. உணவு பரிமாறவும்

2. காத்திருங்கள் > 40 எம்.எஸ்

3. செயல்பாடு தொகுப்பு கட்டளையை வழங்கவும்

டி.எல்.- பஸ் அகல அமைப்பு பிட்
0 – 4 பிட் பஸ், 1 – 8 பிட் பஸ்

என்- காட்சி வரிகளின் எண்ணிக்கையை அமைப்பதற்கான பிட்
0 - ஒரு வரி முறை, 1 - இரண்டு வரி முறை

எஃப்- எழுத்துரு அமைப்பு பிட்
0 – வடிவம் 5*8, 1 – வடிவம் 5*11

* - இந்த பிட்களில் என்ன இருக்கும் என்பது முக்கியமல்ல

4. Display ON/OFF கட்டளையை வழங்கவும்

டி- ஆன்/ஆஃப் பிட் காட்சி
0 - டிஸ்ப்ளே ஆஃப், 1 - டிஸ்ப்ளே ஆன்

சி- கர்சர் ஆன்/ஆஃப் பிட்
0 – கர்சர் முடக்கப்பட்டது, 1 – கர்சர் இயக்கப்பட்டது

பி- ஃப்ளிக்கர் இயக்க பிட்
0 - ஒளிரும் கர்சர் இயக்கப்பட்டது, 1 - ஒளிரும் கர்சர் முடக்கப்பட்டது

5. தெளிவான காட்சி கட்டளையை வழங்கவும்


6. காத்திரு > 1.5 எம்எஸ்

7. என்ட்ரி மோட் செட் கட்டளையை வழங்கவும்

I/D- DDRAM முகவரியை அதிகரிக்கும்/குறைக்கும் வரிசை (தரவு ரேம் காட்சி)
0 - கர்சர் இடதுபுறமாக நகர்கிறது, முகவரி 1 குறைகிறது, 1 - கர்சர் வலதுபுறமாக நகர்கிறது, முகவரி 1 ஆக அதிகரிக்கிறது

SH- முழு காட்சியின் மாற்ற வரிசை
0 – ஷிப்ட் இல்லை, 1 – ஷிப்ட் I/D சிக்னலின் படி நிகழ்கிறது – ஒன்று இருந்தால் 0 – டிஸ்ப்ளே வலப்புறம் மாறும், 1 – டிஸ்ப்ளே இடது பக்கம் மாறுகிறது

எங்கள் உதாரணத்திற்கு, துவக்க செயல்பாடு இப்படி இருக்கும்

மைக்ரோகண்ட்ரோலரைக் கட்டுப்படுத்துவது மற்றும் மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி எதையாவது கட்டுப்படுத்துவது எப்படி என்பதை நாங்கள் கற்றுக்கொண்டோம். இப்போது, ​​எங்கள் சாதனத்தை மிகவும் நட்பாக மாற்ற, அதனுடன் ஒரு காட்சியை இணைப்போம்.

இப்போதே முன்பதிவு செய்கிறேன்: காட்சி அடையாளமாக உள்ளது. இதன் பொருள் அவருக்குள், அவரது நினைவாக, அவருக்கு ஏற்கனவே ஒரு எழுத்துக்கள் உள்ளன. வரியை அச்சிடுவதற்கான கட்டளையை வழங்கினால் போதும்.

காட்சிகள் வேறுபட்டவை: திரை பின்னொளியின் வெவ்வேறு வண்ணங்கள், வெவ்வேறு எண்ணிக்கையிலான வரிகள், ஒரு வரிக்கு வெவ்வேறு எண்ணிக்கையிலான எழுத்துக்கள். எனவே, இங்கே WH0802A-YGK-CT டிஸ்ப்ளே, 8 எழுத்துக்களின் 2 வரிகள், மஞ்சள் LED பின்னொளி ஆகியவற்றைக் கருதுகிறோம்.

கோட்விஷனில் ஒரு திட்டத்தை உருவாக்குவோம். LCD தாவலில், எங்கள் காட்சி இணைக்கப்படும் போர்ட்டைக் குறிப்பிடுகிறோம் (PORTD). சார்/லைன் வரியில் நமது எல்சிடி டிஸ்ப்ளேயின் (8) எழுத்துக்களின் எண்ணிக்கையைக் குறிப்பிடுகிறோம்.

நாங்கள் திட்டத்தை உருவாக்கி சேமிக்கிறோம். குறியீட்டை பின்வரும் படிவத்திற்கு கொண்டு வருகிறோம்:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #சேர்க்கிறது #asm .equ __lcd_port= 0x12 ; PORTD #endasm # அடங்கும் வெற்றிட முக்கிய(வெற்றிடம்) (PORTD= 0x00; DDRD= 0x00; lcd_init(8) ; போது (1) () ;)

#சேர்க்கிறது #asm .equ __lcd_port=0x12 ;PORTD #endasm #include வெற்றிட முக்கிய(வெற்றிடம்) (PORTD=0x00; DDRD=0x00; lcd_init(8); while (1) ( ); )

எங்கள் நிரல் குறியீட்டை சிறிது மாற்றுவோம்:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #சேர்க்கிறது #asm .equ __lcd_port= 0x12 #endasm #include வெற்றிட முக்கிய(வெற்றிடம்) (PORTD= 0x00; DDRD= 0x00; lcd_init(8) ; lcd_gotoxy(0, 0) ; lcd_putsf("lesson3") ; #pragma rl+ lcd_son,Lc(0 #pragma rl- போது (1 ) ( );

#சேர்க்கிறது #asm .equ __lcd_port=0x12 #endasm # அடங்கும் void main(void) (PORTD=0x00; DDRD=0x00; lcd_init(8); lcd_gotoxy(0,0); lcd_putsf("lesson3"); #pragma rl+ lcd_gotoxy(0,1); lcd_putsf"("பாடம்3); #pragma rl- போது (1) ( )

ISIS Proteus இல் உருவகப்படுத்துதலுக்கான குறியீட்டை இயக்குவோம். நீங்கள் பார்க்க முடியும் என, முதல் வரி சரியாக காட்டப்பட்டுள்ளது, ஆனால் இரண்டாவது வரி மோசமானது. உண்மை என்னவென்றால், புரோட்டஸ் ரஷ்ய எழுத்துக்களை அங்கீகரிக்கவில்லை, உங்கள் காட்சி அதை ஆதரிக்கவில்லை என்றால், உண்மையான காட்சியில் புரிந்துகொள்ள முடியாத எழுத்துக்களும் இருக்கும்.

இப்போது நாம் அனைத்தையும் உண்மையான காட்சியில் முயற்சிக்க வேண்டும். இங்கே சில நுணுக்கங்கள் உள்ளன. எங்கள் காட்சியில் தரவுத் தாளைத் திறந்து பின்அவுட்களுடன் இந்த அட்டவணையைப் பார்க்கிறோம்:

ஒருவேளை எல்லாம் இங்கே தெளிவாக உள்ளது, ஆனால் இன்னும்:

1 - தரை 0V.

2 - மின்சாரம் +5V.

3 - மாறுபாடு கட்டுப்பாடு. மாறி மின்தடை மூலம் இணைக்கப்பட்டுள்ளது.

LED விளக்குகள். வழக்கமான LED போல இணைக்கிறோம்.

A - தற்போதைய-கட்டுப்படுத்தும் மின்தடையம் மூலம் "+" உடன் இணைக்கவும், K - "தரையில்" (GND) இணைக்கவும்.

மற்றொரு முக்கியமான விஷயம் என்னவென்றால், மைக்ரோகண்ட்ரோலர் ஒரு குவார்ட்ஸ் ரெசனேட்டரிலிருந்து க்ளாக் செய்யப்பட வேண்டும், இல்லையெனில் சரியான செயல்பாட்டிற்கு உத்தரவாதம் இல்லை.

ஃபார்ம்வேர் சாதனத்தின் தோற்றம்

நிலைபொருள் மற்றும் புரோட்டஸ் கோப்பு உள்ளது

Arduino உடன் பணிபுரியும் போது, ​​​​சில நேரங்களில் காட்சியில் சில தரவைக் காண்பிக்க வேண்டிய அவசியம் உள்ளது, ஆனால் இந்த நோக்கத்திற்காக ஒரு PC க்கு தரவை மாற்றுவது சாதனம் ஒரு PC உடன் இணைந்து பயன்படுத்தப்பட்டால் மட்டுமே அர்த்தமுள்ளதாக இருக்கும். ஆனால் தன்னாட்சி சாதனங்களைப் பற்றி என்ன? இங்குதான் எல்சிடி டிஸ்ப்ளேக்கள் மீட்புக்கு வருகின்றன. HD44780 கட்டுப்படுத்தியை அடிப்படையாகக் கொண்ட LCD காட்சிகளைப் பார்ப்போம்

இந்த மோனோக்ரோம் டிஸ்ப்ளே விருப்பமான பின்னொளியைக் கொண்டுள்ளது மற்றும் 16 எழுத்துகள் கொண்ட 2 வரிகளைக் காட்ட முடியும். எழுத்துத் தீர்மானம் 5x8 பிக்சல்கள். சிரிலிக் எழுத்துக்களுக்கு ஆதரவு உள்ளது.

இந்த காட்சிகளின் நன்மைகள் என்ன? HD44780 LCD திரை ஒரு நிலையானது மற்றும் பெரும்பாலும் சிறிய ஒரே வண்ணமுடைய LCD டிஸ்ப்ளேக்களில் பயன்படுத்தப்படுகிறது, எனவே அதன் அடிப்படையில் திரைகளுடன் பணிபுரியும் நூலகம் நிபுணர்களால் எழுதப்பட்டது. Arduino டெவலப்பர்கள் தங்கள் தளத்திற்கு ஒரு நூலகத்தை எழுதியுள்ளனர், அது LiquidCrystal என்று அழைக்கப்படுகிறது. நான் தேர்ந்தெடுத்த காட்சியுடன் வேலை செய்ய இதைப் பயன்படுத்துகிறோம்.

எல்சிடி திரையை இணைக்க நமக்கு பின்வரும் கூறுகள் தேவை

  • எந்த Arduino (எங்கள் விஷயத்தில் Arduino UNO)
  • HD44780 அடிப்படையிலான LCD டிஸ்ப்ளே
  • ப்ரெட்போர்டு
  • கம்பிகளை இணைக்கிறது
  • பொட்டென்டோமீட்டர் (விரும்பினால்)

எல்சிடி திரையை இணைக்கிறது

Arduino உடன் LCD திரையை இணைக்கிறதுஒரு குழந்தைக்கு கூட கடினமாக இல்லை. ப்ரெட்போர்டில் திரையை இணைத்து, புகைப்படத்தில் காட்டப்பட்டுள்ளபடி, அர்டுயினோவிலிருந்து ப்ரீபோர்டு பவர் ரெயில்களுக்கு +5 V சக்தி மற்றும் தரையை இணைக்கவும். (நாங்கள் பல முறை மின்சாரம் மற்றும் தரையைப் பயன்படுத்துவோம் என்பதால், அதை தண்டவாளத்துடன் இணைப்பது மிகவும் வசதியானது, பொதுவாக, நீங்கள் அதை இந்த வழியில் இணைக்கப் பழக வேண்டும்)


காட்சியுடன் Arduino இன் முழு செயல்பாட்டிற்கு, நாங்கள் 12 ஊசிகளை இணைப்போம்:

  • 1 - Vss, மைதானம் ⇨ GND
  • 2 - Vdd, சக்தி ⇨ +5 V
  • 3 - Vo, மாறுபட்ட மின்னழுத்தக் கட்டுப்பாடு ⇨ பொட்டென்டோமீட்டர் வெளியீடு
  • 4 - RS, பதிவு ⇨ பின் 12 Arduino ஐத் தேர்ந்தெடுக்கவும்
  • 5 - R/W, படிக்க/எழுத ⇨ தரை (எழுது முறை)
  • 6 - E, aka Enable, fall strobe ⇨ pin 11 Arduino
  • 7-10 - DB0-DB3, 8-பிட் இடைமுகத்தின் குறைந்த-வரிசை பிட்கள்; இணைக்கப்படவில்லை
  • 11-14 - DB4-DB7, இடைமுகத்தின் உயர் பிட்கள் ⇨ பின்கள் 5-2 Arduino
  • 15 - A, பின்னொளிக்கான மின்சாரம் ⇨ +5 V
  • 16 - K, பின்னொளிக்கான மைதானம் ⇨ GND

இந்த காட்சி, HD44780 கட்டுப்படுத்தியில் உள்ள மற்றவற்றைப் போலவே, இரண்டு இணையான இடைமுக விருப்பங்களை ஆதரிக்கிறது:

  • 8-பிட், பின்கள் DB0-DB7, 1 பைட் (8 பிட்கள்) ஒரு கடிகார சுழற்சிக்கு மாற்றப்படும்
  • 4-பிட், பின்கள் DB4-DB7, ஒரு கடிகார சுழற்சிக்கு அரை பைட் மாற்றப்படுகிறது (4 பிட்கள்)

8-பிட் விருப்பத்தைப் பயன்படுத்துவதில் எந்தப் பயனும் இல்லை, ஏனென்றால் அதற்கு அதிக கால்கள் தேவை, இன்னும் வேகத்தில் எந்த ஆதாயமும் இல்லை: காட்சி புதுப்பிப்பு விகிதம் வினாடிக்கு 10 முறைக்கு மேல் இல்லை, எனவே எங்களால் இன்னும் பார்க்க முடியாது அடிக்கடி புதுப்பிக்கப்படும் தரவு. எனவே, DB0-DB3 ஊசிகளை இணைக்காமல் விடுகிறோம்.

திரை இணைக்கப்பட்டுள்ளது மற்றும் தரவைப் பெற தயாராக உள்ளது. Arduino க்கு ஒரு நிரலை எழுதுவது மட்டுமே எஞ்சியுள்ளது.

நிரலாக்கம்

Arduino இலிருந்து உரையை வெளியிட, நாம் மேலே பேசிய லிக்விட் கிரிஸ்டல் நூலகத்தைப் பயன்படுத்துவோம்.

Arduino இல் சென்சார் இயக்க, நீங்கள் DHT11 நூலகத்தைப் பதிவிறக்கி நிறுவ வேண்டும்.


நூலகத்தை இங்கே பதிவிறக்கம் செய்யலாம்.


தேவையான நூலகத்தை பதிவிறக்கம் செய்த பிறகு, அதை சரியாக நிறுவ வேண்டும் நிறுவு. பதிவிறக்கம் செய்யப்பட்ட கோப்புகள் பின்வரும் பாதைக்கு நகர்த்தப்பட வேண்டும்:

Disk C Progtam கோப்புகள் Arduino நூலகங்கள்



நாங்கள் எல்லாவற்றையும் செய்த பிறகு, மிக முக்கியமான படி, அதாவது நிரலாக்கத்திற்கு செல்வோம்.


/* LCD உடன் பணிபுரிய நூலகத்தைச் சேர்க்கவும் */
#சேர்க்கிறது

/* LiquidCrystal class கன்ஸ்ட்ரக்டரைப் பயன்படுத்தி LCD காட்சிப் பொருளை உருவாக்கவும்
* 6 வாதங்களுடன். வாதங்களின் எண்ணிக்கையால் நூலகமே தீர்மானிக்கும்,
* நீங்கள் 4-பிட் இடைமுகத்தைப் பயன்படுத்த வேண்டும்.
* எந்த Arduino பின்களுடன் காட்சி ஊசிகள் இணைக்கப்பட்டுள்ளன என்பதை நாங்கள் குறிப்பிடுகிறோம்:
*RS, E, DB4, DB5, DB6, DB7
*/
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

வெற்றிட அமைப்பு()
{
/* காட்சியைத் துவக்கவும்: 16 எழுத்துகள் கொண்ட 2 வரிகள் */
எல்சிடி தொடங்கு(16, 2);
/* சொற்றொடரைக் காட்டு */
எல்சிடி அச்சு ("Hello from HelpDuino!");
}

வெற்றிட வளையம்()
{
/* கர்சரை 2வது வரிசையின் நெடுவரிசை 1க்கு அமைக்கவும். எண்ணிடுதல் புதிதாக தொடங்குகிறது
* முதல் வாதம் நெடுவரிசை எண்.
*/

எல்சிடி செட்கர்சர்(0, 1);
/* Arduino தொடங்கியதிலிருந்து கடந்துவிட்ட வினாடிகளின் எண்ணிக்கையைக் காட்டவும் */
எல்சிடி அச்சு(மில்லிஸ்()/1000);
}


நீங்கள் பெற வேண்டியது இதுதான், இது எளிமையான ஓவியம், இதில் 4 முக்கிய வரிகள் மட்டுமே உள்ளன, ஆனால் நீங்கள் அதைக் கண்டுபிடித்து, உங்களுக்குத் தேவையானதை உருவாக்க இந்த கொள்கையைப் பயன்படுத்தலாம்!

ஒவ்வொரு ரேடியோ அமெச்சூர், ஒரு குறிப்பிட்ட எண்ணிக்கையிலான எளிய வீட்டுத் திட்டங்களுக்குப் பிறகு, சென்சார்கள் மற்றும் பொத்தான்களைப் பயன்படுத்தி பிரமாண்டமான ஒன்றை உருவாக்குவதற்கான இலக்கை அடைகிறார்கள். எல்லாவற்றிற்கும் மேலாக, போர்ட் மானிட்டரில் தரவைக் காட்டிலும் காட்சியில் தரவைக் காண்பிப்பது மிகவும் சுவாரஸ்யமானது. ஆனால் பின்னர் கேள்வி எழுகிறது: எந்த காட்சியை தேர்வு செய்வது? பொதுவாக, அதை எவ்வாறு இணைப்பது, இணைக்க என்ன தேவை? இந்த கேள்விகளுக்கான பதில்கள் இந்த கட்டுரையில் விவாதிக்கப்படும்.

எல்சிடி 1602

பல காட்சி விருப்பங்களில், HD4478 கட்டுப்படுத்தியை அடிப்படையாகக் கொண்ட LCD1602 டிஸ்ப்ளேவைக் குறிப்பிட விரும்புகிறேன். இந்த காட்சி இரண்டு வண்ணங்களில் கிடைக்கிறது: நீல பின்னணியில் வெள்ளை எழுத்துக்கள், மஞ்சள் பின்னணியில் கருப்பு எழுத்துக்கள். LCD 1602 ஐ Arduino உடன் இணைப்பது எந்த சிக்கலையும் ஏற்படுத்தாது, ஏனெனில் ஒரு உள்ளமைக்கப்பட்ட நூலகம் உள்ளது மற்றும் கூடுதல் எதையும் பதிவிறக்க வேண்டிய அவசியமில்லை. காட்சிகள் விலையில் மட்டுமல்ல, அளவிலும் வேறுபடுகின்றன. பெரும்பாலும், ரேடியோ அமெச்சூர்கள் 16 x 2, அதாவது 16 எழுத்துக்களின் 2 வரிகளைப் பயன்படுத்துகின்றனர். ஆனால் 20 x 4 உள்ளது, அங்கு 20 எழுத்துகள் கொண்ட 4 வரிகள் உள்ளன. எல்சிடி 1602 டிஸ்ப்ளேவை அர்டுனோவுடன் இணைப்பதில் பரிமாணங்கள் மற்றும் வண்ணங்கள் எந்தப் பாத்திரத்தையும் வகிக்காது; பார்க்கும் கோணம் 35 டிகிரி, காட்சி மறுமொழி நேரம் 250 எம்.எஸ். இது -20 முதல் 70 டிகிரி செல்சியஸ் வெப்பநிலையில் வேலை செய்ய முடியும். செயல்பாட்டின் போது, ​​இது திரைக்கு 4 mA மற்றும் பின்னொளிக்கு 120 mA ஐப் பயன்படுத்துகிறது.

எங்கே பயன்படுத்தப்படுகிறது?

இந்த காட்சி வானொலி அமெச்சூர்களிடையே மட்டுமல்ல, பெரிய உற்பத்தியாளர்களிடையேயும் பிரபலமானது. எடுத்துக்காட்டாக, பிரிண்டர்கள் மற்றும் காபி இயந்திரங்களும் LCD1602 ஐப் பயன்படுத்துகின்றன. இது அதன் குறைந்த விலை காரணமாகும்; இந்த காட்சி சீன தளங்களில் 200-300 ரூபிள் செலவாகும். எங்கள் கடைகளில் இந்த காட்சிக்கான மார்க்அப்கள் மிக அதிகமாக இருப்பதால், அங்கு வாங்குவது மதிப்பு.

Arduino உடன் இணைக்கிறது

LCD 1602 ஐ Arduino Nano மற்றும் Uno உடன் இணைப்பது வேறுபட்டதல்ல. நீங்கள் இரண்டு முறைகளில் காட்சியுடன் வேலை செய்யலாம்: 4 பிட்கள் மற்றும் 8. 8-பிட் உடன் பணிபுரியும் போது, ​​குறைந்த-வரிசை மற்றும் உயர்-வரிசை பிட்கள் இரண்டும் பயன்படுத்தப்படுகின்றன, மேலும் 4-பிட் உடன், குறைந்த-வரிசை மட்டுமே. 8-பிட் உடன் பணிபுரிவதில் எந்த குறிப்பிட்ட புள்ளியும் இல்லை, ஏனெனில் இது இணைப்புக்கு மேலும் 4 தொடர்புகளைச் சேர்க்கும், இது அறிவுறுத்தப்படவில்லை, ஏனெனில் வேகம் அதிகமாக இருக்காது, காட்சி புதுப்பிப்புகளுக்கான வரம்பு வினாடிக்கு 10 மடங்கு ஆகும். பொதுவாக, எல்சிடி 1602 ஐ அர்டுயினோவுடன் இணைக்க, நிறைய கம்பிகள் பயன்படுத்தப்படுகின்றன, இது சில சிரமங்களை ஏற்படுத்துகிறது, ஆனால் சிறப்புக் கவசங்கள் உள்ளன, ஆனால் பின்னர் அதைப் பற்றி மேலும். Arduino Uno உடன் காட்சியின் இணைப்பை புகைப்படம் காட்டுகிறது:

மாதிரி குறியீடு:

#சேர்க்கிறது // தேவையான LiquidCrystal library lcd (7, 6, 5, 4, 3, 2) சேர்க்கவும்; // (RS, E, DB4, DB5, DB6, DB7) void setup())( lcd.begin(16, 2); // திரை அளவை அமைக்க lcd.setCursor(0, 0); // கர்சரை அமைக்கவும் தொடக்கத்தில் 1 வரிகள் lcd.print("வணக்கம், உலகம்!" // உரையை அச்சிடுக lcd.setCursor(0, 1) // வரி 2 lcd.print("site") // உரையை அச்சிடுக ) வெற்றிட வளையம் ()( )

குறியீடு என்ன செய்கிறது? முதல் படி காட்சியுடன் பணிபுரிய நூலகத்தை இணைப்பது. மேலே குறிப்பிட்டுள்ளபடி, இந்த நூலகம் ஏற்கனவே Arduino IDE இல் சேர்க்கப்பட்டுள்ளது மற்றும் கூடுதலாக பதிவிறக்கம் செய்து நிறுவ வேண்டிய அவசியமில்லை. அடுத்து, பின்களுடன் இணைக்கப்பட்டுள்ள தொடர்புகள் தீர்மானிக்கப்படுகின்றன: முறையே RS, E, DB4, DB5, DB6, DB7. பின்னர் திரை அளவு அமைக்கப்படுகிறது. 16 எழுத்துகள் மற்றும் 2 வரிகள் கொண்ட பதிப்பில் நாங்கள் வேலை செய்வதால், பின்வரும் மதிப்புகளை எழுதுகிறோம். முதல் வரியின் தொடக்கத்தில் கர்சரை வைத்து, எங்கள் முதல் உரையான ஹலோ வேர்ல்ட்டைக் காண்பிக்கிறோம். அடுத்து, கர்சரை இரண்டாவது வரியில் வைத்து, தளத்தின் பெயரைக் காட்டவும். அவ்வளவுதான்! lcd 1602 ஐ Arduino Uno உடன் இணைப்பது பரிசீலிக்கப்பட்டது.

I2C என்றால் என்ன, அது ஏன் தேவைப்படுகிறது?

மேலே குறிப்பிட்டுள்ளபடி, காட்சியை இணைப்பது நிறைய தொடர்புகளை எடுக்கும். எடுத்துக்காட்டாக, பல சென்சார்கள் மற்றும் எல்சிடி டிஸ்ப்ளேவுடன் பணிபுரியும் போது, ​​1602 பின்கள் போதுமானதாக இருக்காது. பெரும்பாலும், ரேடியோ அமெச்சூர்கள் பல தொடர்புகள் இல்லாத யூனோ அல்லது நானோ பதிப்புகளைப் பயன்படுத்துகின்றனர். பின்னர் மக்கள் சிறப்பு கேடயங்களுடன் வந்தனர். உதாரணமாக, I2C. 4 பின்களுடன் மட்டுமே காட்சியை இணைக்க இது உங்களை அனுமதிக்கிறது. இது இரண்டு மடங்கு அதிகம். I2C தொகுதி இரண்டும் தனித்தனியாக விற்கப்படுகிறது, அங்கு நீங்கள் அதை நீங்களே சாலிடர் செய்ய வேண்டும், மேலும் ஏற்கனவே LCD 1602 டிஸ்ப்ளேவில் இணைக்கப்பட்டுள்ளது.

I2C தொகுதியைப் பயன்படுத்தி இணைப்பு

LCD 1602 ஐ Arduino Nano உடன் I2C உடன் இணைப்பது சிறிய இடத்தை எடுக்கும், 4 பின்கள் மட்டுமே: தரை, சக்தி மற்றும் 2 தரவு வெளியீடுகள். ஆர்டுயினோவில் முறையே 5V மற்றும் GND உடன் சக்தி மற்றும் தரையை இணைக்கிறோம். மீதமுள்ள இரண்டு தொடர்புகளை இணைக்கிறோம்: SCL மற்றும் SDA எந்த அனலாக் பின்களிலும். I2C தொகுதியுடன் எல்சிடி 1602 ஐ ஆர்டுயினோவுடன் இணைப்பதற்கான உதாரணத்தை புகைப்படத்தில் காணலாம்:

நிரல் குறியீடு

ஒரு தொகுதி இல்லாமல் ஒரு காட்சியுடன் வேலை செய்ய ஒரு நூலகத்தை மட்டுமே பயன்படுத்த வேண்டும் என்றால், ஒரு தொகுதியுடன் வேலை செய்ய உங்களுக்கு இரண்டு நூலகங்கள் தேவை. அவற்றில் ஒன்று ஏற்கனவே Arduino IDE - Wire இல் சேர்க்கப்பட்டுள்ளது. மற்றொரு நூலகம், LiquidCrystal I2C, தனித்தனியாக பதிவிறக்கம் செய்யப்பட்டு நிறுவப்பட வேண்டும். Arduino இல் நூலகத்தை நிறுவ, பதிவிறக்கம் செய்யப்பட்ட காப்பகத்தின் உள்ளடக்கங்கள் ரூட் லைப்ரரீஸ் கோப்புறையில் ஏற்றப்பட வேண்டும். I2C ஐப் பயன்படுத்தி நிரல் குறியீடு எடுத்துக்காட்டு:

#சேர்க்கிறது #சேர்க்கிறது LiquidCrystal_I2C lcd(0x27,16,2); // காட்சி வெற்றிட அமைப்பை அமைக்கவும்() (lcd.init(); lcd.backlight(); // காட்சி பின்னொளியை இயக்கவும் lcd..setCursor(8, 1); lcd.print("LCD 1602"); ) void loop( ) ( // கர்சரை இரண்டாவது வரி மற்றும் பூஜ்ஜிய எழுத்துக்கு அமைக்கவும். lcd.setCursor(0, 1); // Arduino lcd.print(millis()/1000) தொடங்கியதிலிருந்து எத்தனை வினாடிகள் என்பதைக் காட்டவும்; )

நீங்கள் பார்க்க முடியும் என, குறியீடு கிட்டத்தட்ட அதே தான்.

உங்கள் சொந்த சின்னத்தை எவ்வாறு சேர்ப்பது?

இந்த காட்சிகளில் உள்ள சிக்கல் என்னவென்றால், சிரிலிக் எழுத்துக்கள் மற்றும் குறியீடுகளுக்கு ஆதரவு இல்லை. எடுத்துக்காட்டாக, காட்சியில் சில சின்னங்களை ஏற்ற வேண்டும், அது அதை பிரதிபலிக்கும். இதைச் செய்ய, உங்கள் சொந்த சின்னங்களில் 7 வரை உருவாக்க காட்சி உங்களை அனுமதிக்கிறது. அட்டவணையை கற்பனை செய்து பாருங்கள்:

0 0 0 1 0
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
1 1 0 0 1
0 0 0 0 1
0 0 0 1 0
0 0 0 0 0

0 என்றால் - அங்கு எதுவும் இல்லை, 1 என்றால் - இது ஒரு வர்ணம் பூசப்பட்ட பகுதி. மேலே உள்ள எடுத்துக்காட்டில் நீங்கள் "சிரிக்கும் ஸ்மைலி" சின்னத்தை உருவாக்குவதைக் காணலாம். Arduino இல் ஒரு எடுத்துக்காட்டு நிரலைப் பயன்படுத்தினால், இது இப்படி இருக்கும்:

#சேர்க்கிறது #சேர்க்கிறது // தேவையான நூலகத்தைச் சேர்க்கவும் // புன்னகை சின்னமான பைட் ஸ்மைலின் பிட் மாஸ்க் = ( B00010, B00001, B11001, B00001, B11001, B00001, B00010, ); LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup())( lcd.begin(16, 2); // திரை அளவை அமைக்க lcd.createChar(1, smile); // எழுத்து எண்ணை உருவாக்கவும் 1 lcd.setCursor(0, 0); 1 வரியின் தொடக்கத்தில் கர்சரை அமைக்கவும். ) ()

நீங்கள் பார்க்க முடியும் என, ஒரு பிட்மாஸ்க் அட்டவணையைப் போலவே உருவாக்கப்பட்டது. உருவாக்கியதும், அதை டிஸ்ப்ளேயில் மாறியாகக் காட்டலாம். நினைவகத்தில் 7 எழுத்துக்களை மட்டுமே சேமிக்க முடியும் என்பதை நினைவில் கொள்ளுங்கள். கொள்கையளவில், இது போதும். உதாரணமாக, நீங்கள் ஒரு பட்டம் சின்னத்தைக் காட்ட வேண்டும் என்றால்.

காட்சி வேலை செய்யாத சிக்கல்கள்

காட்சி வேலை செய்யாத நேரங்கள் உள்ளன. எடுத்துக்காட்டாக, இது இயக்கப்படும், ஆனால் எழுத்துக்களைக் காட்டாது. அல்லது அது இயங்கவே இல்லை. முதலில், நீங்கள் ஊசிகளை சரியாக இணைத்துள்ளீர்களா என்று சரிபார்க்கவும். நீங்கள் I2C இல்லாமல் Arduino உடன் LCD 1202 இணைப்பைப் பயன்படுத்தினால், கம்பிகளில் சிக்குவது மிகவும் எளிதானது, இது காட்சி சரியாக வேலை செய்யாமல் போகலாம். எல்சிடி 1602 இயக்கப்பட்டிருக்கிறதா இல்லையா என்பதை குறைந்தபட்ச மாறுபாட்டுடன் கூட பார்க்க முடியாது என்பதால், காட்சி மாறுபாடு அதிகரிக்கப்பட்டுள்ளதா என்பதையும் நீங்கள் உறுதிசெய்ய வேண்டும். இது உதவவில்லை என்றால், ஒருவேளை சிக்கல் தொடர்புகளின் சாலிடரிங்கில் இருக்கலாம், இது I2C தொகுதியைப் பயன்படுத்தும் போது. டிஸ்பிளே வேலை செய்யாததற்கு மற்றொரு பொதுவான காரணம் I2C முகவரியின் தவறான அமைப்பாகும். உண்மை என்னவென்றால், பல உற்பத்தியாளர்கள் உள்ளனர், மேலும் அவர்கள் வேறு முகவரியை வைக்கலாம், நீங்கள் அதை இங்கே சரிசெய்ய வேண்டும்:

LiquidCrystal_I2C lcd(0x27,16,2);

அடைப்புக்குறிக்குள் நீங்கள் இரண்டு மதிப்புகளைக் காணலாம், 0x27 மற்றும் 16.2 (16.2 என்பது காட்சி அளவு, மற்றும் 0x27 என்பது I2C முகவரி). இந்த மதிப்புகளுக்கு பதிலாக, நீங்கள் 0x37 அல்லது 0x3F ஐ அமைக்க முயற்சி செய்யலாம். சரி, மற்றொரு காரணம் வெறுமனே ஒரு தவறான LCD 1602. Arduino க்கான அனைத்தும் சீனாவில் தயாரிக்கப்பட்டது என்பதைக் கருத்தில் கொண்டு, வாங்கிய தயாரிப்பு குறைபாடுடையது அல்ல என்பதை நீங்கள் 100% உறுதியாக நம்ப முடியாது.

LCD 1602 இன் நன்மை தீமைகள்

LCD 1602 டிஸ்ப்ளேவின் நன்மை தீமைகளைப் பார்ப்போம்.

  • விலை. இந்த தொகுதி சீன கடைகளில் மிகவும் நியாயமான விலையில் வாங்க முடியும். விலை 200-300 ரூபிள். சில நேரங்களில் இது I2C தொகுதியுடன் கூட விற்கப்படுகிறது.
  • இணைக்க எளிதானது. இந்த நாட்களில் I2C இல்லாமல் LCD 1602 ஐ யாரும் இணைக்கவில்லை. இந்த தொகுதியுடன், இணைப்பு 4 தொடர்புகளை மட்டுமே எடுக்கும், கம்பிகளின் "வலைகள்" இருக்காது.
  • நிரலாக்கம். ஆயத்த நூலகங்களுக்கு நன்றி, இந்த தொகுதியுடன் பணிபுரிவது எளிதானது; உங்கள் சொந்த சின்னத்தைச் சேர்க்க வேண்டுமானால், அதற்கு இரண்டு நிமிடங்கள் மட்டுமே ஆகும்.
  • ஆயிரக்கணக்கான ரேடியோ அமெச்சூர்களால் அதன் பயன்பாட்டின் போது, ​​பெரிய குறைபாடுகள் எதுவும் கண்டறியப்படவில்லை, குறைபாடுள்ள கொள்முதல் வழக்குகள் மட்டுமே உள்ளன, ஏனெனில் காட்சிகளின் சீன பதிப்புகள் முக்கியமாகப் பயன்படுத்தப்படுகின்றன.

இந்த கட்டுரை 1602 ஐ Arduino உடன் இணைப்பது பற்றி பார்த்தது, மேலும் இந்த காட்சியுடன் வேலை செய்வதற்கான நிரல்களின் எடுத்துக்காட்டுகளையும் வழங்கியது. இது உண்மையில் அதன் பிரிவில் சிறந்த ஒன்றாகும்

ஒவ்வொரு எலக்ட்ரானிக் சாதனத்திற்கும் ஒரு திரை உள்ளது, அதன் உதவியுடன் ஒரு நபருக்கு அனைத்து வகையான பயனுள்ள தகவல்களையும் தருகிறது என்ற உண்மையை எல்லோரும் நீண்ட காலமாகப் பழக்கப்படுத்தியுள்ளனர். MP3 பிளேயர் இயக்கப்படும் டிராக்கின் பெயரைக் காட்டுகிறது, குவாட்காப்டர் ரிமோட் கண்ட்ரோல் ஃப்ளைட் டெலிமெட்ரியைக் காட்டுகிறது, வாஷிங் மெஷின் கூட வாஷ் முடியும் வரை நேரத்தைக் காட்டுகிறது, மேலும் ஸ்மார்ட்போனில் பொதுவாக ஒரு பெர்சனல் கம்ப்யூட்டரின் முழு டெஸ்க்டாப் உள்ளது! பெரும்பாலும், உங்கள் அடுத்த சாதனம் சில சிறிய காட்சியைப் பயன்படுத்தக்கூடும் :) எளிய மின்னணு கடிகாரத்தை உருவாக்க முயற்சிப்போம்! மேலும் ஒரு ஸ்கோர்போர்டாக நாம் பொதுவான மற்றும் மலிவான எழுத்து திரவ படிக காட்சி 1602 ஐப் பயன்படுத்துகிறோம். படத்தில் உள்ளதைப் போலவே இங்கே உள்ளது: 16x2 க்கு கூடுதலாக, 20x4 எழுத்து காட்சி (ஒவ்வொன்றும் 20 எழுத்துகள் கொண்ட நான்கு வரிகள்), அத்துடன் ஒரு கிராஃபிக் காட்சி 128x64 பிக்சல்கள் தீர்மானம் கொண்ட, மிகவும் பிரபலமாக கருதப்படுகிறது. இங்கே அவை படங்களில் உள்ளன:

1. LCD டிஸ்ப்ளே 1602 என்ற எழுத்தை இணைக்கிறது

1602 டிஸ்ப்ளே 16 பின்களைக் கொண்டுள்ளது. படத்தில் உள்ளதைப் போல நீங்கள் பார்த்தால், பொதுவாக அவை இடமிருந்து வலமாக எண்ணப்படும். சில நேரங்களில் ஊசிகள் கையொப்பமிடப்படுகின்றன, அவை: DB0, DB1, EN போன்றவை. சில நேரங்களில் அவை வெளியீட்டு எண்ணைக் குறிக்கின்றன. எந்தவொரு சந்தர்ப்பத்திலும், ஊசிகளின் பட்டியல் எப்போதும் ஒரே மாதிரியாக இருக்கும்: 1 - "GND", மைனஸ் 2 - "Vcc", மின்சாரம் 3 - "VEE", 4 - "RS"; பதிவு தேர்வு; ); 16 - பின்னொளி கேத்தோடு (தரையில்). VEE, RS கோடுகள் மற்றும் நான்கு தரவு வரிகள் DB4, DB5, DB6, DB7 ஆகியவை கட்டுப்படுத்தியின் டிஜிட்டல் வெளியீடுகளுடன் இணைக்கப்பட்டுள்ளன. "R/W" வரியை கட்டுப்படுத்தியின் "தரையில்" இணைப்போம் (காட்சி நினைவகத்திற்கு எழுதும் செயல்பாடு மட்டுமே நமக்குத் தேவைப்படுவதால்). நாங்கள் இப்போது பின்னொளியை இணைக்க மாட்டோம், இதை நீங்களே எளிதாகக் கண்டுபிடிக்கலாம் என்று நினைக்கிறேன் :) காட்சியை இணைக்கும் திட்ட வரைபடம் Arduino Uno
தளவமைப்பு தோற்றம்
ஒரு சந்தர்ப்பத்தில், ஒரு அடையாள வடிவத்திலும்:
எல்சிடி டிஸ்ப்ளே 1602 1 2 4 6 11 12 13 14 15 16
Arduino Uno GND +5V 4 5 6 7 8 9 +5V GND

2. புரோகிராமிங் "ஹலோ, வேர்ல்ட்!"

பல்வேறு அளவுகள் மற்றும் வகைகளின் LCD டிஸ்ப்ளேக்களுடன் வேலை செய்ய, Arduino IDE எடிட்டரில் ஒரு சிறப்பு நூலகம் உள்ளது. லிக்விட்கிரிஸ்டல். நூலகத்தைச் சேர்க்க, எங்கள் நிரலின் முதல் வரியில் பின்வரும் வெளிப்பாட்டை எழுதுகிறோம்: #include அடுத்து, காட்சியை இணைக்க எந்த Arduino ஊசிகளைப் பயன்படுத்தினோம் என்பதைக் குறிப்பிட வேண்டும். தொகுதியை துவக்கும்போது இந்தத் தகவலைக் குறிப்பிடுவோம்: LiquidCrystal lcd(4, 5, 6, 7, 8, 9) இங்கே, முதல் இரண்டு வாதங்கள் RS மற்றும் EN பின்கள், மீதமுள்ள நான்கு DB4-DB7 டேட்டா பஸ் ஆகும். கோடுகள். அடுத்து, "தொடங்கு" கட்டளையைப் பயன்படுத்தி காட்சி அளவைக் குறிப்பிடுகிறோம்: lcd.begin(16, 2); எங்கள் காட்சியில் இரண்டு வரிகள், ஒவ்வொன்றும் 16 எழுத்துகள் உள்ளன என்பதை நினைவூட்டுகிறேன். இறுதியாக, உரையை வெளியிட எளிய "அச்சு" செயல்பாடு தேவை. இந்தச் செயல்பாட்டைப் பயன்படுத்தி இந்த நன்கு அறியப்பட்ட சொற்றொடரின் வெளியீடு இப்படி இருக்கும்: lcd.print("Hello, world!") முழு நிரலும் இப்படி இருக்கும்: #include LiquidCrystal lcd(4, 5, 6, 7, 8, 9); void setup())( lcd.begin(16, 2); lcd.print("Hello, world!"); ) void loop())( ) Arduino Uno இல் ஏற்றி, காட்சியில் என்ன நடக்கிறது என்பதைப் பார்க்கவும். மூன்று முக்கிய சூழ்நிலைகள் இருக்கலாம் 🙂 1) காட்சி "ஹலோ, வேர்ல்ட்!" என்பதைக் காண்பிக்கும். இதன் பொருள் நீங்கள் எல்லாவற்றையும் சரியாக இணைத்துள்ளீர்கள், மேலும் மாறுபாடு எப்படியோ அதிசயமாக ஆரம்பத்தில் சரியாக அமைக்கப்பட்டது. நாங்கள் மகிழ்ச்சியுடன் அடுத்த அத்தியாயத்திற்கு செல்கிறோம். 2) காட்சி கருப்பு செவ்வகங்களின் வரிசையைக் காண்பிக்கும் - மாறுபாடு சரிசெய்தல் தேவை! இதனால்தான் சுற்றுக்கு குமிழியுடன் கூடிய பொட்டென்டோமீட்டரைச் சேர்த்துள்ளோம். காட்சியில் தெளிவான கல்வெட்டு தோன்றும் வரை அதை ஒரு விளிம்பிலிருந்து மற்றொன்றுக்கு திருப்புகிறோம். 3) கருப்பு செவ்வகங்களின் இரண்டு வரிசைகள். பெரும்பாலும், இணைக்கும்போது நீங்கள் தவறு செய்துள்ளீர்கள். அனைத்து கம்பிகளையும் மூன்று முறை சரிபார்க்கவும். நீங்கள் தவறைக் கண்டுபிடிக்கவில்லை என்றால், சரிபார்க்க உங்கள் பூனையிடம் கேளுங்கள்!

3. கடிகாரத்தை நிரலாக்கம்

இப்போது காட்சி சரியாக வேலை செய்கிறது, எங்கள் எளிய சாதனத்தை உண்மையான மின்னணு கடிகாரமாக மாற்ற முயற்சிப்போம். கவனம்!நேரத்தைக் காட்ட, நமக்கு நேர நூலகம் தேவை. இது இன்னும் நிறுவப்படவில்லை என்றால், இணைப்பிலிருந்து காப்பகத்தைப் பதிவிறக்கலாம். அதை இணைப்போம்: #அடங்கும் "செட்டைம்" செயல்பாட்டைப் பயன்படுத்தி தற்போதைய தேதி மற்றும் நேரத்தை அமைத்துள்ளோம்: setTime(23, 59, 59, 12, 31, 2015) இங்கே எல்லாம் தெளிவாக உள்ளது: மணிநேரம், நிமிடங்கள், வினாடிகள், மாதம், நாள், ஆண்டு. தேதியைக் காட்ட, நாங்கள் பல செயல்பாடுகளைப் பயன்படுத்துகிறோம்:
  • ஆண்டு () - அந்த ஆண்டை எங்களுக்குத் திருப்பித் தரும்;
  • மாதம் () - மாதம்;
  • நாள் () - நாள்;
  • மணிநேரம் () - மணிநேரம்;
  • நிமிடம் () - நிமிடத்தைத் திருப்பித் தரும்;
  • இரண்டாவது () - இரண்டாவது.
இப்போது இந்த உண்மைக்கு கவனம் செலுத்துவோம். "12/31/2015 23:59:59" என்ற பொதுவான தேதி உள்ளீட்டில் உள்ள எழுத்துகளின் எண்ணிக்கையைக் கணக்கிட்டால், நமக்கு 19 கிடைக்கும். எங்களிடம் 16 மட்டுமே உள்ளது! இருப்பினும், இது ஒரு வரியில் பொருந்தாது. மற்றொரு பயனுள்ள செயல்பாட்டின் மூலம் சிக்கலை நீங்கள் தீர்க்கலாம் - "setCursor". இந்த செயல்பாடு கர்சரை விரும்பிய நிலைக்கு அமைக்கிறது. உதாரணமாக: lcd.setCursor(0,1); இரண்டாவது வரியின் தொடக்கத்தில் கர்சரை வைக்கிறது. கர்சர் என்பது எழுத்தின் இருப்பிடமாகும், அதில் இருந்து உரை வெளியீடு அடுத்த "அச்சு" கட்டளையுடன் தொடங்கும். முதல் வரியில் தேதியையும் இரண்டாவது வரியில் நேரத்தையும் காட்ட இந்த செயல்பாட்டைப் பயன்படுத்துவோம். தேதி மற்றும் நேரத்தைக் காட்டினால் எல்லாம் இப்போது தெளிவாகிறது. வழக்கமான விஷயங்கள் உள்ளன. எடுத்துக்காட்டாக, ஒவ்வொரு காட்சியும் நிரப்பப்பட்ட பிறகு, அதை “clear()” செயல்பாடு மூலம் அழிப்போம்: lcd.clear(); வினாடிக்கு ஒரு முறைக்கு மேல் தரவைக் காண்பிப்பதில் அர்த்தமில்லை, எனவே இரண்டு மறு செய்கைகளுக்கு இடையில் 1000 மில்லி விநாடிகளை இடைநிறுத்துவோம். எனவே, எல்லாவற்றையும் ஒன்றாக இணைத்து, பின்வரும் நிரலைப் பெறுகிறோம்: #include #சேர்க்கிறது LiquidCrystal lcd(4, 5, 6, 7, 8, 9); void setup())( lcd.begin(16, 2); setTime(7,0,0,1,10,2015); // காலை 7 மணி, ஜனவரி பத்து, 2015) void loop())( lcd.clear( lcd.print(""); lcd.setCursor(0 , 1 ) ; (":"); lcd.print(":"); ஓவியத்தை Arduino Uno இல் பதிவேற்றி, கடிகாரத்தின் முன்னேற்றத்தைக் காண்க! 🙂 பெற்ற அறிவை ஒருங்கிணைக்க, எங்கள் கடிகாரத்தை முழு அளவிலான அலாரம் கடிகாரமாக மேம்படுத்த பரிந்துரைக்கிறேன். நீங்கள் செய்ய வேண்டியது இரண்டு பொத்தான்கள் மற்றும் ஒரு பஸரைச் சேர்ப்பதுதான் :)