کوډ ولټوئ

د ۹۸-۲ درس: د آردوینو سره د پش بټن په کارولو سره د LED څنګه روښانه او بند کړو

د ۹۸-۲ درس: د آردوینو سره د پش بټن په کارولو سره د LED څنګه روښانه او بند کړو

دا پروژه تاسو ته ښیي چې څنګه د Arduino په کارولو سره د یو فشار تڼۍ سره یو LED کنټرول کړئ. د دې پرځای چې LED پخپله ځان ځلیږي، تاسو پریکړه کوئ چې کله روښانه شي: تڼۍ لاندې ونیسئ او LED بل کیږي، خوشې کړئ او بند شي. دا د ساده بلنک سکیچ وروسته طبیعي بل ګام دی، ځکه چې دا دوه نظرونه معرفي کوي چې په نږدې هر Arduino پروژه کې چې تاسو به یې جوړوئ ښکاري — د ډیجیټل انپټ لوستل، او د کوډ کې د پریکړې کولو لپاره د هغه انپټ کارول.

all projects of lesson 98, breadbaors and components
د درس ۹۸ ټول پروژې، بریډبورډونه او اجزاوې

دلته ریښتینی ارزښت دا زده کول دي چې څنګه یو مایکروکنټرولر فزیکي نړۍ احساسوي. یوه فشار تڼۍ ترټولو ساده انساني انپټ وسیله ده، مګر ورته نمونه — یو انپټ ولولئ، یو حالت وازموئ، یو آوټپټ چل کړئ — په دقیق ډول هغه ډول دی چې تاسو به د 3D پرنټر کې د حد سویچ ولولئ، د امنیتي سیسټم کې د دروازې خلاصیدل کشف کړئ، یا د کنټرول پینل څخه موټر پیل کړئ. یوځل چې تاسو دا یو سرکټ پوه شئ، تاسو کولی شئ LED د نږدې هر څه لپاره بدل کړئ.

دلته ځینې عملي شیان دي چې تاسو کولی شئ د ورته تخنیک سره جوړ کړئ:

  • یو لنډمهاله زنګ یا کال تڼۍ چې د فشار پرمهال یو څراغ روښانه کوي.
  • یو "د مړ سړي سویچ" چې یوازې د تڼۍ نیول پرمهال یو ریلې (او هر څه چې دا ځواک ورکوي) فعال ساتي.
  • د یوې ماشین لپاره د لاسي ازموینې تڼۍ، چیرې چې یو شاخص LED تاییدوي چې انپټ ثبت کیږي.
  • د موټر ډرایور یا پمپ لپاره د پیل تڼۍ، چې LED د حالت څراغ په توګه کار کوي.
  • یو ساده لوبې بززر چیرې چې لومړی لوبغاړی چې فشار ورکړي ګټي او LED ګټونکی اعلانوي.
  • د سینسر پروژه کې د کالیبریشن یا "زده کړه" تڼۍ چې د حالت فعال پرمهال روښانه کیږي.

هډوانه او اجزاوې

د پرزو لیست په قصد سره کوچنی دی، ځکه چې دا د لومړي انپټ پروژې لپاره عالي جوړوي:

  • یو Arduino بورډ — Uno، Nano، Mega، یا هر مطابقت لرونکی بورډ.
  • یو LED، یا 5 mm یا 3 mm، په هر رنګ کې.
  • د LED لپاره یو مقاومت، له 200 Ω څخه تر 1000 Ω پورې.
  • یو لنډمهاله فشار تڼۍ سویچ.
  • یو بریډبورډ او ځینې DuPont جمپر تارونه.
LED-5mm-amber
LED-5mm-amber

که تاسو حیران یاست چې ولې مقاومت په بشپړ ډول اړین دی، ټرانسکرپټ ریاضي ته ګوري (په ویډیو کې په 03:49). یو معمولي LED په خپل ځان کې نږدې 2 V راښکته کوي او نږدې 10 mA جریان غواړي. د 5 V عرضې سره، پاتې 3 V باید د مقاومت لخوا راښکته شي، نو د Ohm قانون R = 3 V / 0.01 A = 300 Ω ورکوي. له 300 Ω څخه تر نږدې 1000 Ω پورې هر څه به کار وکړي — هر څومره چې ارزښت لوړ وي، LED کم روښانه وي، مګر دا خوندي او ډیر مؤثر دی. جریان بحراني نه دی؛ تاسو یوازې روښانتیا د ټیټ جریان مصرف لپاره بدل کړئ.

د تارونو لارښود

