சார்லிப்ளெக்ஸிங் என்பது ஒரு சில I / O ஊசிகளைப் பயன்படுத்தி பல எல்.ஈ.டிகளைக் கட்டுப்படுத்தும் ஒரு நுட்பமாகும். சார்லிப்ளெக்ஸிங் என்பது மல்டிபிளெக்ஸிங் போன்றது, ஆனால் இது முள்-மாநில தர்க்கத்தை (உயர், குறைந்த உள்ளீடு) பயன்படுத்துகிறது. சார்லிப்ளெக்ஸிங் நுட்பம் அதன் கண்டுபிடிப்பாளரான சார்லி ஆலன் என்பவரின் பெயரிடப்பட்டது, அவர் 1995 இல் இந்த நுட்பத்தை கண்டுபிடித்தார். 4 இலக்க 7-பிரிவு காட்சி மற்றும் 8x8 எல்இடி மேட்ரிக்ஸை இயக்குவதற்கு முன்னர் ஆர்டுயினோவில் மல்டிபிளெக்சிங் நுட்பத்தைப் பயன்படுத்தினோம்.
சார்லிப்ளெக்ஸிங் N * (N - 1) எல்.ஈ.டிகளைக் கட்டுப்படுத்த உங்களை அனுமதிக்கிறது, அங்கு N என்பது ஊசிகளின் எண்ணிக்கை அல்ல. எடுத்துக்காட்டாக, 4 அர்டுயினோ ஊசிகளை 4 * (4-1) = 12 ஐப் பயன்படுத்தி 12 எல்.ஈ.டிகளை நீங்கள் கட்டுப்படுத்தலாம். எல்.ஈ.டிக்கள் டையோட்கள், மற்றும் டையோட்களில், மின்னோட்டம் ஒரே ஒரு திசையில் பாய்கிறது. எனவே சார்லிப்ளெக்ஸிங்கில், இரண்டு எல்.ஈ.டிகளை ஒருவருக்கொருவர் இணையாக ஆனால் எதிர் துருவமுனைப்புடன் இணைக்கிறோம், இதனால் ஒரே நேரத்தில் ஒரு எல்.ஈ.டி மட்டுமே இயக்கப்படும். Arduino அல்லது பிற மைக்ரோகண்ட்ரோலர் போர்டுகளுக்கு வரும்போது, உங்களிடம் போதுமான உள்ளீடு / வெளியீட்டு ஊசிகளும் இல்லை. எல்சிடி டிஸ்ப்ளே, எல்.ஈ.டி மற்றும் சில சென்சார்களை இடைமுகப்படுத்த வேண்டிய ஒரு திட்டத்தில் நீங்கள் பணிபுரிகிறீர்கள் என்றால், நீங்கள் ஏற்கனவே ஊசிகளை விட்டு வெளியேறிவிட்டீர்கள். அந்த சூழ்நிலையில், ஊசிகளின் எண்ணிக்கையைக் குறைக்க நீங்கள் சார்லிப்ளெக்ஸ் எல்.ஈ.டி.
இந்த டுடோரியலில், 4 ஆர்டுயினோ ஊசிகளைப் பயன்படுத்தி 12 எல்.ஈ.டிகளைக் கட்டுப்படுத்த சார்லிப்ளெக்ஸிங் நுட்பத்தைப் பயன்படுத்தப் போகிறோம்.
கூறுகள் தேவை
- Arduino UNO
- எல்.ஈ.டி (12)
- 4 மின்தடை (330 ஓம்ஸ்)
- ஜம்பர் கம்பிகள்
- ப்ரெட்போர்டு
சுற்று வரைபடம்

