பாடம் 14/31-4: Arduino குறியீட்டு map() எடுத்துக்காட்டு 1
இந்த டுடோரியல் ஆர்டுயினோ நிரலாக்க தொடரின் ஒரு பகுதியாகும், மேலும் இது map() செயல்பாட்டின் நடைமுறை பயன்பாட்டில் கவனம் செலுத்துகிறது. இந்த பாடத்தில், LED இன் பிரகாசத்தை கட்டுப்படுத்த ஒரு சதவீத மதிப்பை (0–100) PWM (பல்ஸ் அகல பண்பேற்றம்) மதிப்பாக (0–255) எவ்வாறு மாற்றுவது என்பதை நீங்கள் கற்றுக்கொள்வீர்கள். 60% என்பது 153 க்கு சமம் என்று கைமுறையாக கணக்கிடுவதற்கு பதிலாக, map() செயல்பாடு நேரியல் மாற்றத்தை உங்களுக்காக கையாள்கிறது, இது உங்கள் குறியீட்டை தூய்மையாகவும் மேலும் உள்ளுணர்வுடனும் ஆக்குகிறது.
இந்த நுட்பம் பல நிஜ உலக பயன்பாடுகளுக்கு அவசியமானது, அங்கு சென்சார் அளவீடுகள் அல்லது பயனர் உள்ளீடுகளை வெவ்வேறு வரம்புகளுக்கு மொழிபெயர்க்க வேண்டும். எடுத்துக்காட்டாக, நீங்கள் இதைப் பயன்படுத்தலாம்:
- பொட்டென்சியோமீட்டர் அளவீட்டின் அடிப்படையில் DC மோட்டாரின் வேகத்தை கட்டுப்படுத்த.
- வெப்பநிலை சென்சாரின் மூல மதிப்பை 0-100% அளவில் காட்ட.
- ஜாய்ஸ்டிக் ஒருங்கிணைப்புகளை சர்வோ மோட்டார் கோணங்களுக்கு வரைபடமாக்க.
- சுற்றுப்புற ஒளி சென்சார் அடிப்படையில் LED பிரகாசத்தை சரிசெய்ய.
- 0-5V அனலாக் அளவீட்டை 0-1023 டிஜிட்டல் மதிப்பாக அல்லது அதற்கு நேர்மாறாக மாற்ற.
வன்பொருள்/கூறுகள்
இந்த திட்டத்துடன் தொடர, உங்களுக்கு பின்வரும் கூறுகள் தேவைப்படும்:
- ஆர்டுயினோ போர்டு (Uno, Nano, போன்றவை)
- ஒரு LED
- 220-ஓம் மின்தடை
- ஜம்பர் கம்பிகள்
- ஒரு பிரெட்போர்டு (விருப்பம், ஆனால் பரிந்துரைக்கப்படுகிறது)
வயரிங் வழிகாட்டி
வீடியோவில், பயிற்றுவிப்பாளர் LED மங்கலாக்கம் பற்றிய முந்தைய பாடத்திலிருந்து ஒரு வயரிங் அமைப்பைப் பயன்படுத்தி திட்டத்தை நிரூபிக்கிறார். சுற்று நேரடியானது: LED இன் அனோட் (நீண்ட கால்) ஒரு 220-ஓம் மின்தடையுடன் இணைக்கவும், அந்த மின்தடையின் மறு முனையை ஆர்டுயினோவின் டிஜிட்டல் பின் 3 உடன் இணைக்கவும். LED இன் கேத்தோடை (குறுகிய கால்) ஆர்டுயினோவின் தரை (GND) பின்னுடன் நேரடியாக இணைக்கவும்.
குறியீடு விளக்கம்
இந்த எடுத்துக்காட்டுக்கான குறியீடு மிகவும் சுருக்கமானது, முக்கிய தர்க்கம் setup() செயல்பாட்டில் உள்ளது. பயனர் உள்ளமைக்கக்கூடிய பகுதிகளை பிரிப்போம்.
int LEDpin = 3; //defind pin for LED
இந்த வரி உங்கள் LED இணைக்கப்பட்ட ஆர்டுயினோ பின்னை வரையறுக்கிறது. இந்த எடுத்துக்காட்டில், இது பின் 3 க்கு அமைக்கப்பட்டுள்ளது, இது PWM திறன் கொண்ட பின் ஆகும், இது அனலாக் வெளியீட்டிற்கு அவசியம். உங்கள் LED ஐ வேறு PWM பின்னுடன் இணைத்தால் இந்த எண்ணை மாற்றலாம்.
int b=8;//60% brightness
இது வெவ்வேறு பிரகாச நிலைகளை சோதிக்க நீங்கள் மாற்றும் முக்கிய மாறி ஆகும். இது விரும்பிய பிரகாசத்தை சதவீதமாக குறிக்கிறது. குறியீட்டில் உள்ள கருத்து "60%" என்று கூறுகிறது, ஆனால் வீடியோவில் ஆர்ப்பாட்ட நோக்கங்களுக்காக மதிப்பு 8 ஆக அமைக்கப்பட்டுள்ளது. இதை 0 மற்றும் 100 க்கு இடையில் எந்த முழு எண்ணாகவும் மாற்றலாம். எடுத்துக்காட்டாக, b = 60 என அமைப்பது 60% பிரகாச அளவைக் குறிக்கும்.
int brightness = map(b, 0, 100, 0,255);
இது பாடத்தின் இதயம். map() செயல்பாடு உங்கள் சதவீத மதிப்பை (b) எடுத்து அதன் அசல் வரம்பிலிருந்து (0 முதல் 100) ஒரு புதிய இலக்கு வரம்பிற்கு (0 முதல் 255) மாற்றுகிறது. முடிவு brightness மாறியில் சேமிக்கப்படுகிறது, இது LED பின்னுக்கு ஒரு அனலாக் மதிப்பை எழுத பயன்படுகிறது.
analogWrite(LEDpin, brightness);// turn the LED on with 60% brightness
இறுதியாக, இந்த வரி வரைபடமாக்கப்பட்ட மதிப்பை analogWrite() ஐப் பயன்படுத்தி LED பின்னுக்கு அனுப்புகிறது. இது LED இன் கடமை சுழற்சியை அமைக்கிறது, இதன் மூலம் அதன் பிரகாசத்தை திறம்பட கட்டுப்படுத்துகிறது. இந்த அணுகுமுறையின் அழகு என்னவென்றால், LED ஐ கட்டுப்படுத்த நீங்கள் b மாறியை மட்டுமே மாற்ற வேண்டும், மேலும் map() செயல்பாடு தேவையான அனைத்து கணக்கீடுகளையும் கையாள்கிறது.
நேரடி திட்டம்/ஆர்ப்பாட்டம்
வீடியோவில், பயிற்றுவிப்பாளர் குறியீட்டை பதிவேற்றி b மாறியை மாற்றுவதன் விளைவை நிரூபிக்கிறார். b 8 ஆக அமைக்கப்படும்போது, சீரியல் மானிட்டர் 20 இன் வரைபடமாக்கப்பட்ட மதிப்பை அச்சிடுகிறது, மேலும் LED வெளிப்படையாக மங்கலாக உள்ளது. b ஐ 90 ஆக மாற்றுவது 229 இன் வரைபடமாக்கப்பட்ட மதிப்பை அளிக்கிறது, இது LED ஐ மிகவும் பிரகாசமாக்குகிறது. b ஐ 100 ஆக அமைப்பது 255 க்கு வரைபடமாக்குகிறது, இது முழு பிரகாசம். இந்த நடைமுறை ஆர்ப்பாட்டம், பயனர் நட்பு சதவீத மதிப்புகளுடன் அனலாக் வெளியீடுகளை கட்டுப்படுத்தும் செயல்முறையை map() செயல்பாடு எவ்வாறு எளிதாக்குகிறது என்பதை தெளிவாகக் காட்டுகிறது.
இந்த வீடியோவிலிருந்து தொடர்புடைய திட்டங்கள்
- பாடம் 14/31-1: ஆர்டுயினோ மில்லிஸ் (தாமதம் இல்லை) மற்றும் map செயல்பாடுகள் | SunFounder Robojax
- பாடம் 14/31-2: ஆர்டுயினோ குறியீட்டு millis() எடுத்துக்காட்டு 2 நிகழ்வுடன்
- பாடம் 14/31-3: ஆர்டுயினோ குறியீட்டு millis() எடுத்துக்காட்டு 3 புஷ் பொத்தானுடன்
- பாடம் 14/31-5: ஆர்டுயினோ குறியீட்டு map() எடுத்துக்காட்டு 2
அத்தியாயங்கள்
- [00:00] Robojax ஆல் ஆர்டுயினோ பாடநெறிக்கு அறிமுகம்
- [01:19] millis() என்றால் என்ன, ஏன் அதைப் பயன்படுத்த வேண்டும்
- [05:46] எடுத்துக்காட்டு 1: நேர முடிவு நிகழ்வுக்கு millis() ஐப் பயன்படுத்துதல்
- [08:29] எடுத்துக்காட்டு 2: புஷ் பொத்தானுடன் millis() ஐப் பயன்படுத்துதல்
- [12:14] எடுத்துக்காட்டு 3: தாமதத்திற்குப் பிறகு இரண்டாவது பொத்தான் அழுத்தத்தைக் கண்டறிதல்
- [17:20] map() செயல்பாட்டிற்கு அறிமுகம்
- [19:47] map() எடுத்துக்காட்டுக்கான குறியீடு விளக்கம்
- [20:41] map() செயல்பாட்டின் நேரடி ஆர்ப்பாட்டம்
/*
Lesson 14/31: Arduino coding map( ) example-1
Get this code and watch video Download and resource page https://robojax.com/RJT597
YouTube video https://www.youtube.com/watch?v=lqgzQohNiIM
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.*
* This code has been download from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int LEDpin = 3; //defind pin for LED
void setup() {
Serial.begin(9600);//initialize serial monitor with 9600 baud
pinMode(LEDpin, OUTPUT);//set pin as output
int b=8;//60% brightness
int brightness = map(b, 0, 100, 0,255);
Serial.println(brightness);//print it on serial monitor
analogWrite(LEDpin, brightness);// turn the LED on with 60% brightness
}
void loop() {
}
நீங்கள் தேவைப்படும் எண்ணங்கள்
-
அமேசான்SunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
அமேசான்
-
அமேசான்
-
அமேசான்
-
அமேசான்
வளங்கள் மற்றும் மேற்கோள்கள்
-
ஆவணங்கள்Documentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
வெளியுறுப்புPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
கோப்புகள்📁
பயனர் கையேடு
-
SunFounder 3-in-1 Arduino Smart Car assembly manualThis document shows step by step assembly of SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB