ኮድ ይፈልጉ

ትምህርት 3፡ ኤልኢዲ፣ ብሬድቦርድ እና ሬዚስተር ፕሮጀክት

ትምህርት 3፡ ኤልኢዲ፣ ብሬድቦርድ እና ሬዚስተር ፕሮጀክት

ይህ ለጀማሪዎች ተስማሚ የሆነ የአርዱኢኖ ትምህርት፣ የሮቦጃክስ የደረጃ በደረጃ ኮርስ አካል፣ ቀላል የኤልኢዲ ብልጭታ ዑደት በመገንባት የኤሌክትሮኒክስ እና የፕሮግራም አወጣጥ መሰረታዊ ፅንሰ-ሀሳቦችን ያስተምርዎታል። ስለ ኤልኢዲ ውስጣዊ መዋቅር፣ ፒኖቹን እንዴት መለየት እንደሚቻል፣ የአሁኑን ውስን ተከላካይ (ሬዚስተር) ወሳኝ ሚና እና ትክክለኛውን እሴት ለማስላት የኦህምን ህግ እንዴት መጠቀም እንደሚቻል ይማራሉ። በመጨረሻም፣ በብሬድቦርድ ላይ የሚሰራ ዑደት እና እንዲብልጭልጭ የሚያደርገውን የአርዱኢኖ ኮድ ግልጽ ግንዛቤ ይኖርዎታል። ይህ ፕሮጀክት ከቀላል ሁኔታ አመልካቾች እስከ ውስብስብ መስተጋብራዊ መግብሮች ድረስ ለብዙ ሌሎች ፈጠራዎች ፍጹም መሰረት ነው።

ይህንን መሰረታዊ እውቀት መተግበር የሚችሉባቸው ጥቂት ተግባራዊ መንገዶች እነሆ፡-

  • ሁኔታ አመልካቾች፡- ለማንኛውም ፕሮጀክት ምስላዊ አመልካች ይፍጠሩ፣ ለምሳሌ መሳሪያ ሲበራ ወይም ዳሳሽ ሲቀሰቀስ የሚያሳይ።
  • መስተጋብራዊ ጥበብ፡- ከአዝራር ወይም ከዳሳሽ ግብዓት ጋር ምላሽ የሚሰጥ ቀላል የብርሃን ማሳያ ይገንቡ።
  • የመማሪያ መድረክ፡- ኮድ ሃርድዌርን እንዴት እንደሚቆጣጠር ለመረዳት የተለያዩ የብልጭታ ቅጦችን፣ ፍጥነቶችን እና ቀለሞችን ለመሞከር እንደ መሰረት ይጠቀሙበት።
  • የማረም መሳሪያ፡- የተወሰነ የኮድ ክፍል እየተሰራ መሆኑን ለማየት ኤልኢዲን እንደ ቀላል ምስላዊ ማረሚያ ይጠቀሙ።

ሃርድዌር እና ክፍሎች

ይህንን ትምህርት ለመከተል የሚከተሉትን ክፍሎች ያስፈልግዎታል። እነዚህ በማንኛውም የኤሌክትሮኒክስ መነሻ ኪት ውስጥ በጣም የተለመዱ እቃዎች ናቸው።

  • የአርዱኢኖ ልማት ቦርድ (ለምሳሌ፣ Uno፣ Nano)።
  • ብሬድቦርድ (በቪዲዮው ላይ በ09:28)።
  • ኤልኢዲ (5ሚሜ ወይም 3ሚሜ፣ በማንኛውም ቀለም)።
  • ተከላካይ (ሬዚስተር) (በ330Ω እና 1kΩ መካከል የሚመከር)።
  • ግንኙነት ለመፍጠር የጃምፐር ሽቦዎች።

ክፍሎቹን መረዳት

ሽቦ መገጣጠም ከመጀመራችን በፊት፣ የምንጠቀምባቸውን ሁለት ዋና ዋና ክፍሎች መረዳት አስፈላጊ ነው፡- ኤልኢዲ እና ተከላካይ።

