- தேவையான பொருட்கள்:
- TFT LCD திரை தொகுதியைப் பற்றி அறிந்து கொள்வது:
- தொடுதிரைக்கான TFT LCD திரையை அளவீடு செய்தல்:
- Arduino உடன் TFT LCD இணைப்புகள்:
- TFT LCD க்காக உங்கள் Arduino ஐ நிரலாக்குகிறது:
- வேலை:
திட்டங்களை எளிதில் உருவாக்க மற்றும் அவற்றை மிகவும் கவர்ச்சிகரமானதாக மாற்ற Arduino எப்போதும் உதவியது. தொடுதிரை விருப்பத்துடன் எல்சிடி திரையை நிரல் செய்வது ஒரு சிக்கலான பணியாகத் தோன்றலாம், ஆனால் அர்டுயினோ நூலகங்கள் மற்றும் கேடயங்கள் அதை மிகவும் எளிதாக்கியுள்ளன. இந்த திட்டத்தில், சேர்த்தல், கழித்தல், பிரிவு மற்றும் பெருக்கல் போன்ற அனைத்து அடிப்படை கணக்கீடுகளையும் செய்யக்கூடிய எங்கள் சொந்த Arduino Touch Screen கால்குலேட்டரை உருவாக்க 2.4 ”Arduino TFT LCD திரையைப் பயன்படுத்துவோம்.
தேவையான பொருட்கள்:
- அர்டுடினோ யூனோ
- 2.4 ”டிஎஃப்டி எல்சிடி டிஸ்ப்ளே ஷீல்ட்
- 9 வி பேட்டரி.
TFT LCD திரை தொகுதியைப் பற்றி அறிந்து கொள்வது:
இந்த திட்டத்தில் நாம் உண்மையில் முழுக்குவதற்கு முன்பு, இந்த 2.4 ”டிஎஃப்டி எல்சிடி தொகுதி எவ்வாறு இயங்குகிறது மற்றும் அதில் உள்ள வகைகள் என்ன என்பதை அறிந்து கொள்வது அவசியம். இந்த 2.4 ”டிஎஃப்டி எல்சிடி திரை தொகுதியின் பின்அவுட்களைப் பார்ப்போம்.

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