அடிப்படையில், இந்த சுற்று வரைபடத்தில், 12 எல்.ஈ.டிக்கள் 4 அர்டுயினோ ஊசிகளுடன் மின்தடையங்கள் மூலம் இணைக்கப்பட்டுள்ளன. Arduino இன் ஒவ்வொரு முள் மூன்று எல்.ஈ.டிகளுடன் இணைக்கப்பட்டுள்ளது. எல்.ஈ.டிகளின் ஆறு குழுக்கள் உள்ளன, ஒவ்வொரு குழுவிலும், 2 எல்.ஈ.டிக்கள் இணைக்கப்பட்டுள்ளன, மேலும் இரண்டு எல்.ஈ.டிகளும் ஒருவருக்கொருவர் இணையாக இருக்கின்றன, ஆனால் எதிர் துருவமுனைப்புடன் ஒரே நேரத்தில் ஒரு எல்.ஈ.டி மட்டுமே இயக்கப்படும். எனவே லெட் 1 ஐ இயக்க சுற்று வரைபடத்தின்படி, முள் A இல் உயர் சமிக்ஞை மற்றும் முள் B இல் குறைந்த சமிக்ஞை இருக்க வேண்டும், மேலும் முள் C மற்றும் D துண்டிக்கப்பட வேண்டும். மற்ற எல்.ஈ.டிகளுக்கும் இதே நடைமுறை பின்பற்றப்படும். ஒவ்வொரு எல்.ஈ.டிக்கும் முள் அமைப்புகளின் முழு அட்டவணை கீழே கொடுக்கப்பட்டுள்ளது:
| எல்.ஈ.டி. | முள் 8 | முள் 9 | முள் 10 | முள் 11 |
| 1 | உயர் | குறைந்த | உள்ளீடு | உள்ளீடு |
| 2 | குறைந்த | உயர் | உள்ளீடு | உள்ளீடு |
| 3 | உள்ளீடு | உயர் | குறைந்த | உள்ளீடு |
| 4 | உள்ளீடு | குறைந்த | உயர் | உள்ளீடு |
| 5 | உள்ளீடு | உள்ளீடு | உயர் | குறைந்த |
| 6 | உள்ளீடு | உள்ளீடு | குறைந்த | உயர் |
| 7 | உயர் | உள்ளீடு | குறைந்த | உள்ளீடு |
| 8 | குறைந்த | உள்ளீடு | உயர் | உள்ளீடு |
| 9 | உள்ளீடு | உயர் | உள்ளீடு | குறைந்த |
| 10 | உள்ளீடு | குறைந்த | உள்ளீடு | உயர் |
| 11 | உயர் | உள்ளீடு | உள்ளீடு | குறைந்த |
| 12 | குறைந்த | உள்ளீடு | உள்ளீடு | உயர் |
இணைப்புகளுக்குப் பிறகு எனது வன்பொருள் கீழே உள்ள படம் போல் தெரிகிறது. படத்திலிருந்து நீங்கள் பார்க்க முடிந்தபடி ஆறு குழுக்கள் எல்.ஈ.டி மற்றும் ஒவ்வொரு குழுவிலும் 2 எல்.ஈ.டிக்கள் ஒருவருக்கொருவர் எதிரே இணைக்கப்பட்டுள்ளன. Arduino UNO தொகுதி யூ.எஸ்.பி போர்ட்டால் இயக்கப்படுகிறது.

குறியீடு விளக்கம்
இந்த டுடோரியலின் முடிவில் ஒரு வேலை செய்யும் வீடியோவுடன் முழுமையான குறியீடு கொடுக்கப்பட்டுள்ளது, திட்டத்தின் செயல்பாட்டைப் புரிந்துகொள்வதற்கான முழுமையான நிரலை இங்கே விளக்குகிறோம்.
Arduino குறியீட்டின் தொடக்கத்தில் எல்.ஈ.டிக்கள் இணைக்கப்பட்டுள்ள அனைத்து முள் வரையறுக்கவும். அதன் பிறகு, எல்.ஈ.டி மற்றும் தலைமையிலான மாநிலத்தின் மொத்த எண்ணிக்கையை வரையறுக்கவும்.
# ஒரு 8 ஐ வரையறுக்கவும் # பி 9 ஐ வரையறுக்கவும் # சி 10 ஐ வரையறுக்கவும் # டி 11 ஐ வரையறுக்கவும் # PIN_CONFIG 0 ஐ வரையறுக்கவும் PIN_STATE 1 ஐ வரையறுக்கவும்
இப்போது ஒரு வரிசையில் எல்.ஈ.டிகளை இயக்க மற்றும் அணைக்க ஒரு மேட்ரிக்ஸை உருவாக்கவும், முள் நிலை மற்றும் முள் உள்ளமைவை மாற்றுவதன் மூலம் வரிசையை மாற்றலாம். இந்த மேட்ரிக்ஸின் படி, எல்இடி 1 முதலில் எல்இடி 2 மற்றும் பலவற்றை இயக்கும்.
int matrix = { // PIN_CONFIG PIN_STATE // ABCDABCD { U OUTPUT, OUTPUT, INPUT, INPUT}, {HIGH, LOW, LOW, LOW}}, {U OUTPUT, OUTPUT, INPUT, INPUT}, {LOW, HIGH, குறைந்த}}, {{உள்ளீடு, வெளியீடு, வெளியீடு, உள்ளீடு}, {குறைந்த, உயர், குறைந்த, குறைந்த}}, …………………………. …………………………..
இப்போது வெற்றிட வளையத்திற்குள் , கொடுக்கப்பட்ட வரிசையில் எல்.ஈ.டிகளை இயக்க மற்றும் அணைக்க நிரல் LED_COUNT மேட்ரிக்ஸை இயக்கும்.
void loop () { for (int l = 0; l <LED_Num; l ++) { lightOn (l); தாமதம் (1000 / LED_Num); }
இப்போது மடிக்கணினியுடன் Arduino ஐ இணைத்து போர்டு மற்றும் போர்ட்டை சரியாக தேர்ந்தெடுத்து பதிவேற்ற பொத்தானைக் கிளிக் செய்க. குறியீட்டைப் பதிவேற்றிய பிறகு, உங்கள் எல்.ஈ.டிக்கள் ஒளிர ஆரம்பிக்க வேண்டும்.

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