ኤልኢዲ (ብርሃን አመንጪ ዳዮድ) ሁለት ፒኖች አሉት፡- አኖድ (አዎንታዊ) እና ካቶድ (አሉታዊ)። ኤሌክትሪክ የሚፈሰው በአንድ አቅጣጫ ብቻ ነው። በስዕላዊ ምልክቱ ውስጥ፣ ቀስቱ ከአኖድ ወደ ካቶድ ይጠቁማል። በአካላዊ ክፍሉ ላይ፣ አኖድ ረጅሙ ፒን ሲሆን ካቶድ ደግሞ አጭሩ ነው። የኤልኢዲው ካቶድ ጎን በተለምዶ በፕላስቲክ መያዣው ላይ ጠፍጣፋ ጠርዝ አለው። ኤልኢዲ ሳይጎዳ ለማብራት በፒኖቹ ላይ የተወሰነ የቮልቴጅ ልዩነት (ብዙውን ጊዜ 2ቪ አካባቢ) እና ቁጥጥር የሚደረግለት የኤሌክትሪክ ጅረት (በ10-20ሚኤ አካባቢ) ያስፈልገዋል (በቪዲዮው ላይ በ00:36)።

ተከላካይ (ሬዚስተር) የኤሌክትሪክ ጅረት ፍሰትን የሚቃወም ተገብሮ ክፍል ነው። እሴቱ የሚለካው በኦህም (Ω) ሲሆን በቀለም ባንዶች ይታወቃል። በዚህ ዑደት ውስጥ የተከላካዩ ዋና ዓላማ እንደ የአሁኑ ገዳቢ ሆኖ መስራት ነው። ያለሱ፣ ኤልኢዲው ከአርዱኢኖው የ5ቪ አቅርቦት በጣም ብዙ ጅረት ስለሚስብ ወዲያውኑ ይቃጠላል (በቪዲዮው ላይ በ01:50)።

የሽቦ አገጣጠም መመሪያ

የዚህ ፕሮጀክት ሽቦ አገጣጠም ቀላል ነው። ቁልፉ ብሬድቦርድ ክፍሎችን በውስጥ እንዴት እንደሚያገናኝ መረዳት ነው። በብሬድቦርዱ መሃል ላይ ያሉት ረድፎች በአግድም የተገናኙ ሲሆኑ፣ በጎን በኩል ያሉት ረጅም ሀዲዶች በአቀባዊ የተገናኙ ናቸው። ይህ የጋራ የኃይል እና የመሬት አውቶቡሶችን እንዲፈጥሩ ያስችልዎታል (በቪዲዮው ላይ በ09:28)።

ለማጣቀሻ የወረዳ ስዕል እነሆ፡-

ዑደቱ የተገነባው እንደሚከተለው ነው፡-

  1. የኃይል ሀዲድ፡- ከአርዱኢኖው 5V ፒን ወደ ብሬድቦርዱ አዎንታዊ ሀዲዶች አንዱ የጃምፐር ሽቦ ያገናኙ። ከአርዱኢኖው GND ፒን ወደ አሉታዊ ሀዲዱ ሌላ የጃምፐር ሽቦ ያገናኙ (በቪዲዮው ላይ በ12:45)።
  2. ተከላካይ፡- የተከላካዩን አንድ ጫፍ ከአዎንታዊ ሀዲዱ ጋር ያገናኙ። ሌላኛው ጫፍ በዋናው የብሬድቦርድ አካባቢ ወዳለው ረድፍ ይሄዳል። ተከላካዩ በኤልኢዲው በሁለቱም በኩል ሊቀመጥ ይችላል፣ ምክንያቱም ተከታታይ ክፍል ነው (በቪዲዮው ላይ በ06:50)።
  3. ኤልኢዲ፡- ኤልኢዲውን በብሬድቦርዱ ላይ ያስቀምጡ። አኖድ (ረጅሙ እግር) ከተከላካዩ ነፃ ጫፍ ጋር በተመሳሳይ ረድፍ መሆን አለበት። ካቶድ (አጭሩ እግር) በተለየ ረድፍ መሆን አለበት።
  4. የመሬት ግንኙነት፡- የኤልኢዲውን ካቶድ ከያዘው ረድፍ ወደ ብሬድቦርዱ አሉታዊ ሀዲድ የጃምፐር ሽቦ ያገናኙ (በቪዲዮው ላይ በ12:16)።