எல்சிடி கமாண்ட் பின்ஸ், எல்சிடி டேட்டா பின்ஸ், எஸ்டி கார்டு பின்ஸ் மற்றும் பவர் பின்ஸ் போன்ற நான்கு முக்கிய வகைப்பாடுகளில் ஊசிகளை வகைப்படுத்தலாம் என்பதை நீங்கள் காண முடியும் என்பதால், இந்த ஊசிகளின் விரிவான வேலை பற்றி எங்களுக்கு அதிகம் தெரியாது, ஏனெனில் அவை கவனமாக இருக்கும் எங்கள் Arduino நூலகம்.
மேலே காட்டப்பட்டுள்ள தொகுதியின் அடிப்பகுதியில் ஒரு எஸ்டி கார்டு ஸ்லாட்டையும் நீங்கள் காணலாம், இது ஒரு எஸ்டி கார்டை பிஎம்பி படக் கோப்புகளுடன் ஏற்றுவதற்குப் பயன்படுத்தலாம், மேலும் இந்த படங்களை எங்கள் டிஎஃப்டி எல்சிடி திரையில் அர்டுயினோ நிரலைப் பயன்படுத்தி காண்பிக்க முடியும்.
கவனிக்க வேண்டிய மற்றொரு முக்கியமான விஷயம் உங்கள் இடைமுக ஐசி. அசல் அடாஃப்ரூட் டிஎஃப்டி எல்சிடி தொகுதி முதல் மலிவான சீன குளோன்கள் வரை சந்தையில் பல வகையான டிஎஃப்டி தொகுதிகள் உள்ளன. உங்கள் அடாஃப்ரூட் கேடயத்திற்கு சரியாக வேலை செய்யும் ஒரு திட்டம் சீன பிரேக்அவுட் போர்டுகளுக்கு ஒரே மாதிரியாக இயங்காது. எனவே, நீங்கள் எந்த வகையான எல்சிடி டிஸ்ப்ளே கையில் வைத்திருக்கிறீர்கள் என்பதை அறிவது மிகவும் முக்கியம். இந்த விவரம் விற்பனையாளரிடமிருந்து பெறப்பட வேண்டும். நீங்கள் என்னுடையது போன்ற மலிவான குளோனை வைத்திருந்தால், அது பெரும்பாலும் ili9341 இயக்கி ஐ.சி. சில அடிப்படை எடுத்துக்காட்டு நிரல்களை முயற்சித்து எல்சிடி திரையில் வசதியாக இருக்க ஆர்டுயினோ டுடோரியலுடன் இந்த டிஎஃப்டி எல்சிடி இடைமுகத்தைப் பின்பற்றலாம். Arduino உடன் எங்கள் பிற TFT LCD திட்டங்களையும் இங்கே பாருங்கள்:
- Arduino மற்றும் TFT LCD உடன் நியோபிக்சல் எல்இடி ஸ்ட்ரிப்பை எவ்வாறு பயன்படுத்துவது
- Arduino ஐப் பயன்படுத்தி ஸ்மார்ட் போன் கட்டுப்படுத்தப்பட்ட டிஜிட்டல் குறியீடு பூட்டு
தொடுதிரைக்கான TFT LCD திரையை அளவீடு செய்தல்:
உங்கள் டிஎஃப்டி எல்சிடி தொகுதியின் தொடுதிரை செயல்பாட்டைப் பயன்படுத்த திட்டமிட்டால், அது சரியாகச் செயல்பட அதை அளவீடு செய்ய வேண்டும். அளவுத்திருத்தம் இல்லாத எல்சிடி திரை சாத்தியமில்லை, உதாரணமாக நீங்கள் ஒரு இடத்தில் தொடலாம் மற்றும் வேறு சில இடங்களில் தொடுவதற்கு TFT பதிலளிக்கலாம். இந்த அளவுத்திருத்த முடிவுகள் எல்லா பலகைகளுக்கும் ஒத்ததாக இருக்காது, எனவே இதைச் செய்ய நீங்கள் சொந்தமாக விடப்படுவீர்கள்.
அளவுத்திருத்தத்திற்கான சிறந்த வழி, அளவுத்திருத்த எடுத்துக்காட்டு நிரலைப் பயன்படுத்துவது (நூலகத்துடன் வருகிறது) அல்லது உங்கள் பிழையைக் கண்டறிய சீரியல் மானிட்டரைப் பயன்படுத்துதல். இருப்பினும் இந்த திட்டத்திற்கு பொத்தான்களின் அளவு பெரிய அளவுத்திருத்தம் ஒரு பெரிய பிரச்சினையாக இருக்கக்கூடாது, மேலும் கீழேயுள்ள நிரலாக்க பிரிவின் கீழ் உங்கள் திரையை எவ்வாறு அளவீடு செய்யலாம் என்பதையும் நான் விளக்குகிறேன்.
Arduino உடன் TFT LCD இணைப்புகள்:
2.4 ”டிஎஃப்டி எல்சிடி திரை ஒரு சரியான அர்டுடினோ கேடயம். நீங்கள் நேரடியாக எல்சிடி திரையை அர்டுயினோ யூனோவின் மேல் தள்ளலாம், அது ஊசிகளுடன் சரியாக பொருந்துகிறது மற்றும் உள்ளே சறுக்கும். இருப்பினும், பாதுகாப்பு விஷயங்கள் உங்கள் Arduino UNO இன் புரோகிராமிங் முனையத்தை ஒரு சிறிய காப்பு நாடாவுடன் மறைக்கின்றன, முனையம் உங்கள் TFT LCD திரையுடன் தொடர்பு கொண்டால். UNO இல் கூடியிருக்கும் எல்சிடி இது போன்ற ஒன்றைக் கீழே காணும்.

