in

Arduino – i/o functions

Arduino போர்டில் உள்ள ஊசிகளை உள்ளீடுகள் அல்லது வெளியீடுகளாக கட்டமைக்க முடியும். அந்த முறைகளில் ஊசிகளின் செயல்பாட்டை விளக்குவோம். Arduino அனலாக் ஊசிகளின் (analog pins) பெரும்பான்மையானவை டிஜிட்டல் ஊசிகளைப் (digital pins) போலவே கட்டமைக்கப்பட்டு பயன்படுத்தப்படலாம் என்பதைக் கவனத்தில் கொள்ள வேண்டும்.

Pins Configured as INPUT – ஊசிகளை INPUT ஆக உள்ளமைக்கப்பட்டுள்ளது

Arduino ஊசிகளை முன்னிருப்பாக உள்ளீடுகளாக கட்டமைக்கப்படுகின்றன, எனவே நீங்கள் அவற்றை உள்ளீடுகளாகப் பயன்படுத்தும்போது அவை pinMode () உடன் உள்ளீடுகளாக வெளிப்படையாக அறிவிக்கப்பட வேண்டியதில்லை. இந்த வழியில் கட்டமைக்கப்பட்ட ஊசிகள் உயர் மின்மறுப்பு நிலையில் இருப்பதாகக் கூறப்படுகிறது. உள்ளீட்டு ஊசிகளும் அவை மாதிரியாக இருக்கும் சுற்றுக்கு மிகச் சிறிய கோரிக்கைகளைச் செய்கின்றன, இது முள் முன் 100 மெகாஹாம் (megaohm) தொடர் மின்தடையத்திற்கு சமம்.

இதன் பொருள், உள்ளீட்டு முள் ஒரு மாநிலத்திலிருந்து மற்றொரு மாநிலத்திற்கு மாற மிகக் குறைந்த மின்னோட்டத்தை எடுக்கும். இது ஒரு கொள்ளளவு தொடு சென்சார் (touch sensor ) செயல்படுத்துதல் அல்லது LED ஒரு photodiode யூடாகப் படிப்பது போன்ற பணிகளுக்கு ஊசிகளை (pin) பயனுள்ளதாக மாற்றுகிறது.

pinMode (pin, INPUT) என இணைக்கப்பட்டுள்ள ஊசிகளுடன் எதுவும் இணைக்கப்படவில்லை, அல்லது அவற்றுடன் இணைக்கப்பட்ட கம்பிகள் மற்ற சுற்றுகளுடன் இணைக்கப்படவில்லை, முள் நிலையில் சீரற்ற மாற்றங்களைப் புகாரளித்தல், சுற்றுச்சூழலில் இருந்து மின் சத்தத்தை எடுப்பது அல்லது மாநிலத்தை திறம்பட இணைத்தல் அருகிலுள்ள முள்.

Pull-up Resistors இழுத்தல் மின்தடையங்கள்

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

உள்ளீடாக உள்ளமைக்கப்பட்ட ஊசிகளுடன் உள்ளமைக்கப்பட்ட pull-up மின்தடையத்தைப் பயன்படுத்துதல்.

மென்பொருளிலிருந்து அணுகக்கூடிய அட்மேகா சிப்பில் 20,000 புல்-அப் மின்தடையங்கள் கட்டப்பட்டுள்ளன. பின்மோட் () ஐ INPUT_PULLUP ஆக அமைப்பதன் மூலம் இந்த உள்ளமைக்கப்பட்ட புல்-அப் மின்தடைகள் அணுகப்படுகின்றன. இது INPUT பயன்முறையின் நடத்தை திறம்பட தலைகீழாக மாற்றுகிறது, அங்கு HIGH என்றால் சென்சார் முடக்கப்பட்டுள்ளது மற்றும் குறைந்த பொருள் சென்சார் இயக்கத்தில் உள்ளது. இந்த இழுத்தலின் மதிப்பு பயன்படுத்தப்படும் மைக்ரோகண்ட்ரோலரைப் பொறுத்தது. பெரும்பாலான ஏ.வி.ஆர் அடிப்படையிலான பலகைகளில், மதிப்பு 20kΩ முதல் 50kΩ வரை இருக்கும் என்று உத்தரவாதம் அளிக்கப்படுகிறது. Arduino டியூவில், இது 50kΩ மற்றும் 150kΩ க்கு இடையில் உள்ளது. சரியான மதிப்புக்கு, உங்கள் போர்டில் உள்ள மைக்ரோகண்ட்ரோலரின் தரவுத்தாள் பார்க்கவும்.


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

