ለጀማሪዎች የማይክሮ መቆጣጠሪያ ፕሮግራሚንግ
የማይክሮ መቆጣጠሪያ ፕሮግራሚንግ በዘመናዊው የቴክኖሎጂ ዘመን በጣም ተፈላጊ ክህሎት ሆኗል። ማይክሮ መቆጣጠሪያ በአንድ ቺፕ ውስጥ የተዋሃዱ ሲፒዩ፣ ማህደረ ትውስታ እና የግቤት/ውጤት መሳሪያዎችን የሚያካትት ትንሽ የኮምፒውተር ክፍል ነው። ማይክሮ መቆጣጠሪያዎች ብዙውን ጊዜ እንደ ቴሌቪዥኖች፣ የልብስ ማጠቢያ ማሽኖች፣ የማይክሮዌቭ ምድጃዎች እና የተለያዩ የኢንዱስትሪ መሳሪያዎች ባሉ የዕለት ተዕለት የኤሌክትሮኒክስ መሳሪያዎች ውስጥ ጥቅም ላይ ይውላሉ ። ይህ ጽሑፍ ለጀማሪዎች የማይክሮ መቆጣጠሪያ ፕሮግራሚንግ መሰረታዊ ነገሮችን፣ የተለመዱ የፕሮግራም መሳሪያዎችን እና ቋንቋዎችን ጨምሮ፣ እና የመጀመሪያውን ፕሮጀክትዎን ለመጀመር የሚያስፈልጉትን ደረጃዎች ይሸፍናል።
ማይክሮ መቆጣጠሪያ ምንድን ነው?
ማይክሮ መቆጣጠሪያ ማለት ኤሌክትሮኒክ መሳሪያዎችን ለመቆጣጠር የተነደፈ በአንድ የተቀናጀ ሰርኪዩት (IC) ውስጥ የሚገኝ ትንሽ ኮምፒውተር ነው። ማይክሮ መቆጣጠሪያ በተለምዶ የሚከተሉትን ያካትታል፡
- ማዕከላዊ የማቀነባበሪያ ክፍል (ሲፒዩ)
- የዘፈቀደ መዳረሻ ማህደረ ትውስታ (ራም)
- ተነባቢ-ብቻ ማህደረ ትውስታ (ሮም)
– የግቤት/ውጤት ወደቦች
- ሰዓት ቆጣሪ
– እንደ ADC (Analog to Digital Converter) እና DAC (Digital to Analog Converter) ያሉ ተጨማሪ መሳሪያዎች
በትርፍ ጊዜ ማሳለፊያዎችና በባለሙያዎች ዘንድ ተወዳጅ የሆኑ አንዳንድ የማይክሮኮንትሮለሮች ምሳሌዎች ከአትሜል የተገኘ የAVR ተከታታይ፣ ከማይክሮቺፕ ቴክኖሎጂ የተገኘ PIC እና ከARM Holdings የተገኘ ARM Cortex-M ናቸው።
የሚያስፈልጉ መሳሪያዎች እና ሶፍትዌሮች
ማይክሮ መቆጣጠሪያዎችን ፕሮግራም ማድረግ ለመጀመር አንዳንድ መሰረታዊ መሳሪያዎች እና ሶፍትዌሮች ያስፈልጉዎታል፡
1. ማይክሮ መቆጣጠሪያ ወይም የልማት ቦርድ፡ ለምሳሌ አርዱዪኖ፣ STM32 ኒውክሊዮ ወይም ራዝቤሪ ፒ ፒኮ።
2. የዩኤስቢ ገመድ፡- ብዙውን ጊዜ የልማት ሰሌዳውን ከኮምፒዩተር ጋር ለማገናኘት ያገለግላል።
3. ዊንዶውስ፣ ማክሮስ ወይም ሊኑክስ ኦፐሬቲንግ ሲስተም ያለው ኮምፒውተር።
4. የተቀናጀ የልማት አካባቢ (IDE): ኮድ ለመጻፍ፣ ለመጫን እና ለመሞከር የሚያስችል መድረክ። በብዛት ጥቅም ላይ የዋሉ IDEዎች ምሳሌዎች Arduino IDE፣ MPLAB X IDE (ለPIC) እና Keil uVision (ለARM) ናቸው።
5. የፕሮግራሚንግ ቋንቋ፡- ሲ/ሲ++ ለማይክሮኮንትሮለር ፕሮግራሚንግ በብዛት ጥቅም ላይ የሚውለው ቋንቋ ነው፣ ምንም እንኳን እንደ አርዱዪኖ ያሉ አንዳንድ ቦርዶች ቀላል የሆኑ የC++ ቀበሌኛዎችን መጠቀም ቢፈቅዱም።
ከአርዱዪኖ ጋር መጀመር
አርዱዪኖ በጣም ተወዳጅ የሆነ የማይክሮ መቆጣጠሪያ መድረክ ሲሆን ለጀማሪዎችም ተስማሚ ነው። አርዱዪኖ እንደ አርዱዪኖ ኡኖ፣ ሜጋ እና ናኖ ያሉ በርካታ ቦርዶች አሉት፤ እነዚህም የኤቪአር ማይክሮ መቆጣጠሪያዎችን (እንደ ATmega328 ያሉ) ይጠቀማሉ። በአርዱዪኖ ማይክሮ መቆጣጠሪያዎችን ፕሮግራም ለመጀመር መሰረታዊ ደረጃዎች እነሆ፡
የአርዱዪኖ IDE ጭነት እና ማዋቀር
1. የአርዱዪኖ IDE ያውርዱ፡- ኦፊሴላዊውን የአርዱዪኖ ድህረ ገጽ (www.arduino.cc) ይጎብኙ እና ለኦፕሬቲንግ ሲስተምዎ የሚስማማውን የቅርብ ጊዜውን የአርዱዪኖ IDE ስሪት ያውርዱ።
2. አርዱዪኖ IDE ን ይጫኑ፡- አርዱዪኖ IDE ን በኮምፒውተርዎ ላይ ለመጫን የመጫኛ መመሪያዎቹን ይከተሉ።
3. የአርዱዪኖ ቦርድ ግንኙነት፡ የአርዱዪኖ ቦርድዎን ከኮምፒውተርዎ ጋር ለማገናኘት የዩኤስቢ ገመድ ይጠቀሙ። የቦርድ ነጂዎቹ በትክክል መጫኑን ያረጋግጡ።
4. ቦርድ እና ፖርትን ይምረጡ፡ የአርዱዪኖ IDE ን ይክፈቱ፣ ወደ `መሳሪያዎች` -> `ቦርድ` ይሂዱ፣ እና የሚጠቀሙበትን የቦርድ አይነት ይምረጡ (ለምሳሌ፣ አርዱዪኖ ኡኖ)። በመቀጠል `መሳሪያዎች` -> `ፖርት`ን ይምረጡ እና ተገቢውን የተከታታይ ወደብ ይምረጡ።
የመጀመሪያው ፕሮግራም - "ሄሎ ወርልድ" ከ LED ጋር
ጀማሪዎች ብዙውን ጊዜ ከሚያደርጉት የመጀመሪያ ፕሮጀክቶች አንዱ በማይክሮ መቆጣጠሪያ ፕሮግራም ውስጥ "ሄሎ ወርልድ" በመባልም የሚታወቀውን የ LED ብልጭ ድርግም ማለት ነው።
1. የአርዱዪኖ IDE ክፈት፡ የአርዱዪኖ IDE ክፈት እና አዲስ ንድፍ ለመፍጠር `ፋይል` -> `አዲስ`ን ምረጥ።
2. የፕሮግራም ኮዱን ይፃፉ፡- አብሮ የተሰራውን LED በፒን 13 ላይ ለማብረቅ የሚከተለውን ኮድ ያስገቡ።
"ሲ
ባዶነት ማዋቀር () {
// ፒን 13ን እንደ OUTPUT ያቀናብሩ
ፒን ሞድ (13 ፣ OUTPUT);
}
ባዶ ሉፕ () {
ዲጂታል ጻፍ(13፣ HIGH); // ኤልኢዲውን ያብሩ
መዘግየት(1000); // ለ1 ሰከንድ ይጠብቁ
ዲጂታል ጻፍ(13፣ LOW); // ኤልኢዲውን ያጥፉ
መዘግየት(1000); // ለ1 ሰከንድ ይጠብቁ
}
“
3. ፕሮግራሙን ይጫኑ፡ ኮዱን ወደ አርዱዪኖ ቦርድ ለመስቀል በአርዱዪኖ IDE ውስጥ ያለውን የ'ስቀል' አዝራር ጠቅ ያድርጉ። በፒን 13 ላይ ያለው ኤልኢዲ በ1 ሰከንድ ልዩነት ብልጭ ድርግም ማለት ይጀምራል።
የማይክሮ መቆጣጠሪያ ፕሮግራሚንግ መሰረታዊ ነገሮችን መረዳት
የመጀመሪያውን ፕሮጀክትዎን በተሳካ ሁኔታ ካጠናቀቁ በኋላ፣ የሚቀጥለው እርምጃ በማይክሮኮንትሮለር ፕሮግራሚንግ ውስጥ አንዳንድ መሰረታዊ ፅንሰ ሀሳቦችን መረዳት ነው
የግቤት/ውጤት ፒኖች
የI/O ፒኖች አንድ ማይክሮ መቆጣጠሪያ ከውጪው ዓለም ጋር ለመገናኘት የሚጠቀምበት ዋና በይነገጽ ናቸው። እነዚህ ፒኖች እንደ ግብዓቶች ወይም ውጤቶች ሊዋቀሩ ይችላሉ። `pinMode()` የፒን ሁነታን ለማዘጋጀት ጥቅም ላይ ይውላል፣ `digitalWrite()` የሎጂክ እሴትን ለመጻፍ ጥቅም ላይ ይውላል፣ እና `digitalRead()` ከፒኑ የሎጂክ እሴትን ለማንበብ ጥቅም ላይ ይውላል።
ማቋረጦች
መቆራረጦች ማይክሮ መቆጣጠሪያዎች ለውጫዊ ክስተቶች በፍጥነት ምላሽ እንዲሰጡ የሚያስችላቸው አስፈላጊ ዘዴ ናቸው። ለምሳሌ፣ የሚጫን አዝራር ወይም ለውጥን የሚለይ ዳሳሽ። በአርዱዪኖ፣ «attachInterrupt()» መቆራረጦችን ለማስተዳደር ይጠቅማል።
ሰዓት ቆጣሪ
ሰዓት ቆጣሪ ጊዜን ለመለካት ወይም በተወሰነ ድግግሞሽ ምልክቶችን ለማመንጨት የሚያገለግል የማይክሮ መቆጣጠሪያ ውስጣዊ አካል ነው። ሰዓት ቆጣሪዎች በተወሰነ የጊዜ ክፍተት መቆራረጦችን ለማመንጨት ፕሮግራም ሊደረጉ ይችላሉ።
ተከታታይ ግንኙነት
ተከታታይ ግንኙነት በማይክሮ መቆጣጠሪያዎች እና እንደ ኮምፒውተሮች ባሉ ሌሎች መሳሪያዎች መካከል ለመግባባት የተለመደ ዘዴ ነው። አርዱዪኖ ተከታታይ መረጃዎችን ለመላክ እና ለመቀበል የሚያገለግል ተከታታይ ቤተ-መጽሐፍት አለው (`Serial.begin()`፣ `Serial.print()`፣ `Serial.read()`)።
ዳሳሾች እና አክቲቬተሮች
ሴንሰር እንደ ብርሃን፣ የሙቀት መጠን ወይም ግፊት ያሉ አካላዊ ተለዋዋጮችን በማይክሮ መቆጣጠሪያ ሊነበቡ ወደሚችሉ የኤሌክትሪክ ምልክቶች የሚቀይር መሳሪያ ነው። በሌላ በኩል ደግሞ አክቲቬተር የኤሌክትሪክ ምልክቶችን ወደ አካላዊ እንቅስቃሴ ይለውጣል። ዳሳሾችን እና አክቲቬተሮችን ማገናኘት እና መቆጣጠር የብዙ የማይክሮ መቆጣጠሪያ ፕሮጀክቶች እምብርት ነው።
የላቁ ፕሮጀክቶች
የማይክሮ መቆጣጠሪያ ፕሮግራም መሰረታዊ ነገሮችን አንዴ ካወቁ በኋላ የሚከተሉትን የመሳሰሉ ውስብስብ ፕሮጄክቶችን መሞከር ይችላሉ፡
– የሙቀት መቆጣጠሪያ፡ እንደ DHT11 ያለ የሙቀት ዳሳሽ ይጠቀማል እና ውጤቱን በ LCD ላይ ያሳያል።
– ሮቦቲክ ተሽከርካሪ፡- በስማርትፎን የሚቆጣጠር ሮቦቲክ ተሽከርካሪ ለመፍጠር የሞተር ሾፌር እና የብሉቱዝ ሞጁልን በመጠቀም የዲሲ ሞተርን መቆጣጠር።
- የነገሮች ኢንተርኔት (IoT): በኢንተርኔት በኩል ሊደረስባቸው የሚችሉ የIoT መሳሪያዎችን ለመገንባት እንደ ESP8266 ወይም ESP32 ያሉ የዋይፋይ ሞጁሎችን መጠቀም።
ተጨማሪ የማንበብና የመጻፍ ችሎታ
በማይክሮኮንትሮለር ፕሮግራሚንግ እውቀትዎን እና ክህሎቶችዎን ለማሳደግ፣ አንዳንድ በጣም ጠቃሚ ሀብቶች አሉ፡
– መጻሕፍት፡- እንደ “ፕሮግራሚንግ አርዱኢኖ፡- ጌቲንግ ዊዝ ስኬችስ” በሲሞን ሞንክ እና “ዘ ኤቪአር ማይክሮኮንትሮለር እና ኢምቤድድ ሲስተምስ” ያሉ መጻሕፍት በጣም ጥሩ ግብዓቶች ናቸው።
– የመስመር ላይ አጋዥ ስልጠናዎች፡ እንደ Arduino.cc፣ Instructables እና Hackster.io ያሉ ድረ-ገጾች ብዙ ነፃ ፕሮጀክቶችን እና አጋዥ ስልጠናዎችን ያቀርባሉ።
– መድረኮች እና ማህበረሰቦች፡ እንደ Stack Overflow፣ Reddit r/arduino እና በማይክሮኮንትሮለር ኦፊሴላዊ ድረ-ገጽ ላይ ያሉ ማህበረሰቦች ጥያቄዎችን ለመጠየቅ እና እርዳታ ለማግኘት ጥሩ ቦታዎች ናቸው።
ከሲምፑላን
የማይክሮ መቆጣጠሪያ ፕሮግራሚንግ በጣም የሚክስ እና አስደሳች ክህሎት ነው። መጀመሪያ ላይ ፈታኝ ሊመስል ቢችልም፣ ትንሽ ትዕግስት እና ልምምድ በማድረግ፣ በቅርቡ የራስዎን ፕሮጀክቶች ይፈጥራሉ። ለጀማሪዎች እንደ አርዱዪኖ ባሉ ትክክለኛ መሳሪያዎች እና መሳሪያዎች ይጀምሩ፣ እና ክህሎቶችዎ ሲያድጉ ወደ ውስብስብ ማይክሮ መቆጣጠሪያዎች ይሂዱ። የማይክሮ መቆጣጠሪያ አለም ለመዳሰስ በሚጠብቁ የፈጠራ እና የፈጠራ እድሎች የተሞላ ነው።