Arduino schematic for LED with a push button switch
د LED لپاره د Arduino سکیماتیک د فشار تڼۍ سویچ سره
Arduino wiring for LED with a push button switch
د LED لپاره د Arduino تارونو ترتیب د فشار تڼۍ سویچ سره

سرکټ هماغه LED سرکټ دی چې تاسو به د بلنک سکیچ لپاره کاروئ، د یوې فشار تڼۍ سره اضافه شوی. د LED انوډ (اوږده پښه) د مقاومت له لارې د Arduino پین 3 سره نښلوي، او کاتوډ (لنډه پښه، د پلاستیکي څنډې فلیټ اړخ لخوا نښه شوې) ځمکې ته ځي. فشار تڼۍ د پین 2 او ځمکې ترمنځ نښلوي.

یو تفصیل چې د پوهیدو وړ دی: فشار تڼۍ څلور پښې لري، مګر دوی په داخلي ډول جوړه شوې دي. دوه پښې په تلپاتې ډول یو بل سره نښلول شوې دي، او نورې دوه په تلپاتې ډول یو بل سره نښلول شوې دي — د تڼۍ فشار دوه جوړې پلې کوي. که تاسو ملټي میټر لرئ، د هغې دوام (بیپ) حالت وکاروئ ترڅو ومومئ کومې پښې لا دمخه نښلول شوې دي کله چې تڼۍ نه فشارول کیږي؛ هغه دوه هغه جوړه ده چې تاسو باید ونه کاروئ. له دوو خپلواکو جوړو څخه یوه پښه غوره کړئ (په ویډیو کې په 07:50).

330_ohm_resistor
330_ohm_resistor

کوډ څنګه کار کوي

سکیچ لنډ دی، او نږدې ټول هغه ترتیبات دي چې تاسو یې تنظیمولی شئ. په سر کې درې کرښې هغه دي چې تاسو به واقعی لمس کړئ:

const int pushButtonPin = 2;//define a pin number for push button
const int LEDPin = 3;//define a pin that is connected to LED
const int delayLED = 0;//how long the LED should stay ON

pushButtonPin هغه ډیجیټل پین دی چې تڼۍ ورته تړل شوې ده. دا بدل کړئ که تاسو تڼۍ بل پین ته یوسئ — یوازې په یاد ولرئ چې فزیکي تار د سمون لپاره یوسئ.

LEDPin هغه پین دی چې LED چلوي. هر ډیجیټل پین به کار وکړي، مګر په یاد ولرئ چې پین 0 او 1 د سیریل اړیکې لخوا کارول کیږي، نو غوره ده چې له دوی څخه ډډه وکړئ.

delayLED تر ټولو په زړه پورې ترتیبات دي. دا کنټرولوي چې د تڼۍ خوشې کولو وروسته LED څومره وخت روښانه پاتې کیږي، چې په ملی ثانیو کې اندازه کیږي. د دې 0 ته ټاکل پدې معنی دي چې کله تاسو خپله ګوته پورته کوئ LED سمدلاسه مړه کیږي. د دې 1000 ته ټاکل د خوشې کولو وروسته یوه بشپړه ثانیه LED روښانه ساتي، او 5000 دا پنځه ثانیې روښانه ساتي (په ویډیو کې په 16:31). دا یو واحد عدد په بشپړ ډول بدلوي چې پروژه څنګه احساس کیږي، او دا د لیدلو لپاره ښه لاره ده چې څنګه په کوډ کې یو متغیر مستقیم هغه چلند ته ژباړل کیږي چې تاسو یې لیدلی شئ.

په ترتیباتو کې دوه نور شیان د یادولو وړ دي. لومړی، د تڼۍ پین د ساده INPUT پرځای د INPUT_PULLUP سره تنظیم شوی:

pinMode(pushButtonPin, INPUT_PULLUP);//define a pin for push button switch

دا د Arduino داخلي پل-اپ مقاومت فعالوي، کوم چې پین د باثباته HIGH کچې کې ساتي کله چې تڼۍ نه وي فشار شوې. پرته له دې، یو تیریدونکی انپټ پین به تصادفي بریښنایی شور راټول کړي او تصادفي لوستنې به درکړي، او تاسو به د دې د سمولو لپاره بهرني مقاومت ته اړتیا ولرئ. د داخلي پل-اپ فعال سره، تار ایښودنه ساده پاتې کیږي: د تڼۍ یوه خوا پین ته، بله خوا ځمکې ته. کله چې تاسو تڼۍ فشاروئ، پین ځمکې ته راښکته کیږي او LOW لولي (په ویډیو کې په 14:08).

دوهم، سیریل مانیټر په 9600 باډ کې پیل کیږي ترڅو تاسو د حالت بدلونونه لیدلی شئ لکه څنګه چې پیښیږي:

