- I2C தொடர்பு நெறிமுறை என்றால் என்ன?
- தேவையான பொருட்கள்
- I2C தொகுதி
- சுற்று வரைபடம்
- I2C கட்டுப்பாட்டு முகவரியைக் கண்டுபிடிப்பதற்கான குறியீடு
- ESP32 க்கான குறியீடு
முந்தைய டுடோரியலில், OLED 5 ஊசிகளைப் பயன்படுத்தும் SPI தகவல்தொடர்புகளைப் பயன்படுத்தி ESP32 உடன் இணைக்கப்பட்டுள்ளது. இந்த டுடோரியலில், I2C தகவல்தொடர்பு உதவியுடன் 16x2 LCD ஐ ESP32 உடன் இடைமுகப்படுத்துகிறோம், 2 ஊசிகளை மட்டுமே பயன்படுத்துகிறோம். இது ESP32 ஆல் பயன்படுத்தப்படும் ஊசிகளின் எண்ணிக்கையைக் குறைக்கிறது, இதனால் வெவ்வேறு சென்சார்களை இடைமுகப்படுத்த அதிக எண்ணிக்கையிலான ESP32 ஊசிகளும் இலவசமாக இருக்கும்.
I2C தொடர்பு நெறிமுறை என்றால் என்ன?
I2C என்ற சொல் “ இன்டர் ஒருங்கிணைந்த சுற்றுகள்” என்பதைக் குறிக்கிறது. இது பொதுவாக ஐ.ஐ.சி அல்லது நான் ஸ்கொயர் சி அல்லது சில இடங்களில் 2-கம்பி இடைமுக நெறிமுறை (டி.டபிள்யூ.ஐ) என குறிக்கப்படுகிறது, ஆனால் இவை அனைத்தும் ஒரே மாதிரியானவை. I2C என்பது ஒரு ஒத்திசைவான தகவல் தொடர்பு நெறிமுறை, அதாவது தகவல்களைப் பகிரும் இரு சாதனங்களும் பொதுவான கடிகார சமிக்ஞையைப் பகிர்ந்து கொள்ள வேண்டும். தகவல்களைப் பகிர்ந்து கொள்ள எஸ்.டி.ஏ மற்றும் எஸ்.சி.எல் ஆகிய இரண்டு கம்பிகள் மட்டுமே உள்ளன, அவற்றில் எஸ்சிஎல் கடிகார சமிக்ஞைக்காகவும், எஸ்.டி.ஏ தரவை அனுப்புவதற்கும் பெறுவதற்கும் பயன்படுத்தப்படுகிறது.
I2C1602 எல்சிடி கன்ட்ரோலர் உள்ளமைக்கப்பட்ட I2C LCD தொகுதியை நீங்கள் வாங்கலாம் அல்லது 16x2 LCD ஐ ESP32 உடன் இடைமுகப்படுத்த I2C கட்டுப்படுத்தியை வாங்கலாம்.
தேவையான பொருட்கள்
- ESP32
- 16 * 2 எல்சிடி காட்சி
- I2C எல்சிடி கட்டுப்படுத்தி
- கம்பிகள்
- ப்ரெட்போர்டு
I2C தொகுதி
I2C கட்டுப்படுத்தி ஒரு IC PCF8574 ஐக் கொண்டுள்ளது, இது இரு-கம்பி இருதரப்பு I2C- பஸ் தொடர் கடிகாரம் (SCL) மற்றும் தொடர் தரவு (SDA) வழியாக பொது-நோக்க தொலைநிலை I / O விரிவாக்கத்தை வழங்குகிறது. இது மிகவும் பயனுள்ள ஐ.சி மற்றும் எல்.ஈ.டி அறிகுறிகள் பலகைகள், காட்சிகள், கீ பேட்கள், தொழில்துறை கட்டுப்பாடு போன்றவற்றில் பயன்படுத்தப்படலாம். ஐ 2 சி பஸ் முகவரிக்கு 8 ஐ / ஓ ஊசிகளும், 3 ஊசிகளும் (ஏ 0, ஏ 1, ஏ 2) மற்றும் எஸ்.டி.ஏ, எஸ்.சி.எல் ஊசிகளும் உள்ளன.
எல்.சி.டி கட்டுப்பாட்டு வாரியத்தில் எல்.சி.டி.
ஐசி மற்றும் எல்சிடி கட்டுப்படுத்தியின் முள் வரைபடங்கள் கீழே கொடுக்கப்பட்டுள்ளன.