ஒரு முள் உயர்ந்ததா அல்லது குறைவாக உள்ளதா என்பதைக் கட்டுப்படுத்தும் அதே பதிவேடுகள் (உள் சிப் நினைவக இடங்கள்) இழுக்கும்-மின்தடையங்களைக் கட்டுப்படுத்துகின்றன. இதன் விளைவாக, முள் INPUTmode இல் இருக்கும்போது புல்-அப் மின்தடைகளை இயக்கும்படி கட்டமைக்கப்பட்டிருக்கும், முள் பின்மொட் () உடன் OUTPUT பயன்முறைக்கு மாறினால் முள் HIGH என கட்டமைக்கப்படும். இது மற்ற திசையிலும் இயங்குகிறது, மேலும் ஒரு உயர் நிலையில் எஞ்சியிருக்கும் வெளியீட்டு முள் பின்மோட் () உடன் உள்ளீட்டிற்கு மாறினால் புல்-அப் மின்தடை அமைக்கப்படும்.

Example

pinMode(3,INPUT) ; // set pin to input without using built in pull up resistor
pinMode(5,INPUT_PULLUP) ; // set pin to input using built in pull up resistor

Pins Configured as OUTPUT – ஊசிகளை OUTPUT ஆக உள்ளமைக்கப்பட்டுள்ளது

பின்மோட் () உடன் OUTPUT ஆக உள்ளமைக்கப்பட்ட பின்ஸ் குறைந்த மின்மறுப்பு நிலையில் இருப்பதாகக் கூறப்படுகிறது. இதன் பொருள் அவை மற்ற சுற்றுகளுக்கு கணிசமான அளவு மின்னோட்டத்தை வழங்க முடியும். அட்மேகா ஊசிகளால் பிற சாதனங்கள் / சுற்றுகளுக்கு 40 mA (மில்லியாம்ப்ஸ்) மின்னோட்டத்தை மூலமாக (நேர்மறை மின்னோட்டத்தை வழங்கலாம்) அல்லது மூழ்கலாம் (எதிர்மறை மின்னோட்டத்தை வழங்கலாம்). எல்.ஈ.டி பிரகாசமாக ஒளிரச் செய்ய இது போதுமான மின்னோட்டமாகும் (தொடர் மின்தடையத்தை மறந்துவிடாதீர்கள்), அல்லது பல சென்சார்களை இயக்கவும், ஆனால் ரிலேக்கள், சோலெனாய்டுகள் அல்லது மோட்டார்கள் இயக்க போதுமான மின்னோட்டம் இல்லை.

வெளியீட்டு ஊசிகளிலிருந்து உயர் மின்னோட்ட சாதனங்களை இயக்க முயற்சிப்பது, முள் வெளியீட்டு டிரான்சிஸ்டர்களை சேதப்படுத்தலாம் அல்லது அழிக்கலாம் அல்லது முழு அட்மேகா சிப்பையும் சேதப்படுத்தும். பெரும்பாலும், இது மைக்ரோகண்ட்ரோலரில் “இறந்த” முள் விளைகிறது, ஆனால் மீதமுள்ள சில்லுகள் இன்னும் போதுமான அளவில் செயல்படுகின்றன. இந்த காரணத்திற்காக, ஒரு குறிப்பிட்ட பயன்பாட்டிற்கு ஊசிகளிலிருந்து எடுக்கப்பட்ட அதிகபட்ச மின்னோட்டம் தேவைப்படாவிட்டால், 470Ω அல்லது 1 K மின்தடையங்கள் மூலம் OUTPUT ஊசிகளை மற்ற சாதனங்களுடன் இணைப்பது நல்லது.

pinMode() Function – pinMode () செயல்பாடு

pinMode () செயல்பாடு ஒரு குறிப்பிட்ட முள் உள்ளீடு அல்லது வெளியீடாக செயல்பட கட்டமைக்க பயன்படுகிறது. INPUT_PULLUP பயன்முறையில் உள் இழுக்கும் மின்தடைகளை இயக்க முடியும். கூடுதலாக, INPUT பயன்முறை உள் இழுப்பு அப்களை வெளிப்படையாக முடக்குகிறது.

pinMode() Function Syntax – pinMode () செயல்பாடு தொடரியல்

Void setup () {
   pinMode (pin , mode);
}

pin − நீங்கள் அமைக்க விரும்பும் முள் எண்ணிக்கை

mode − INPUT, OUTPUT அல்லது INPUT_PULLUP.

Example

int button = 5 ; // button connected to pin 5
int LED = 6; // LED connected to pin 6

void setup () {
   pinMode(button , INPUT_PULLUP); 
   // set the digital pin as input with pull-up resistor
   pinMode(button , OUTPUT); // set the digital pin as output
}

void setup () {
   If (digitalRead(button ) == LOW) // if button pressed {
      digitalWrite(LED,HIGH); // turn on led
      delay(500); // delay for 500 ms
      digitalWrite(LED,LOW); // turn off led
      delay(500); // delay for 500 ms
   }
}

digitalWrite() Function