ይህ ተመሳሳይ ዑደት ከአርዱኢኖ ፒን ጋር ሲገናኝ ጥቅም ላይ ይውላል፣ አንድ ቁልፍ ለውጥ ያለው፡- ተከላካዩን ከ5ቪ ሀዲድ ጋር ከማገናኘት ይልቅ፣ በአርዱኢኖው ላይ እንደ ፒን 2 ካሉ ዲጂታል ፒኖች ጋር ያገናኙታል (በቪዲዮው ላይ በ20:30)።

የተከላካይ እሴትን ማስላት

330Ω እስከ 1kΩ ያለው ተከላካይ ደህንነቱ የተጠበቀ ክልል ቢሆንም፣ የኦህምን ህግ በመጠቀም ተስማሚውን እሴት ማስላት ይችላሉ። ይህ ኤልኢዲውን የመጉዳት አደጋ ሳይኖር የሚፈለገውን ብሩህነት እንዲያገኙ ያረጋግጣል። ቀመሩ (በቪዲዮው ላይ በ07:40)፡-

R = (Vsupply - VLED) / ILED

ከቪዲዮው የተወሰደውን ምሳሌ በመጠቀም፡-

  • የአቅርቦት ቮልቴጅ (Vsupply) = 5ቪ
  • የኤልኢዲ ወደፊት ቮልቴጅ (VLED) = 2ቪ
  • የሚፈለገው ጅረት (ILED) = 10ሚኤ (0.01ኤ)

ስለዚህ፣ R = (5ቪ - 2ቪ) / 0.01ኤ = 300Ω። የ330Ω ተከላካይ ለዚህ በጣም ቅርብ የሆነ መደበኛ እሴት ሲሆን በትክክል ይሰራል (በቪዲዮው ላይ በ08:06)።

የኮድ ማብራሪያ

የዚህ ፕሮጀክት ኮድ ክላሲክ "ብሊንክ" ስኬች ነው። ስለ አርዱኢኖ ፕሮግራም አወቃቀር ለመማር ጥሩ መነሻ ነው። ኮዱ ሁለት ዋና ዋና ተግባራትን ያካትታል፡- setup() እና loop()። የsetup() ተግባር በመጀመሪያ ላይ አንድ ጊዜ ብቻ ይሰራል፣ የloop() ተግባር ደግሞ ያለማቋረጥ ይደግማል (በቪዲዮው ላይ በ14:42)።

የኮዱን ቁልፍ፣ በተጠቃሚ ሊዋቀሩ የሚችሉ ክፍሎችን እንከፋፍል፡-

void setup() {
  // የዲጂታል ፒን እንደ ውጤት አድርገን እንጀምራለን።
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, HIGH);   // LED ን ያብሩ (HIGH የቮልቴጅ ደረጃ ነው)
  delay(1000);             // ለአንድ ሰከንድ ይጠብቁ
  digitalWrite(2, LOW);    // LED ን ያጥፉ (LOW የቮልቴጅ ደረጃ ነው)
  delay(1000);             // ለአንድ ሰከንድ ይጠብቁ
}
  • pinMode(2, OUTPUT);: ይህ መስመር በsetup() ተግባር ውስጥ ነው። ፒን 2 ን እንደ ውጤት እንደምንጠቀም ለአርዱኖ ይነግራል። ቁጥሩን 2 ወደ ሌላ ማንኛውም የዲጂታል ፒን ቁጥር (ለምሳሌ 3፣ 4፣ 13) መቀየር ይችላሉ ከዚያ ፒን ጋር የተገናኘ LED ን ለመቆጣጠር (በቪዲዮ 17:36)።
  • digitalWrite(2, HIGH);: ይህ ትዕዛዝ የተገለጸውን ፒን ወደ 5 ቮልት ያዘጋጃል፣ LED ን ያበራል። የመጀመሪያው መለኪያ የፒን ቁጥር ነው፣ ሁለተኛው ደግሞ ሁኔታው ነው፣ HIGH (በርቷል) ወይም LOW (ጠፍቷል) (በቪዲዮ 18:35)።
  • delay(1000);: ይህ ተግባር ፕሮግራሙን ለተወሰኑ ሚሊሰከንዶች ያቆማል። 1000 ሚሊሰከንድ ከ1 ሰከንድ ጋር እኩል ነው። ይህን እሴት ወደ 500 ለግማሽ ሰከንድ ወይም 5000 ለአምስት ሰከንድ መቀየር ይችላሉ የብልጭታውን ፍጥነት ለመቀየር (በቪዲዮ 19:21)።