சுற்று வரைபடம்
ESP32 உடன் LCD ஐ இணைப்பதற்கான இணைப்புகள் கீழே கொடுக்கப்பட்டுள்ளன
- எல்சிடி டிஸ்ப்ளேவின் 1-16 ஐ இணைக்க ஐ 2 சி தொகுதிக்கு பின் 1-16 ஐ இணைக்கவும்.
- I2C தொகுதியின் SDA முள் -> ESP32 இன் SDA முள் அதாவது D21
- I2C தொகுதியின் SCL முள் -> ESP32 இன் SCL முள் அதாவது D22

ஆர்ப்பாட்டத்திற்காக நான் 3v ESP32 ஐ 5v உடன் I2C உடன் இணைத்துள்ளேன், ஆனால் தரவை சரியாகக் காண்பிக்க I2C தொகுதிக்கு 5V வழங்கல் தேவை, ஏனெனில் ESP32 ஆனது 3.3 வோல்ட்டுகளை மட்டுமே கொடுக்க முடியும், இது I2C தொகுதிக்கு குறைவாக உள்ளது மற்றும் தரவு தெளிவாகத் தெரியாது. எனவே, வெளிப்புற 5 வி விநியோகத்தைப் பயன்படுத்துவது நல்லது.
எங்களுக்கு ESP32 க்கான போர்டு கோப்புகள் தேவை, எனவே நீங்கள் ESP32 க்கு புதியவராக இருந்தால், முதலில் ESP32 டுடோரியலுடன் தொடங்குவதைப் பின்தொடர்ந்து பின் இங்கே செல்லவும். I2C இல்லாமல் நீங்கள் LCD ஐ ESP32 உடன் இணைக்க முடியும், ஆனால் இது ESP32 இன் அதிக ஊசிகளை எடுக்கும்.

I2C கட்டுப்பாட்டு முகவரியைக் கண்டுபிடிப்பதற்கான குறியீடு
பிரதான குறியீட்டிற்குச் செல்வதற்கு முன், முதலில் I2C தொகுதியின் முகவரியைக் கண்டுபிடிக்க வேண்டும்.
I2C கட்டுப்படுத்தி உள்ளடிக்கிய ADDRESS பிட்டைக் கொண்டுள்ளது, இது I2C பஸ்ஸைக் கட்டுப்படுத்தப் பயன்படுகிறது. இயல்புநிலை ADDRESS 0x27 ஆனால் சில சந்தர்ப்பங்களில் இது 0x3f ஆக இருக்கலாம். எனவே, I2C கட்டுப்படுத்தியின் முகவரியைச் சரிபார்க்க, மேலே காட்டப்பட்டுள்ளபடி சுற்றுடன் இணைக்கவும் கீழே கொடுக்கப்பட்டுள்ள குறியீட்டைப் பதிவேற்றி சீரியல் மானிட்டரைத் திறக்கவும், நீங்கள் முகவரியை ஹெக்ஸாடெசிமலில் காண்பீர்கள்.
#சேர்க்கிறது