TFT LCD க்காக உங்கள் Arduino ஐ நிரலாக்குகிறது:
இந்த ஆர்டுயினோ கால்குலேட்டர் குறியீட்டைப் பெறுவதற்கு SPFD5408 நூலகத்தைப் பயன்படுத்துகிறோம். இது அடாஃப்ரூட்டின் மாற்றியமைக்கப்பட்ட நூலகம் மற்றும் எங்கள் எல்சிடி டிஎஃப்டி தொகுதிடன் தடையின்றி செயல்பட முடியும். இந்த கட்டுரையின் முடிவில் நீங்கள் முழுமையான நிரலை சரிபார்க்கலாம்.
குறிப்பு: இந்த நூலகத்தை உங்கள் Arduino IDE அல்லது இந்த நிரலில் எந்த பிழையும் இல்லாமல் தொகுக்க நீங்கள் நிறுவுவது மிகவும் முக்கியம்.
இந்த நூலகத்தை நிறுவ, மேலே உள்ள இணைப்பைக் கிளிக் செய்து, அது உங்களை கிதுப் பக்கத்திற்கு அழைத்துச் செல்லும். அங்கு குளோன் அல்லது பதிவிறக்கம் என்பதைக் கிளிக் செய்து “பதிவிறக்கம் ஜிப்” என்பதைத் தேர்ந்தெடுக்கவும். ஒரு ஜிப் கோப்பு பதிவிறக்கம் செய்யப்படும்.
இப்போது, Arduino IDE ஐத் திறந்து ஸ்கெட்ச் -> நூலகத்தைச் சேர்க்கவும் ->.ZIP நூலகத்தைச் சேர். ஒரு உலாவி சாளரம் ZIP கோப்பிற்கு செல்லவும் திறந்து “சரி” என்பதைக் கிளிக் செய்யவும். வெற்றிகரமாக இருந்தால், அர்டுயினோவின் கீழ்-இடது மூலையில் உள்ள “உங்கள் நூலகங்களில் நூலகம் சேர்க்கப்பட்டுள்ளது” என்பதை நீங்கள் கவனிக்க வேண்டும். இதைச் செய்வதற்கான விரிவான வழிகாட்டி இடைமுக டுடோரியலில் கொடுக்கப்பட்டுள்ளது.
இப்போது, உங்கள் Arduino IDE இல் கீழே உள்ள குறியீட்டைப் பயன்படுத்தலாம் மற்றும் டச் ஸ்கிரீன் கால்குலேட்டர் வேலை செய்ய உங்கள் Arduino UNO இல் பதிவேற்றலாம். மேலும் கீழே, குறியீட்டை சிறிய பகுதிகளாக விளக்கியுள்ளேன்.
இந்த திட்டம் செயல்பட எங்களுக்கு மூன்று நூலகங்கள் தேவை; இந்த மூன்று நூலகங்களும் மேலே வழங்கப்பட்ட இணைப்பிலிருந்து நீங்கள் பதிவிறக்கிய ஜிப் கோப்பில் கொடுக்கப்பட்டுள்ளன. கீழே காட்டப்பட்டுள்ளபடி அவற்றை குறியீட்டில் சேர்த்துள்ளேன்.
#சேர்க்கிறது
முன்பு கூறியது போல, எல்சிடி திரையை எதிர்பார்த்தபடி செயல்பட நாம் அளவீடு செய்ய வேண்டும், ஆனால் இங்கே கொடுக்கப்பட்ட மதிப்புகள் கிட்டத்தட்ட உலகளாவியவை என்று கவலைப்பட வேண்டாம். TS_MINX, TS_MINY, TS_MAXX மற்றும் TS_MAXY ஆகிய மாறிகள் திரையின் அளவுத்திருத்தத்தை தீர்மானிக்கின்றன. அளவுத்திருத்தம் திருப்திகரமாக இல்லை என்று நீங்கள் உணர்ந்தால் அவற்றைச் சுற்றி பொம்மை செய்யலாம்.
# TS_MINX 125 ஐ வரையறுக்கவும் # TS_MINY 85 ஐ வரையறுக்கவும் # TS_MAXX 965 ஐ வரையறுக்கவும் # TS_MAXY 905 ஐ வரையறுக்கவும்
டிஎஃப்டி எல்சிடி திரையில் நிறைய வண்ணங்களைக் காட்ட முடியும் என்பது எங்களுக்குத் தெரியும், இந்த வண்ணங்கள் அனைத்தும் ஹெக்ஸ் மதிப்பில் உள்ளிடப்பட வேண்டும். இதை மேலும் படிக்கக்கூடியதாக மாற்ற, கீழே காட்டப்பட்டுள்ளபடி இந்த மதிப்புகளை ஒரு மாறிக்கு ஒதுக்குகிறோம்.
# WHITE 0x0000 ஐ வரையறுக்கவும் # GREEN 0xF81F // இளஞ்சிவப்பு -> பச்சை # நீல 0xFFE0 // மஞ்சள்-> நீலம் # கருப்பு 0xFFFF // வெள்ளை-> கருப்பு
சரி, இப்போது நாம் நிரலாக்க பகுதிக்கு வரலாம். இந்த திட்டத்தில் மூன்று பிரிவுகள் உள்ளன. ஒன்று பொத்தான்கள் மற்றும் காட்சிகளைக் கொண்ட ஒரு கால்குலேட்டரின் UI ஐ உருவாக்குகிறது. பின்னர், பயனர்களின் தொடுதலின் அடிப்படையில் பொத்தான்களைக் கண்டறிந்து, முடிவுகளைக் கணக்கிட்டு அவற்றைக் காண்பிக்கும். அவற்றை ஒவ்வொன்றாகப் பார்ப்போம்.
1. கால்குலேட்டரின் UI ஐ உருவாக்குதல்:
கால்குலேட்டரின் பயனர் இடைமுகத்தை வடிவமைக்க உங்கள் படைப்பாற்றலைப் பயன்படுத்தலாம். 16 பொத்தான்கள் மற்றும் ஒரு காட்சி அலகு கொண்ட கால்குலேட்டரின் அடிப்படை தளவமைப்பை நான் வெறுமனே செய்துள்ளேன். நீங்கள் MS வண்ணப்பூச்சில் எதையாவது வரைவது போல வடிவமைப்பை உருவாக்க வேண்டும். சேர்க்கப்பட்ட நூலகங்கள் கோடுகள், செவ்வகம், வட்டங்கள், எழுத்துகள், சரங்கள் மற்றும் எந்தவொரு விருப்பமான வண்ணத்தையும் வரைய அனுமதிக்கும். இந்த கட்டுரையிலிருந்து கிடைக்கும் செயல்பாடுகளை நீங்கள் புரிந்து கொள்ளலாம்.
90 களின் கால்குலேட்டருக்கு மிகவும் ஒத்த ஒரு UI ஐ வடிவமைக்க வரி மற்றும் பெட்டி வரைதல் திறன்களைப் பயன்படுத்தினேன். ஒவ்வொரு பெட்டியிலும் 60 பிக்சல்கள் அகலம் மற்றும் உயரம் இருக்கும்.