LED ን በፍጥነት ወይም በዝግታ ለማብረቅ፣ በቀላሉ በdelay() ተግባሮች ውስጥ ያሉትን እሴቶች ይቀይሩ። ለምሳሌ፣ delay(100) በጣም በፍጥነት እንዲያብረቀርቅ ያደርገዋል፣ delay(5000) ደግሞ ለ5 ሰከንድ እንዲበራ እና ለ5 ሰከንድ እንዲጠፋ ያደርገዋል (በቪዲዮ 21:57)።

የቀጥታ ፕሮጀክት ማሳያ

ኮዱ ከተጫነ በኋላ፣ LED መብረቅ ይጀምራል። ቪዲዮው ጥቂት ቁልፍ ባህሪያትን ያሳያል (በቪዲዮ 20:57)፦

  • መጫን፦ "Upload" ቁልፍን ከተጫኑ በኋላ፣ የአርዱኖ IDE ኮዱን በማጠናቀር ወደ ቦርዱ ይልካል። በዚህ ሂደት ወቅት በቦርዱ ላይ ያሉት TX/RX LEDs ሲያብረቀርቁ ማየት ይችላሉ።
  • ተግባራዊነት፦ LED ለአንድ ሰከንድ ይበራል፣ ከዚያ ለአንድ ሰከንድ ይጠፋል፣ ይህን ዑደት ያለማቋረጥ ይደግማል።
  • የኃይል ጥገኝነት፦ የመሬት ሽቦውን ካላቋረጡ፣ ዑደቱ ይሰበራል እና LED ይጠፋል። እንደገና ማገናኘት ዑደቱን ያጠናቅቃል እና LED መብረቅ ይቀጥላል።
  • የፒን ልዩነት፦ LED በኮዱ ውስጥ ከተገለጸው ፒን (በዚህ ምሳሌ ፒን 2) ጋር ከተገናኘ ብቻ ያብረቀርቃል። ሽቦውን ወደ ፒን 3 ካዘዋወሩ፣ LED አይበራም ምክንያቱም ያ ፒን በፕሮግራሙ እየተቆጣጠረ አይደለም።

ምዕራፎች

  • [00:00] መግቢያ እና የኮርስ አጠቃላይ እይታ
  • [00:36] LED ን እና ፒኖቹን መረዳት
  • [01:50] ተከላካይ (Resistor) ምንድን ነው?
  • [03:40] የተከላካይ ቀለም ኮዶችን እንዴት ማንበብ እንደሚቻል
  • [05:42] LEDs ለምን ተከላካይ ያስፈልጋቸዋል
  • [07:40] ትክክለኛውን የተከላካይ እሴት ማስላት
  • [09:28] የብሬድቦርድ ውስጣዊ ግንኙነት እንዴት እንደሆነ
  • [10:39] LED ን በቀጥታ በ5V ማብራት
  • [14:42] የአርዱኖ ስኬች አወቃቀር
  • [15:33] የብሊንክ ምሳሌን መክፈት
  • [17:36] ፒን እንደ ውጤት ማዘጋጀት
  • [18:35] ከመዘግየቶች ጋር ከፍተኛ እና ዝቅተኛ ምልክቶችን መጻፍ
  • [20:30] ዑደቱን ከፒን 2 ጋር ማገናኘት
  • [21:57] የብልጭታውን ፍጥነት መቀየር
  • [24:45] በፒን 13 ላይ ያለውን አብሮ የተሰራውን LED መጠቀም
527-Lesson 03: Project: LED Blink, Breadboard, and Resistor
ቋንቋ: C++
/*

 * Written by Ahmad S. for Robojax.com 
 * Date: April 1, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */

እንደሚያስፈልግዎት ይችላል

ምንጮች እና ምንጮች

አሁን ምንም ምንጮች የለም።

ፋይሎች📁

አንድ ፋይል የለም።