digitalWrite()செயல்பாடு டிஜிட்டல் முள் ஒரு உயர் அல்லது குறைந்த மதிப்பை எழுத பயன்படுகிறது. பின்மோட் () உடன் முள் OUTPUT ஆக கட்டமைக்கப்பட்டிருந்தால், அதன் மின்னழுத்தம் அதனுடன் தொடர்புடைய மதிப்புக்கு அமைக்கப்படும்: 5V (அல்லது 3.3V போர்டுகளில் 3.3V) HIGH க்கு, 0V (தரையில்) LOW க்கு. முள் INPUT ஆக உள்ளமைக்கப்பட்டால், டிஜிட்டல்ரைட் () உள்ளீட்டு முனையின் உள் இழுப்பை (HIGH) இயக்கும் அல்லது முடக்கும் (LOW). உள் இழுக்கும் மின்தடையத்தை இயக்க பின்மோட் () ஐ INPUT_PULLUP என அமைக்க பரிந்துரைக்கப்படுகிறது.

நீங்கள் டிஜிட்டல் மோட் () ஐ OUTPUT ஆக அமைக்கவில்லை, மற்றும் ஒரு எல்.ஈ.டியை ஒரு முள் உடன் இணைக்கவில்லை என்றால், டிஜிட்டல்ரைட் (HIGH) ஐ அழைக்கும்போது, ​​எல்.ஈ.டி மங்கலாகத் தோன்றலாம். பின்மோட் () ஐ வெளிப்படையாக அமைக்காமல், டிஜிட்டல்ரைட் () உள் இழுக்கும்-மின்தடையத்தை இயக்கும், இது ஒரு பெரிய மின்னோட்டத்தைக் கட்டுப்படுத்தும் மின்தடையாக செயல்படுகிறது.

digitalWrite() Function Syntax – டிஜிட்டல்ரைட் () தொடரியல் செயல்பாடு

Void loop() {
   digitalWrite (pin ,value);
}
  • pin − நீங்கள் அமைக்க விரும்பும் முள் எண்ணிக்கை
  • value − உயர்(HIGH), அல்லது குறைந்த(LOW).

Example

int LED = 6; // LED connected to pin 6

void setup () {
   pinMode(LED, OUTPUT); // set the digital pin as output
}

void setup () { 
   digitalWrite(LED,HIGH); // turn on led
   delay(500); // delay for 500 ms
   digitalWrite(LED,LOW); // turn off led
   delay(500); // delay for 500 ms
}

analogRead( ) function


Arduino அதன் ஊசிகளில் ஒன்றில் மின்னழுத்தம் பயன்படுத்தப்பட்டுள்ளதா என்பதைக் கண்டறிந்து டிஜிட்டல் ரீட் () செயல்பாட்டின் மூலம் அதைப் புகாரளிக்க முடியும். ஆன் / ஆஃப் சென்சார் (இது ஒரு பொருளின் இருப்பைக் கண்டறியும்) மற்றும் ஒரு அனலாக் சென்சார் இடையே வேறுபாடு உள்ளது, அதன் மதிப்பு தொடர்ந்து மாறுகிறது. இந்த வகை சென்சார் படிக்க, எங்களுக்கு வேறு வகை முள் தேவை.

Arduino போர்டின் கீழ்-வலது பகுதியில், “அனலாக் இன்” எனக் குறிக்கப்பட்ட ஆறு ஊசிகளைக் காண்பீர்கள். இந்த சிறப்பு ஊசிகளும் அவற்றுக்கு ஒரு மின்னழுத்தம் பயன்படுத்தப்படுகிறதா என்பதை மட்டுமல்ல, அதன் மதிப்பையும் சொல்கிறது. அனலாக் ரீட் () செயல்பாட்டைப் பயன்படுத்துவதன் மூலம், ஊசிகளில் ஒன்றில் பயன்படுத்தப்படும் மின்னழுத்தத்தைப் படிக்கலாம்.

இந்த செயல்பாடு 0 மற்றும் 1023 க்கு இடையில் ஒரு எண்ணை வழங்குகிறது, இது 0 மற்றும் 5 வோல்ட்டுகளுக்கு இடையிலான மின்னழுத்தங்களைக் குறிக்கிறது. எடுத்துக்காட்டாக, முள் எண் 0 க்கு 2.5 V மின்னழுத்தம் பயன்படுத்தப்பட்டால், அனலாக் ரீட் (0) 512 ஐ வழங்குகிறது.

analogRead() function Syntax

analogRead(pin);

pin − படிக்க வேண்டிய அனலாக் உள்ளீட்டு முள் எண்ணிக்கை (பெரும்பாலான பலகைகளில் 0 முதல் 5 வரை, மினி மற்றும் நானோவில் 0 முதல் 7 வரை, மெகாவில் 0 முதல் 15 வரை)

Example

int analogPin = 3;//potentiometer wiper (middle terminal) 
   // connected to analog pin 3 
int val = 0; // variable to store the value read

void setup() {
   Serial.begin(9600); // setup serial
} 

void loop() {
   val = analogRead(analogPin); // read the input pin
   Serial.println(val); // debug value
}

Written by Admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

GIPHY App Key not set. Please check settings

Serial Communication in Arduino in Tamil

Arduino – Advanced I/O Function