// முடிவு பெட்டியை வரையவும் tft.fillRect (0, 0, 240, 80, CYAN); // முதல் நெடுவரிசையை வரையவும் tft.fillRect (0,260,60,60, RED); tft.fillRect (0,200,60,60, கருப்பு); tft.fillRect (0,140,60,60, கருப்பு); tft.fillRect (0,80,60,60, கருப்பு); // மூன்றாம் நெடுவரிசையை வரையவும் tft.fillRect (120,260,60,60, GREEN); tft.fillRect (120,200,60,60, கருப்பு); tft.fillRect (120,140,60,60, கருப்பு); tft.fillRect (120,80,60,60, கருப்பு); // (int b = 260; b> = 80; b- = 60) {tft.fillRect (180, b, 60,60, BLUE) க்கான செகவுண்ட் & நான்காவது நெடுவரிசையை வரையவும்; tft.fillRect (60, b, 60,60, BLACK);} // (int h = 80; h <= 320; h + = 60) tft.drawFastHLine (0, h, 240, WHITE) க்கான கிடைமட்ட கோடுகளை வரையவும்; // (int v = 0; v <= 240; v + = 60) tft.drawFastVLine (v, 80, 240, WHITE) க்கான செங்குத்து கோடுகளை வரையவும்; // (int j = 0; j <4; j ++) {for (int i = 0; i <4; i ++) {tft.setCursor (22 + (60 * i), 100 + (60 * j)); tft.setTextSize (3); tft.setTextColor (WHITE); tft.println (சின்னம்);
2. பொத்தான்களைக் கண்டறிதல்:
மற்றொரு சவாலான பணி பயனர் தொடுதலைக் கண்டறிவது. ஒவ்வொரு முறையும் பயனர் எங்காவது தொடும்போது, அவர் தொட்ட பிக்சலின் எக்ஸ் மற்றும் ஒய் நிலை எவ்வாறு இருக்கும் என்பதை நாம் அறிய முடியும். இந்த மதிப்பை சீரியல் மானிட்டரில் println ஐப் பயன்படுத்தி கீழே காட்டப்பட்டுள்ளது.
TSPoint p = waitTouch (); எக்ஸ் = பை; Y = px; சீரியல்.பிரண்ட் (எக்ஸ்); சீரியல்.பிரண்ட் (','); Serial.println (Y); // + "" + Y);
பெட்டியை அகலம் மற்றும் உயரம் 60 பிக்சல் வரை வடிவமைத்துள்ளதால், நான்கு வரிசைகள் மற்றும் (0,0) தொடங்கும் நெடுவரிசைகளுக்கு. ஒவ்வொரு பெட்டியின் நிலையும் கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி கணிக்க முடியும்.

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