Serial.begin(9600);//initialize the serial monitor
Serial.println("Robojax LED with push button");//print this text on Serial Monitor

په اصلي لوپ کې، منطق یو ساده if/else دی. کوډ د تڼۍ پین لولي او د LOW سره یې پرتله کوي. که تڼۍ فشار شوې وي، د LED پین HIGH ته ځي، پیغام "LED ON" چاپ کیږي، او سکیچ د delayLED ملی ثانیو لپاره انتظار کوي. که تڼۍ نه وي فشار شوې، د LED پین LOW ته ځي او LED مړه کیږي. ځکه چې loop() بیا بیا ځي، دا چک په ثانیه کې زرګونه ځله پیښیږي، نو ځواب سمدلاسه احساس کیږي.

ژوندی مظاهره

د delayLED سره 1000 ته ټاکل شوی، د تڼۍ فشارول LED روښانه کوي او د خوشې کولو وروسته یوه ثانیه روښانه پاتې کیږي. ارزښت 5000 ته راټیټ کړئ او LED پنځه ثانیې پاتې کیږي — دومره اوږد چې تاسو کولی شئ له تڼۍ لرې لاړ شئ او بیا هم دا روښانه وګورئ. دا 0 ته ټاکئ او LED ستاسو د ګوتې سره دقیق تعقیبوي: فشار، روښانه; خوشې، مړه (په ویډیو کې په 17:02).

یوځل چې کوډ پورته شي، تاسو کولی شئ Arduino له USB څخه قطع کړئ او د بیټرۍ یا 5 V اډاپټر څخه یې بریښنا ورکړئ. بورډ د چلولو لپاره کمپیوټر ته اړتیا نلري — برنامه د هغې په حافظه کې ذخیره کیږي او هرکله چې بریښنا ورکړل شي په اتوماتيک ډول پیل کیږي (په ویډیو کې په 12:27).

که تاسو غواړئ چې LED د یوې فشار وروسته روښانه پاتې شي او په بل فشار مړه شي، دا یو مختلف چلند دی چې ټوګلینګ بلل کیږي، او دا په لوست 98-3: څنګه د Arduino سره د فشار تڼۍ په کارولو سره ټوګل LED روښانه/مړه کړو کې پوښل شوی. د فشار تڼۍ تار ایښودنه ورته ده، نو تاسو کولی شئ دا دقیق سرکټ بیا وکاروئ.

د دې ویډیو اړوند پروژې

فصلونه

  • [00:00] په دې ویډیو کې د 10 پروژو عمومي کتنه
  • [01:00] د Arduino ګام په ګام کورس پیژندنه
  • [02:29] LED څه شی دی: سمبول، انوډ، کاتوډ، او فزیکي بڼه
  • [03:49] د Ohm قانون سره د LED مقاومت محاسبه
  • [07:32] په بریډبورډ کې د LED او فشار تڼۍ تار ایښودنه
  • [08:50] د کوډ تشریح: پینونه، ترتیبات، او اصلي لوپ
  • [12:43] د فشار تڼۍ سویچ څنګه کار کوي
  • [13:22] د فشار تڼۍ پین 2 او ځمکې ته تار ایښودنه
  • [13:43] د کوډ تفصیل: INPUT_PULLUP او د تڼۍ لوستل
  • [16:14] مظاهره: delayLED له 1 s څخه 5 s ته 0 ته بدلول
  • [19:52] د فشار تڼۍ ټوګل عملي کارونې

انځورونه

2 pin tactile push button switch
2 pin tactile push button switch
Arduino wiring for LED  with resistor
Arduino wiring for LED with resistor
Arduino schematic for LED
Arduino schematic for LED
Arduino wiring for LED with a push button switch
Arduino wiring for LED with a push button switch
Arduino schematic for LED with a push button switch
Arduino schematic for LED with a push button switch
LED-5mm-green
LED-5mm-green
330_ohm_resistor
330_ohm_resistor
د ۹۸ درس ټولې پروژې، بریډبورډونه او اجزاوې
د ۹۸ درس ټولې پروژې، بریډبورډونه او اجزاوې
د ۹۸ درس ټولې پروژې، بریډبورډونه او اجزاوې
د ۹۸ درس ټولې پروژې، بریډبورډونه او اجزاوې
LED-5mm-amber
LED-5mm-amber
934-Lessson 98-LED-2: Arduino code push button to turn LED ON and OFF
ژبه: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

هغه شیان چې تاسو ورته اړتیا لرئ

فایلونه📁

Arduino کتابتونونه (zip)

د کارونکي لارښود