எங்கள் எல்சிடி இடைமுகக் குறியீட்டில் இந்த முகவரியைப் பயன்படுத்துகிறோம் என்பதை நினைவில் கொள்க.
I2C கட்டுப்படுத்தியில், A0, A1 மற்றும் A2 என பெயரிடப்பட்ட மூன்று ஜம்பர்கள் / சாலிடரிங் பட்டைகள் உள்ளன. தொகுதியின் முகவரியை மாற்ற இவை பயன்படுத்தப்படுகின்றன. முகவரி பட்டைகள் ஒன்றாக இணைத்தால், இயல்புநிலை மதிப்பு 0x27 அல்லது 0x3F இலிருந்து முகவரி எவ்வாறு மாறுகிறது என்பது இங்கே. (1 = இணைக்கப்படவில்லை. 0 = இணைக்கப்பட்டுள்ளது):
|
அ 0 |
எ 1 |
அ 2 |
HEX முகவரி |
|
1 |
1 |
1 |
0x27 |
|
0 |
1 |
1 |
0x26 |
|
1 |
0 |
1 |
0x25 |
|
0 |
0 |
1 |
0x24 |
|
1 |
1 |
0 |
0x23 |
|
0 |
1 |
0 |
0x22 |
|
1 |
0 |
0 |
0x21 |
|
0 |
0 |
0 |
0x20 |
ESP32 க்கான குறியீடு
முதலில் நமக்கு I2C LCD தொகுதிக்கு LiquidCrystal_I2C என்ற நூலகம் தேவை. நாங்கள் இங்கே I2C ஐப் பயன்படுத்துவதால் சாதாரண Liquidcrsytal நூலகம் இயங்காது.
இதிலிருந்து நூலகத்தைப் பதிவிறக்குக
சீரியல் மானிட்டரில் தட்டச்சு செய்யப்பட்டவை அனைத்தும் எல்சிடியில் காண்பிக்கப்படும் வகையில் குறியீடு எழுதப்பட்டுள்ளது. எங்கள் குறியீட்டை எழுத மற்றும் பதிவேற்ற Arduino IDE பயன்படுத்தப்பட்டுள்ளது.
முதலில், Arduino IDE உடன் வரும் I2C தகவல்தொடர்புக்கான கம்பி நூலகத்தை நாம் சேர்க்க வேண்டும் .
#சேர்க்கிறது
பின்னர் I2C LCD க்கு, முன்பு பதிவிறக்கம் செய்யப்பட்ட LiquidCrystal_I2C.h ஐ சேர்க்கவும்.
#சேர்க்கிறது
பின்னர் எல்சிடி ஐ 2 சி முகவரியை 0x27 ஆக அமைக்கவும் அல்லது மேலே கொடுக்கப்பட்ட ஸ்கேனர் குறியீட்டை 16 எழுத்துகள் 2 வரி காட்சிக்கு இயக்குவதன் மூலம் உங்களுக்கு கிடைத்த முகவரியை அமைக்கவும்
லிக்விட் கிரிஸ்டல்_ஐ 2 சி எல்சிடி (0x27, 16,2);
இல் அமைப்பு செயல்பாடு, தொடர் தொடர்பு மற்றும் எல்சிடி 2 வரிகளை துவக்க 16 எழுத்துகள் மற்றும் பின்னொளி இயக்கவும். நீங்கள் பின்னொளியை அணைக்க விரும்பினால் lcd .noBacklight () ஐப் பயன்படுத்தவும், உங்கள் விருப்பத்திற்கு ஏற்ப setCursor () செயல்பாட்டை மாற்றவும்.
void setup () { Serial.begin (9600); lcd.init (); lcd.backlight (); lcd.setCursor (0,0); lcd.print ("ஹலோ, உலகம்!"); தாமதம் (1000); lcd.setCursor (0,1); lcd.print ("circdigest.com"); தாமதம் (3000);
எல்சிடி முதலில் சீரியல் மானிட்டரைப் பயன்படுத்துவதற்கான வழிமுறைகளைக் காண்பிக்கும் மற்றும் காண்பிக்க எழுத்துக்களைத் தட்டச்சு செய்யும்.
சீரியல் மானிட்டர் விருப்பத்தை "வரி முடிவு இல்லை" என்று அமைக்கவும்
lcd.clear (); lcd.setCursor (0,0); lcd.print ("Ser ஐப் பயன்படுத்துக. மானிட்டர்"); lcd.setCursor (0,1); lcd.print ("காண்பிக்க வகை"); }
Serial.available () செயல்பாட்டைப் பயன்படுத்தி சீரியல் போர்ட்டிலிருந்து உள்வரும் சீரியல் தரவை லூப் செயல்பாடு தொடர்ந்து சரிபார்க்கும். ஒரு செய்தி இருந்தால், அது விநாடிக்கு காத்திருந்து எல்சிடி .ரைட் () மற்றும் சீரியல்.ரெட் () செயல்பாடுகளைப் பயன்படுத்தி எல்சிடியில் அச்சிடுகிறது.
void loop () {{// சீரியல் போர்ட்டில் எழுத்துக்கள் வரும்போது… if (Serial.available ()) {தாமதம் (100); // முழு செய்தியும் lcd.clear () வருவதற்கு சற்று காத்திருங்கள்; // திரையை அழிக்கும்போது (Serial.available ()> 0) {// கிடைக்கக்கூடிய அனைத்து எழுத்துக்களையும் lcd.write (Serial.read ()) படிக்கவும்; // ஒவ்வொரு எழுத்தையும் எல்சிடிக்கு காண்பி}}}}
போட்டி குறியீடு கீழே கொடுக்கப்பட்டுள்ளது, எனவே குறியீட்டைப் பதிவேற்றி சீரியல் மானிட்டரைத் திறக்கவும். பின்னர் செய்தியைத் தட்டச்சு செய்து Enter ஐ அழுத்தவும்.உங்கள் செய்தி எல்சிடியில் காண்பிக்கப்படும்.
எல்.சி.டி.யில் உங்களுக்கு முறையான அல்லது பதில் கிடைக்கவில்லை என்றால், உங்கள் ஐ 2 சி கட்டுப்பாட்டு முகவரியைச் சரிபார்க்கவும் அல்லது சரியான முகவரியைப் பெற மேலே கொடுக்கப்பட்ட குறியீட்டைக் கொண்டு மீண்டும் ஸ்கேன் செய்யவும் .