இப்போது, எல்லா பெட்டிகளின் நிலையும் எங்களுக்குத் தெரியும். ஒரு பயனர் எங்கும் தொடும்போது, கீழே காட்டப்பட்டுள்ளபடி ஒவ்வொரு பெட்டியின் மதிப்புடன் அவரது (எக்ஸ், ஒய்) மதிப்புகளை ஒப்பிடுவதன் மூலம் அவர் எங்கு தொட்டார் என்பதை நாம் கணிக்க முடியும்.
if (X <105 && X> 50) // நெடுவரிசை 2 இல் பொத்தான்களைக் கண்டறிதல் {if (Y> 0 && Y <85) {Serial.println ("பொத்தான் 0"); // பட்டன் 0 அழுத்தப்பட்டால் (எண் == 0) எண் = 0; வேறு எண் = (எண் * 10) + 0; // இரண்டு முறை அழுத்தப்படுகிறது} if (Y> 85 && Y <140) {Serial.println ("பொத்தான் 2"); if (எண் == 0) எண் = 2; வேறு எண் = (எண் * 10) + 2; // இரண்டு முறை அழுத்தப்பட்டது}
3. எண்களைக் காண்பித்தல் மற்றும் முடிவைக் கணக்கிடுதல்:
இறுதி கட்டம் முடிவைக் கணக்கிட்டு அவற்றை TFT LCD திரையில் காண்பிப்பதாகும். இந்த arduino கால்குலேட்டர் 2 எண்களுடன் மட்டுமே செயல்பட முடியும். இந்த இரண்டு எண்களும் “Num1” மற்றும் “Num2” என மாறிகள் என பெயரிடப்பட்டுள்ளன. மாறி “எண்” என்பது Num1 மற்றும் Num2 இலிருந்து மதிப்பைக் கொடுக்கிறது மற்றும் எடுக்கும்.
ஒரு பயன்பாடு ஒரு பொத்தானை அழுத்தும்போது, எண்ணில் ஒரு இலக்கம் சேர்க்கப்படும். மற்றொரு பொத்தானை அழுத்தும்போது, முந்தைய ஒரு இலக்கத்தை 10 உடன் பெருக்கி, அதனுடன் புதிய எண் சேர்க்கப்படும். உதாரணமாக, நாம் 8 ஐ அழுத்தி 5 ஐ அழுத்தி 7 ஐ அழுத்தினால், முதலில் மாறி 8 ஐ வைத்திருக்கும் (8 * 10) + 5 = 85 பின்னர் (85 * 10) +7 = 857. எனவே இறுதியாக மாறி இருக்கும் மதிப்பு 857.
if (Y> 192 && Y <245) {Serial.println ("பொத்தான் 8"); if (எண் == 0) எண் = 8; வேறு எண் = (எண் * 10) + 8; // மீண்டும் அழுத்தப்பட்டது}
கூட்டல் போன்ற எந்தவொரு செயலையும் நாங்கள் செய்யும்போது, பயனர்கள் கூட்டல் பொத்தானை அழுத்தும்போது எண்ணிலிருந்து மதிப்பு எண் 1 க்கு மாற்றப்படும், பின்னர் எண் பூஜ்ஜியமாக மாறும் , இதனால் இரண்டாவது எண்ணிற்கான உள்ளீட்டை எடுக்க இது தயாராகிறது.
சமம் அழுத்தும் போது எண்ணில் உள்ள மதிப்பு Num2 க்கு அனுப்பப்படும், பின்னர் அந்தந்த கணக்கீடு (இந்த விஷயத்தில் கூடுதலாக) செய்யப்படும், இதன் விளைவாக மீண்டும் “எண்” என்ற மாறி சேமிக்கப்படும்.
இறுதியாக இந்த மதிப்பு எல்சிடி திரையில் காண்பிக்கப்படும்.
வேலை:
இந்த Arduino Touch Screen கால்குலேட்டரின் வேலை எளிதானது. கீழே கொடுக்கப்பட்டுள்ள குறியீட்டை உங்கள் Arduino இல் பதிவேற்றி அதை நீக்க வேண்டும். உங்கள் எல்சிடி திரையில் கால்குலேட்டர் காட்டப்படும்.

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