Cashirka 14/31-4: Tusaale 1 ee map() ee Arduino coding
Tutorialkan wuxuu qayb ka yahay taxane ku saabsan barnaamijyada Arduino wuxuuna diiradda saarayaa isticmaalka wax ku oolka ah ee shaqada map(). Casharkan, waxaad baran doontaa sida loo beddelo qiimaha boqolleyda (0–100) oo loo beddelo qiimaha PWM (Pulse Width Modulation) (0–255) si aad u xakamayso iftiinka LED. Halkii aad si gacanta ah u xisaabin lahayd in 60% ay la mid tahay 153, shaqada map() waxay kuu qabataa beddelka tooska ah, taasoo ka dhigaysa koodhkaaga mid nadiifsan oo fudud.
Farsamadani waxay lama huraan u tahay codsiyo badan oo dhab ah oo aad u baahan tahay inaad u turjunto akhrinta sensor-ka ama gelinta isticmaalaha ee kala duwan. Tusaale ahaan, waxaad u isticmaali kartaa si aad:
- U xakamayso xawaaraha matoorka DC iyadoo lagu salaynayo akhrinta potentiometer-ka.
- U muujiso qiimaha sensor-ka heerkulka ee miisaanka 0-100%.
- U sawirto isku-duwayaasha joystick-ka xagasha matoorka servo.
- U hagaajiso iftiinka LED iyadoo lagu salaynayo sensor-ka iftiinka deegaanka.
- U beddelo akhrinta analog-ga 0-5V qiimaha dijitaalka ah 0-1023 ama si ka soo horreysa.
Qalabka/Qaybaha
Si aad ula socotid mashruucan, waxaad u baahan doontaa qaybaha soo socda:
- Guddiga Arduino (Uno, Nano, iwm.)
- LED
- Resistor 220-ohm ah
- Fiilooyinka jumper-ka
- Breadboard (ikhtiyaar, laakiin lagu taliyay)
Hagaha Xiritaanka
Fiidiyowga, macallinku wuxuu muujinayaa mashruuca isagoo isticmaalaya qaab xiritaan ka yimid casharkii hore ee ku saabsanaa hoos u dhaca LED. Wareeggu waa toos: ku xir anode-ka (lugta dheer) ee LED-ka resistor-ka 220-ohm, oo ku xir dhamaadka kale ee resistor-ka pin-ka dijitaalka ah ee 3 ee Arduino. Ku xir cathode-ka (lugta gaaban) ee LED-ka si toos ah ugu xir pin-ka dhulka (GND) ee Arduino.
Sharaxaadda Koodhka
Koodhka tusaalahan aad buu u kooban yahay, iyadoo xudunta macquulka ah ay ku jirto shaqada setup(). Aynu kala qaadno qaybaha isticmaaluhu beddeli karo.
int LEDpin = 3; //defind pin for LED
Sadarkan wuxuu qeexayaa pin-ka Arduino ee LED-kaagu ku xiran yahay. Tusaalahan, waxaa loo dejiyay pin 3, kaas oo ah pin awood u leh PWM, oo lagama maarmaan u ah wax soo saarka analog-ga. Waxaad beddeli kartaa lambarkan haddii aad ku xirto LED-kaaga pin-ka PWM oo kala duwan.
int b=8;//60% brightness
Kani waa doorsoomeyaasha muhiimka ah ee aad wax ka beddeli doonto si aad u tijaabiso heerarka iftiinka ee kala duwan. Waxay u taagan tahay iftiinka la doonayo sida boqolleyda. Faallooyinka koodhka waxay yiraahdaan "60%", laakiin qiimaha waxaa loo dejiyay 8 ujeedooyin muujin ah fiidiyowga. Waxaad tan u beddeli kartaa tiro kasta oo dhammaystiran oo u dhaxaysa 0 iyo 100. Tusaale ahaan, dejinta b = 60 waxay u taagan tahay heer iftiin 60% ah.
int brightness = map(b, 0, 100, 0,255);
Kani waa qalbiga casharka. Shaqada map() waxay qaadataa qiimahaaga boqolleyda (b) waxayna u beddeshaa laga bilaabo kala duwanaanshaheeda asalka ah (0 ilaa 100) una beddeshaa kala duwanaansho cusub oo la beegsanayo (0 ilaa 255). Natiijada waxaa lagu kaydiyaa doorsoomaha brightness, kaas oo markaas loo isticmaalo in lagu qoro qiimo analog ah pin-ka LED.
analogWrite(LEDpin, brightness);// turn the LED on with 60% brightness
Ugu dambeyntii, sadarkan wuxuu u diraa qiimaha la beddelay pin-ka LED iyadoo la isticmaalayo analogWrite(). Tani waxay dejisaa wareegga shaqada ee LED, si wax ku ool ah u xakameynaysa iftiinkiisa. Quruxda habkani waa inaad kaliya u baahan tahay inaad beddesho doorsoomaha b si aad u xakamayso LED-ka, shaqada map() waxay qabataa dhammaan xisaabinta lagama maarmaanka ah.
Mashruuca Tooska ah/Muujinta
Fiidiyowga, macallinku wuxuu soo galiyaa koodhka wuxuuna muujinayaa saamaynta beddelka doorsoomaha b. Marka b loo dejiyo 8, kormeeraha taxanaha ah wuxuu daabacaa qiimaha la beddelay ee 20, LED-kiina si muuqata ayuu u yara iftiimayaa. Beddelka b ilaa 90 wuxuu keenayaa qiimo la beddelay oo ah 229, taasoo ka dhigaysa LED-ka mid aad u ifaya. Dejinta b ilaa 100 waxay u beddeshaa 255, taasoo ah iftiin buuxda. Muujintan wax ku oolka ah waxay si cad u tusinaysaa sida shaqada map() u fududeyso habka xakamaynta wax soo saarka analog-ga iyadoo la isticmaalayo qiimayaal boqolleed oo saaxiibtinimo u leh isticmaalaha.
Mashruucyada la xiriira fiidiyowgan
- Casharka 14/31-1: Arduino Millis (no delay) iyo shaqooyinka map | SunFounder Robojax
- Casharka 14/31-2: Arduino coding millis() tusaale 2 oo leh dhacdo
- Casharka 14/31-3: Arduino coding millis() tusaale 3 oo leh badhan riix
- Casharka 14/31-5: Arduino coding map() tusaale 2
Cutubyada
- [00:00] Hordhaca Koorsada Arduino ee Robojax
- [01:19] Waa maxay millis() iyo sababta loo isticmaalo
- [05:46] Tusaale 1: Isticmaalka millis() dhacdo waqtiyeysan
- [08:29] Tusaale 2: Isticmaalka millis() oo leh badhan riix
- [12:14] Tusaale 3: Ogaanshaha riixista badhanka labaad ka dib dib u dhac
- [17:20] Hordhaca shaqada map()
- [19:47] Koodhka socodsiinta tusaalaha map()
- [20:41] Muujinta tooska ah ee shaqada 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() {
}
Waad u baahan tahay
-
AmaazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amaazon
-
Amaazon
-
Amaazon
-
Amaazon
Kheyraadka & Tixraacyada
-
DukumentiDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
DibeddaPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Faylasha📁
Buugga Isticmaalaha
-
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