Arduino: එය සමඟ කළ හැකි දේ. ආරම්භකයින් සඳහා Arduino: පියවරෙන් පියවර උපදෙස්. Arduino ක්‍රමලේඛනය සහ ව්‍යාපෘති: ආරම්භ කළ යුත්තේ කොතැනින්ද? Arduino නිර්මාණ

මෙම ලිපියෙන් මම සම්පූර්ණ එකතු කිරීමට තීරණය කළා පියවරෙන් පියවර මාර්ගෝපදේශය Arduino ආරම්භකයින් සඳහා. Arduino යනු කුමක්ද, ඔබට ඉගෙනීම ආරම්භ කළ යුතු දේ, බාගත කළ යුත්තේ කොතැනින්ද සහ ක්‍රමලේඛන පරිසරය ස්ථාපනය කර වින්‍යාස කරන්නේ කෙසේද, එය ක්‍රියා කරන ආකාරය සහ ක්‍රමලේඛන භාෂාව භාවිතා කරන්නේ කෙසේද සහ තවත් බොහෝ දේ සම්පූර්ණයෙන් නිර්මාණය කිරීමට අපි බලමු. මෙම ක්ෂුද්‍ර පාලක පවුල මත පදනම් වූ සංකීර්ණ උපාංග.

මෙහිදී Arduino සමඟ වැඩ කිරීමේ මූලධර්ම ඔබට වැටහෙන පරිදි ඝනීභවනය වූ අවමයක් ලබා දීමට මම උත්සාහ කරමි. වැඩසටහන්ගත කළ හැකි ක්ෂුද්‍ර පාලක ලෝකයේ වඩාත් සම්පූර්ණ ගිල්වීම සඳහා, මෙම වෙබ් අඩවියේ අනෙකුත් කොටස් සහ ලිපි කෙරෙහි අවධානය යොමු කරන්න. සමහර පැති පිළිබඳ වඩාත් සවිස්තරාත්මක අධ්‍යයනයක් සඳහා මම මෙම වෙබ් අඩවියේ වෙනත් ද්‍රව්‍ය වෙත සබැඳි තබමි.

Arduino යනු කුමක්ද සහ එය කුමක් සඳහාද?

Arduino යනු ඕනෑම කෙනෙකුට විවිධ විද්‍යුත් යාන්ත්‍රික උපාංග නිර්මාණය කිරීමට ඉඩ සලසන ඉලෙක්ට්‍රොනික ඉදිකිරීම් කට්ටලයකි. Arduino මෘදුකාංග සහ දෘඩාංග වලින් සමන්විත වේ. මෘදුකාංග කොටසෙහි සංවර්ධන පරිසරයක් (ෆර්ම්වෙයාර් ලිවීම සහ දෝෂහරණය කිරීමේ වැඩසටහනක්), බොහෝ සූදානම් කළ සහ පහසු පුස්තකාල සහ සරල කළ ක්‍රමලේඛන භාෂාවක් ඇතුළත් වේ. දෘඪාංගයේ ක්ෂුද්ර පාලක විශාල රේඛාවක් සහ ඒවා සඳහා සූදානම් කළ මොඩියුල ඇතුළත් වේ. මෙයට ස්තූතියි, Arduino සමඟ වැඩ කිරීම ඉතා පහසුය!

Arduino ආධාරයෙන් ඔබට ක්‍රමලේඛනය, විදුලි ඉංජිනේරු විද්‍යාව සහ යාන්ත්‍ර විද්‍යාව ඉගෙන ගත හැකිය. නමුත් මෙය අධ්‍යාපනික නිර්මාණකරුවෙකු පමණක් නොවේ. එය මත පදනම්ව, ඔබට සැබවින්ම ප්රයෝජනවත් උපාංග සෑදිය හැකිය.
සරල දැල්වෙන විදුලි පහන්, කාලගුණ මධ්‍යස්ථාන, ස්වයංක්‍රීයකරණ පද්ධති වලින් ආරම්භ වී ස්මාර්ට් නිවාස පද්ධති, CNC යන්ත්‍ර සහ මිනිසුන් රහිත ගුවන් වාහන වලින් අවසන් වේ. ක්‍රියාත්මක කිරීම සඳහා උපදෙස් සහ අදහස් විශාල ප්‍රමාණයක් ඇති බැවින් හැකියාවන් ඔබේ පරිකල්පනයෙන් පවා සීමා නොවේ.

Arduino ආරම්භක කට්ටලය

Arduino ඉගෙනීම ආරම්භ කිරීම සඳහා, ඔබ ක්ෂුද්‍ර පාලක පුවරුව සහ අමතර කොටස් ලබා ගත යුතුය. Arduino ආරම්භක කට්ටලයක් මිලදී ගැනීම වඩාත් සුදුසුය, නමුත් ඔබට අවශ්‍ය සියල්ල ඔබටම තෝරා ගත හැකිය. එය පහසු සහ බොහෝ විට ලාභදායී බැවින් කට්ටලයක් තෝරා ගැනීමට මම නිර්දේශ කරමි. ඔබට අනිවාර්යයෙන්ම අධ්‍යයනය කිරීමට අවශ්‍ය හොඳම කට්ටල සහ තනි කොටස් වෙත සබැඳි මෙන්න:

ආරම්භකයින් සඳහා මූලික Arduino කට්ටලය:මිලදී ගන්න
පුහුණුව සහ පළමු ව්යාපෘති සඳහා විශාල කට්ටලයක්:මිලදී ගන්න
අතිරේක සංවේදක සහ මොඩියුල කට්ටලය:මිලදී ගන්න
Arduino Uno යනු රේඛාවෙන් වඩාත්ම මූලික සහ පහසු ආකෘතියයි:මිලදී ගන්න
පහසු ඉගෙනීම සහ මූලාකෘති කිරීම සඳහා පෑස්සුම් රහිත පාන් පුවරුව:මිලදී ගන්න
පහසු සම්බන්ධක සහිත වයර් කට්ටලය:මිලදී ගන්න
LED කට්ටලය:මිලදී ගන්න
ප්රතිරෝධක කට්ටලය:මිලදී ගන්න
බොත්තම්:මිලදී ගන්න
විභවමාන:මිලදී ගන්න

Arduino IDE සංවර්ධන පරිසරය

ස්ථිරාංග ලිවීමට, දෝෂහරණය කිරීමට සහ බාගත කිරීමට, ඔබ Arduino IDE බාගත කර ස්ථාපනය කළ යුතුය. මෙය ඉතා සරල සහ පහසු වැඩසටහනකි. මගේ වෙබ් අඩවියේ මම දැනටමත් සංවර්ධන පරිසරය බාගත කිරීම, ස්ථාපනය කිරීම සහ වින්යාස කිරීමේ ක්රියාවලිය විස්තර කර ඇත. එහෙනම් මෙන්න මම ලින්ක් ටික විතරක් දාන්නම් නවතම අනුවාදයවැඩසටහන් සහ

පිටපත වින්ඩෝස් Mac OS X ලිනක්ස්
1.8.2

Arduino ක්‍රමලේඛන භාෂාව

ඔබේ අතේ ක්ෂුද්‍ර පාලක පුවරුවක් සහ ඔබේ පරිගණකයේ සංවර්ධන පරිසරයක් ස්ථාපනය කර ඇති විට, ඔබට ඔබේ පළමු රූප සටහන් (ස්ථිරාංග) ලිවීම ආරම්භ කළ හැකිය. මෙය සිදු කිරීම සඳහා, ඔබ ක්රමලේඛන භාෂාව හුරුපුරුදු විය යුතුය.

Arduino ක්‍රමලේඛනය පූර්ව නිශ්චිත කාර්යයන් සහිත C++ භාෂාවේ සරල අනුවාදයක් භාවිතා කරයි. අනෙකුත් C-සමාන ක්‍රමලේඛන භාෂා වල මෙන්, කේතය ලිවීම සඳහා නීති ගණනාවක් තිබේ. මෙන්න වඩාත් මූලික ඒවා:

  • සෑම උපදෙසක්ම අර්ධ කෝමයකින් (;) අනුගමනය කළ යුතුය.
  • ශ්‍රිතයක් ප්‍රකාශ කිරීමට පෙර, ඔබ ශ්‍රිතය මඟින් ආපසු ලබා දෙන දත්ත වර්ගය සඳහන් කළ යුතුය, නැතහොත් ශ්‍රිතය අගයක් ලබා නොදෙන්නේ නම් එය අවලංගු වේ.
  • විචල්‍යයක් ප්‍රකාශ කිරීමට පෙර දත්ත වර්ගය සඳහන් කිරීම ද අවශ්‍ය වේ.
  • අදහස් නම් කර ඇත: // Inline සහ /* block */

ඔබට මෙම පිටුවේ ඇති දත්ත වර්ග, ශ්‍රිත, විචල්‍ය, ක්‍රියාකරුවන් සහ භාෂා නිර්මිතයන් පිළිබඳ වැඩිදුර ඉගෙන ගත හැකිය, ඔබට මෙම සියලු තොරතුරු මතක තබා ගැනීමට අවශ්‍ය නොවේ. ඔබට සැමවිටම යොමු පොතට ගොස් යම් කාර්යයක වාක්‍ය ඛණ්ඩය දෙස බැලිය හැකිය.

සියලුම Arduino ස්ථිරාංග අවම වශයෙන් කාර්යයන් 2 ක් අඩංගු විය යුතුය. ඒවා නම් setup() සහ loop().

පිහිටුවීමේ කාර්යය

සෑම දෙයක්ම වැඩ කිරීමට නම්, අපි ස්කීච් එකක් ලිවිය යුතුය. බොත්තම එබීමෙන් පසු LED ආලෝකය දල්වා, ඊළඟ එබීමෙන් පසු පිටතට යමු. මෙන්න අපේ පළමු කටු සටහන:

// සම්බන්ධිත උපාංගවල අල්ෙපෙනති සහිත විචල්‍ය int switchPin = 8; int ledPin = 11; // බොත්තමෙහි තත්වය ගබඩා කිරීමට විචල්‍යයන් සහ LED boolean lastButton = අඩු; boolean currentButton = අඩු; boolean ledOn = බොරු; void setup() (pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // boolean debounse (boolean last) debouncing සඳහා වූ ශ්‍රිතය ( boolean current = digitalRead(switchPin); if(last != current) (ප්‍රමාදය 5); ධාරාව = ඩිජිටල් කියවීම (switchPin); ) ආපසු ධාරාව; ) void loop () ( currentButton = debounse (lastButton); if(lastButton == LOW && currentButton == HIGH) (ledOn = !ledOn; ) lastButton = currentButton ; ඩිජිටල් රයිට් (ledPin, ledOn); )

// සම්බන්ධිත උපාංගවල කටු සහිත විචල්‍යයන්

int switchPin = 8 ;

int ledPin = 11 ;

බොත්තම සහ LED වල තත්වය ගබඩා කිරීමට // විචල්‍යයන්

boolean lastButton = අඩු ;

boolean currentButton = අඩු ;

boolean ledOn = බොරු ;

හිස් සැකසුම () (

pinMode (switchPin, INPUT);

pinMode (ledPin, OUTPUT);

// debouncing සඳහා කාර්යය

boolean debounse (boolean last) (

boolean ධාරාව = ඩිජිටල් කියවීම (switchPin);

නම් (අවසාන != වත්මන් ) (

ප්රමාදය (5);

ධාරාව = ඩිජිටල් කියවීම (switchPin);

ආපසු වත්මන්;

void loop() (

currentButton = debounse (lastButton);

නම් (lastButton == අඩු && වත්මන් බොත්තම == ඉහළ) (

ledOn = ! ledOn;

lastButton = වත්මන් බොත්තම ;

ඩිජිටල් රයිට් (ledPin, ledOn);

මෙම කටු සටහනේ, මම සම්බන්ධතා bounce මර්දනය කිරීමට අමතර debounse ශ්‍රිතයක් නිර්මාණය කළෙමි. මගේ වෙබ් අඩවියේ සම්බන්ධතා bounce පිළිබඳ තොරතුරු තිබේ. මෙම ද්රව්ය පරීක්ෂා කිරීමට වග බලා ගන්න.

PWM Arduino

ස්පන්දන පළල මොඩියුලේෂන් (PWM) යනු සංඥාවක රාජකාරි චක්‍රය භාවිතයෙන් වෝල්ටීයතාව පාලනය කිරීමේ ක්‍රියාවලියයි. එනම්, PWM භාවිතයෙන් අපට බර සුමට ලෙස පාලනය කළ හැකිය. උදාහරණයක් ලෙස, ඔබට LED එකක දීප්තිය සුමට ලෙස වෙනස් කළ හැකිය, නමුත් දීප්තියේ මෙම වෙනස ලබා ගන්නේ වෝල්ටීයතාව අඩු කිරීමෙන් නොව, අඩු සංඥාවේ කාල පරතරයන් වැඩි කිරීමෙනි. PWM හි මෙහෙයුම් මූලධර්මය මෙම රූප සටහනෙහි දැක්වේ:

අපි LED එකට PWM යෙදූ විට, එය ඉක්මනින් දැල්වී පිටතට යාමට පටන් ගනී. සංඛ්‍යාතය වැඩි නිසා මිනිස් ඇසට මෙය නොපෙනේ. නමුත් වීඩියෝව රූගත කිරීමේදී, LED දැල්වෙන්නේ නැති අවස්ථා ඔබ බොහෝ විට දකිනු ඇත. කැමරා රාමු අනුපාතය PWM සංඛ්‍යාතයේ ගුණාකාරයක් නොවේ නම් මෙය සිදුවනු ඇත.

Arduino සතුව බිල්ට් ස්පන්දන පළල මොඩියුලේටරයක් ​​ඇත. ඔබට PWM භාවිතා කළ හැක්කේ ක්ෂුද්‍ර පාලකය මඟින් සහය දක්වන එම පින් මත පමණි. උදාහරණයක් ලෙස, Arduino Uno සහ Nano සතුව PWM පින් 6 ක් ඇත: මේවා D3, D5, D6, D9, D10 සහ D11 pins වේ. අනෙකුත් පුවරු වල කටු වෙනස් විය හැක. ඔබ උනන්දුවක් දක්වන පුවරුවේ විස්තරයක් ඔබට සොයාගත හැකිය

Arduino වල PWM භාවිතා කිරීමට ශ්‍රිතයක් ඇත.එය 0 සිට 255 දක්වා වූ pin අංකය සහ PWM අගය තර්කයක් ලෙස ගනී. උදාහරණයක් ලෙස සරල කටු සටහනක් ලියමු. අපි LED එක සුමටව දැල්වීමට සලස්වමු, තත්පරයක් රැඳී සිටිමින් සුමට ලෙස මැකී යයි, සහ වෙනත් දැන්වීම් අනන්තය. මෙම කාර්යය භාවිතා කිරීමේ උදාහරණයක් මෙන්න:

// LED එක pin 11 int ledPin = 11 වෙත සම්බන්ධ කර ඇත; void setup() (pinMode(ledPin, OUTPUT); ) void loop() ( සඳහා (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); delay(5); ) )

// LED පින් 11 වෙත සම්බන්ධ කර ඇත

int ledPin = 11 ;

හිස් සැකසුම () (

pinMode (ledPin, OUTPUT);

void loop() (

සඳහා (int i = 0 ; i< 255 ; i ++ ) {

analogWrite (ledPin, i);

ප්රමාදය (5);

ප්රමාදය (1000);

සඳහා (int i = 255; i > 0; i -- ) (

ආරම්භකයින් සඳහා Arduino පිළිබඳ ආධුනික ගුවන් විදුලි අත්හදා බැලීම් සහිත ලිපි මාලාවක් සහ පුහුණු රූප සටහන්. මෙය එවැනි ආධුනික ගුවන්විදුලි ඉදිකිරීම් සෙල්ලම් බඩුවක් වන අතර, පෑස්සුම් යකඩකින් තොරව, මුද්‍රිත පරිපථ පුවරු ආදියෙන් තොරව, ඕනෑම ඉලෙක්ට්‍රොනික කේතලයකට පූර්ණ වැඩ කරන උපාංගයක් එකලස් කළ හැකිය, එය අධ්‍යයනයේ වෘත්තීය මූලාකෘති සහ ආධුනික අත්හදා බැලීම් සඳහා සුදුසු වේ. ඉලෙක්ට්රොනික උපකරණ.


Arduino පුවරුව මූලික වශයෙන් අදහස් කරන්නේ නවක ගුවන්විදුලි ආධුනිකයන්ට ක්‍රමලේඛන ක්ෂුද්‍ර පාලකයන්ගේ මූලික කරුණු ඉගැන්වීම සහ බරපතල න්‍යායික පුහුණුවකින් තොරව තමන්ගේම දෑතින් ක්ෂුද්‍ර පාලක උපාංග නිර්මාණය කිරීම සඳහා ය. Arduino සංවර්ධන පරිසරය මඟින් ඔබට පුවරු මතකයට සූදානම් කළ වැඩසටහන් කේතය සම්පාදනය කිරීමට සහ පැටවීමට ඉඩ සලසයි. එපමණක් නොව, කේතය පැටවීම අතිශයින්ම සරල ය.

ආධුනිකයෙකු සඳහා Arduino ආරම්භ කළ යුතු ස්ථානය

පළමුවෙන්ම, Arduino පුවරුව සමඟ වැඩ කිරීමට, නවක ඉලෙක්ට්‍රොනික ඉංජිනේරුවෙකුට Arduino සංවර්ධන වැඩසටහන බාගත කළ යුතුය; එය අපි වැඩසටහන් කේතය, පණිවිඩ ප්‍රදේශයක්, පෙළ ප්‍රතිදාන කවුළුවක් (කොන්සෝලය) සමඟ වැඩ කරන බිල්ට් ටෙක්ස්ට් එඩිටරයකින් සමන්විත වේ. ), නිතර භාවිතා කරන විධාන සහ මෙනු කිහිපයක් සඳහා බොත්තම් සහිත මෙවලම් තීරුවක්. එහි වැඩසටහන් බාගත කිරීම සහ සන්නිවේදනය කිරීම සඳහා, මෙම වැඩසටහන සම්මත USB කේබලයක් හරහා Arduino පුවරුවට සම්බන්ධ කර ඇත.


Arduino පරිසරයේ ලියා ඇති කේතය හැඳින්වේ කටු සටහන. එය ලියා ඇත පෙළ සංස්කාරකය, පෙළ ඇතුළු කිරීම/කැපීම, ප්‍රතිස්ථාපනය/සෙවීම සඳහා විශේෂ මෙවලම් ඇත. සුරැකීම සහ අපනයනය කිරීමේදී, පණිවිඩ ප්‍රදේශයේ පැහැදිලි කිරීම් දිස්වේ (ආරම්භකයින් සඳහා පළමු පාඩමේ පින්තූරය බලන්න, මදක් පහතින්), සහ දෝෂ ද පෙන්විය හැක. කොන්සෝලය සම්පූර්ණ දෝෂ වාර්තා සහ අනෙකුත් ප්‍රයෝජනවත් තොරතුරු ඇතුළුව Arduino පණිවිඩ පෙන්වයි. මෙවලම් තීරු බොත්තම් ඔබට ස්කීච් එකක් පරීක්ෂා කිරීමට සහ පටිගත කිරීමට, එය විවෘත කිරීමට, නිර්මාණය කිරීමට සහ සුරැකීමට, අනුක්‍රමික බස් නිරීක්ෂණ විවෘත කිරීමට සහ තවත් බොහෝ දේ කිරීමට ඉඩ සලසයි.

ඉතින්, අපි ආරම්භක ඉලෙක්ට්‍රොනික ඉංජිනේරුවන් සඳහා Arduino පරිපථවල පළමු පාඩම වෙත යමු.

ආරම්භකයින්ගේ පහසුව සඳහා, Arduino UNO පාලකයට දැනටමත් ප්‍රතිරෝධයක් සහ සම්බන්ධකයේ pin 13 වෙත සම්බන්ධ LED එකක් ඇත, එබැවින් අපට පළමු අත්හදා බැලීමේදී බාහිර ගුවන්විදුලි මූලද්‍රව්‍ය කිසිවක් අවශ්‍ය නොවේ.


කේතය පූරණය කිරීමෙන්, Arduino අපගේ වැඩසටහනට පද්ධති ආරම්භයට සහභාගී වීමට ඉඩ සලසයි. මෙය සිදු කිරීම සඳහා, අපි ක්ෂුද්‍ර පාලක විධානයන් වෙත දක්වන්නේ එය ආරම්භක ආරම්භයේදී ක්‍රියාත්මක වන අතර පසුව ඒවා සම්පූර්ණයෙන්ම අමතක කරන බවයි (එනම්, මෙම විධානයන් ආරම්භයේදී එක් වරක් පමණක් Arduino විසින් ක්‍රියාත්මක කරනු ලැබේ). අපගේ කේතයේ අපි මෙම විධාන ගබඩා කර ඇති බ්ලොක් එකක් තෝරා ගන්නේ මේ සඳහා ය. හිස් සැකසුම (), හෝ ඒ වෙනුවට මෙම ශ්‍රිතයේ curly braces ඇතුලත ඇති අවකාශයේ, වැඩසටහනේ කටු සටහන බලන්න.

ගැන අමතක කරන්න එපා වරහන්! අඩුම තරමින් ඔවුන්ගෙන් එක් අයෙකු අහිමි වීමෙන් සම්පූර්ණ ස්කීච් සම්පූර්ණයෙන්ම ක්රියා කළ නොහැකි වනු ඇත. නමුත් අමතර වරහන් ද නොතබන්න, මෙය ද දෝෂයක් ඇති කරයි.

බාගත කිරීමේ කේතය:
001-1_mig-led.ino ගොනුවේ අදහස් සහ පැහැදිලි කිරීම් සමඟ කටු සටහන් කරන්න

කාර්යය void loop() Arduino ඔන් කර ඇති තාක් කල් ක්‍රියාත්මක වන විධානයන් අපි තබන්නේ මෙහිදීය. පළමු විධානයෙන් ක්‍රියාත්මක කිරීම ආරම්භ කිරීමෙන් පසු, Arduino අවසානය දක්වා ළඟා වන අතර එම අනුපිළිවෙලම නැවත කිරීමට වහාම ආරම්භයට යයි. ඒ වගේම අනන්ත වාර ගණනක්, මණ්ඩලයට බලය ලැබෙන තාක් කල්. එහි හරය තුළ, හිස් පුඩුවක් ප්රධාන කාර්යය වේ, Arduino වෙත ඇතුල් වීමේ ස්ථානය.


කාර්යය ප්රමාදය(1000) වැඩසටහන් සැකසීම මිලි තත්පර 1000කින් ප්‍රමාද කරයි. ඒ සියල්ල සදාකාලික චක්‍රයක ගමන් කරයි ලූප් ().

Arduino පිළිබඳ අපගේ පළමු වැඩසටහන තේරුම් ගැනීමෙන් පසු ප්රධාන නිගමනය: void loop සහ void setup functions භාවිතා කරමින්, අපි අපගේ උපදෙස් ක්ෂුද්‍ර පාලකය වෙත යවන්නෙමු. Setup block එක ඇතුලේ තියෙන හැම දෙයක්ම execute වෙන්නේ එක පාරයි. Arduino ක්‍රියාත්මකව පවතින තාක් ලූප් මොඩියුලයේ අන්තර්ගතය පුනරාවර්තනය වේ.

පෙර වැඩසටහනේදී LED සක්‍රිය සහ අක්‍රිය කිරීම අතර දෙවන ප්‍රමාදයක් ඇති විය. ඉහත භාවිතා කරන ලද නවක Arduino ක්‍රියාකරුගේ සරලම කේතයේ එක් විශාල අවාසියක් තිබුණි. LED එක තත්පරයකට සක්‍රිය සහ අක්‍රිය කිරීම අතර විරාමයක් පවත්වා ගැනීමට, අපි ශ්‍රිතය භාවිතා කළෙමු ප්රමාද ()එබැවින් මේ මොහොතේ පාලකයට ප්‍රධාන කාර්යයේ වෙනත් විධාන ක්‍රියාත්මක කිරීමට නොහැකි වේ ලූප් (). කාර්යයක කේතය නිවැරදි කිරීම ලූප් (), පහත ඉදිරිපත් කර ඇති මෙම ගැටළුව විසඳයි.

අගය HIGH ට පසුව අඩු අගයට සකසනවා වෙනුවට, අපි ledPin අගය ලබාගෙන එය පෙරළන්නෙමු. එය ඉහළ නම්, එය අඩු වේ යනාදිය කියමු.

දෙවැනි LED පාලනය සඳහා Arduino කේත විකල්පයමෙතන:

එවිට ඔබට කාර්යය ප්රතිස්ථාපනය කළ හැකිය ප්රමාද (). ඒ වෙනුවට, කාර්යය භාවිතා කිරීම වඩා හොඳය මිලි (). එය වැඩසටහන ආරම්භයේ සිට ගත වූ මිලි තත්පර ගණන ආපසු ලබා දෙයි. වැඩසටහන් කේතය ක්‍රියාත්මක කිරීමෙන් ආසන්න වශයෙන් දින 50කට පසුව ශ්‍රිතය පිටාර ගලනු ඇත.

සමාන කාර්යයක් වේ ක්ෂුද්ර (), එය ක්‍රමලේඛ කේතය දියත් කිරීමෙන් පසු ගත වූ මයික්‍රො තත්පර ගණන ආපසු ලබා දෙයි. මිනිත්තු 70 ක වැඩසටහනේ ක්‍රියාකාරිත්වයෙන් පසුව ශ්‍රිතය නැවත බිංදුවට පැමිණේ.

ඇත්ත වශයෙන්ම, මෙය අපගේ සටහනට කේත පේළි කිහිපයක් එකතු කරනු ඇත, නමුත් එය නිසැකවම ඔබව වඩාත් පළපුරුදු ක්‍රමලේඛකයෙකු බවට පත් කරන අතර ඔබේ Arduino හි විභවය වැඩි කරයි. මෙය සිදු කිරීම සඳහා, ඔබ මිලිස් ශ්රිතය භාවිතා කරන්නේ කෙසේදැයි ඉගෙන ගත යුතුය.

සරලම ප්‍රමාද ශ්‍රිතය සමස්ත Arduino වැඩසටහනම ක්‍රියාත්මක කිරීම නවත්වන අතර, මෙම කාල සීමාව තුළ කිසිදු කාර්යයක් කිරීමට නොහැකි වන බව පැහැදිලිව වටහා ගත යුතුය. අපගේ සම්පූර්ණ වැඩසටහන විරාම කිරීම වෙනුවට, ක්‍රියාව සම්පූර්ණ වීමට පෙර කොපමණ කාලයක් ගත වී ඇත්දැයි අපට ගණන් කළ හැකිය. මෙය ඉතා මැනවින් ක්‍රියාවට නංවා ඇත්තේ millis() ශ්‍රිතය භාවිතා කරමිනි. සෑම දෙයක්ම තේරුම් ගැනීමට පහසු කිරීම සඳහා, කාල ප්‍රමාදයකින් තොරව LED දැල්වීම සඳහා පහත විකල්පය අපි සලකා බලමු.

මෙම වැඩසටහනේ ආරම්භය වෙනත් ඕනෑම සම්මත Arduino sketch එකකට සමාන වේ.


මෙම උදාහරණය Arduino ඩිජිටල් I/O පින් දෙකක් භාවිතා කරයි. LED එක Pin 8 වෙත සම්බන්ධ කර ඇති අතර එය OUTPUT ලෙස වින්‍යාස කර ඇත. බොත්තමක් 9 හරහා සම්බන්ධ කර ඇති අතර එය INPUT ලෙස වින්‍යාස කර ඇත. අපි බොත්තම එබූ විට, pin 9 HIGH ලෙස සකසා ඇති අතර, වැඩසටහන pin 8 HIGH වෙත මාරු කරයි, එමගින් LED සක්රිය කරයි. බොත්තම මුදා හැරීමෙන් පින් 9 අඩුවෙන් නැවත සකසයි. කේතය පසුව pin 8 අඩු කිරීමට, දර්ශක ආලෝකය නිවා දමයි.

LED පහක් පාලනය කිරීම සඳහා අපි Arduino ports සමඟ විවිධ උපාමාරු භාවිතා කරමු. මෙය සිදු කිරීම සඳහා, අපි සෘජුවම Arduino ports වෙත දත්ත ලියන්නෙමු, මෙය එක් කාර්යයක් භාවිතා කරමින් LED සඳහා අගයන් සැකසීමට අපට ඉඩ සලසයි.

Arduino UNO හි වරායන් තුනක් ඇත: බී(8 සිට 13 දක්වා ඩිජිටල් යෙදවුම්/ප්‍රතිදාන); සී(ඇනලොග් ආදාන); ඩී(ඩිජිටල් යෙදවුම්/ප්‍රතිදාන 0 සිට 7 දක්වා)

සෑම වරායක්ම රෙජිස්ටර් තුනක් පාලනය කරයි. පළමු DDR මඟින් පින් එක ආදානයක් ද ප්‍රතිදානයක් ද යන්න නියම කරයි. දෙවන PORT ලේඛනය භාවිතා කිරීමෙන්, ඔබට PIN ඉහළ හෝ අඩු ලෙස සැකසිය හැක. තෙවනුව භාවිතා කරමින්, ඔබට Arduino කකුල් ආදානයක් ලෙස ක්‍රියා කරන්නේ නම් ඒවායේ තත්වය පිළිබඳ තොරතුරු කියවිය හැකිය.

පරිපථය ක්‍රියාත්මක කිරීම සඳහා, අපි B port භාවිතා කරමු. මෙය සිදු කිරීම සඳහා, අපි සියලුම port pins ඩිජිටල් ප්‍රතිදානයන් ලෙස සකසන්නෙමු. බී වරායට ඇත්තේ කකුල් 6ක් පමණි. DDRB රෙජිස්ටර් බිටු සැකසිය යුතුය "1" , පින් එක ප්‍රතිදානයක් ලෙස භාවිතා කරන්නේ නම් (OUTPUT), සහ in "0" , අපි පින් එක ආදානයක් ලෙස භාවිතා කිරීමට අදහස් කරන්නේ නම් (INPUT). Port bits 0 සිට 7 දක්වා අංක කර ඇත, නමුත් සෑම විටම 8 pins නොමැත

අපි මෙසේ කියමු. DDRB = B00111110;// port B පින් 1 සිට 5 දක්වා ප්‍රතිදානය ලෙස සහ 0 ආදානය ලෙස සකසන්න.

අපගේ ධාවන පහන් පරිපථයේ අපි නිමැවුම් පහක් භාවිතා කරමු: DDRB = B00011111; // port B pins 0 සිට 4 දක්වා ප්‍රතිදානයන් ලෙස සකසන්න.

B වරායට දත්ත ලිවීමට, ඔබ PORTB ලේඛනය භාවිතා කළ යුතුය. පාලන විධානය භාවිතයෙන් ඔබට පළමු LED දැල්විය හැක: PORTB = B00000001;, පළමු සහ සිව්වන LED: PORTB = B00001001සහ යනාදි

ද්විමය මාරු ක්‍රියාකරුවන් දෙදෙනෙකු ඇත: වම් සහ දකුණ. වම් මාරු ක්‍රියාකරු සියලු දත්ත බිටු වමට ගෙන යන අතර දකුණු මාරුව ක්‍රියාකරු ඒවා දකුණට ගෙන යයි.

උදාහරණයක්:

varA = 1; // 00000001
varA = 1 varA = 1 varA = 1

දැන් අපි අපගේ වැඩසටහනේ මූල කේතය වෙත ආපසු යමු. අපි විචල්‍ය දෙකක් ඇතුළත් කළ යුතුයි: උඩ යටඉහළට හෝ පහළට ගමන් කළ යුතු ස්ථානයේ අගයන් ඇතුළත් වේ, සහ දෙවැන්න සිලෝන්කුමන LED දැල්විය යුතුද යන්න පෙන්නුම් කරයි.

ව්යුහාත්මකව, එවැනි LED එකකට එක් පොදු පර්යන්තයක් සහ එක් එක් වර්ණය සඳහා පර්යන්ත තුනක් ඇත. පහත දැක්වෙන්නේ RGB LED එකක් පොදු කැතෝඩයක් සහිත Arduino පුවරුවකට සම්බන්ධ කිරීමේ රූප සටහනකි. සම්බන්ධක පරිපථයේ භාවිතා කරන සියලුම ප්රතිරෝධක 220-270 Ohms සිට එකම අගයක් විය යුතුය.


පොදු කැතෝඩයක් සමඟ සම්බන්ධතාවයක් සඳහා, පොදු පින් එක බිමට (උපාංගයේ gnd) නොව +5 වෝල්ට් පින් එකට සම්බන්ධ කිරීම හැර, වර්ණ තුනේ LED සඳහා සම්බන්ධතා රූප සටහන බොහෝ දුරට සමාන වේ. අවස්ථා දෙකේදීම රතු, කොළ සහ නිල් පින්ස් ඩිජිටල් නිමැවුම් 9, 10 සහ 11 පාලකයට සම්බන්ධ වේ.

අපි 220 Ohms ප්‍රතිරෝධයක් හරහා Arduino UNO හි නවවන පින් එකට බාහිර LED එකක් සම්බන්ධ කරමු. දෙවැන්නෙහි දීප්තිය සුමටව පාලනය කිරීමට, ශ්‍රිතය භාවිතා කරන්න analogWrite(). එය පාලක කකුලට PWM සංඥාවක් ලබා දෙයි. එපමණක් නොව, කණ්ඩායම pinMode()ඇමතීමට අවශ්ය නැත. නිසා ඇනලොග් රයිට් (පින්, අගය)පරාමිති දෙකක් ඇතුළත් වේ: ප්‍රතිදානය සඳහා පින් - පින් අංකය, අගය - අගය 0 සිට 255 දක්වා.

කේතය:
/*
LED එකක Fade Effect ක්‍රියාවට නැංවීම සඳහා analogWrite() විධානයේ හැකියාවන් හෙළි කරන නවක Arduino සංවර්ධකයෙකු සඳහා නිබන්ධන උදාහරණයක්
*/
int දීප්තිය = 0; // LED දීප්තිය
int fadeAmount = 5; // දීප්තිය වෙනස් කිරීමේ පියවර
අත්සන් නොකළ දිගු වත්මන් කාලය;
අත්සන් නොකළ දිගු ලූප් ටයිම්;

හිස් සැකසුම() (
pinMode(9, OUTPUT); // පින් 9 ප්‍රතිදානය ලෙස සකසන්න
වත්මන් කාලය = මිලි ();
loopTime = වත්මන් වේලාව;
}

Void loop() (
වත්මන් කාලය = මිලි ();
if(currentTime >= (loopTime + 20))(
analogWrite (9, දීප්තිය); // පින් 9 මත අගය සකසන්න

දීප්තිය = දීප්තිය + fadeAmount; // දීප්තිය වෙනස් කිරීම සඳහා පියවරක් එක් කරන්න, එය ඊළඟ චක්‍රයේ ස්ථාපිත වනු ඇත

// ළඟා වුවහොත් මිනි. හෝ උපරිම. අගයන්, පසුව අපි ප්රතිවිරුද්ධ දිශාවට යන්නෙමු (ප්රතිලෝම):
නම් (දීප්තිය == 0 || දීප්තිය == 255) (
fadeAmount = -fadeAmount ;
}
loopTime = වත්මන් වේලාව;
}
}

කේතකයක් සමඟ Arduino වැඩ කිරීම

කේතකය නිර්මාණය කර ඇත්තේ භ්‍රමණ කෝණය විද්‍යුත් සංඥාවක් බවට පරිවර්තනය කිරීමටය. එයින් අපට සංඥා දෙකක් (A සහ B) ලැබේ, ඒවා අදියරේදී ප්රතිවිරුද්ධ වේ. මෙම නිබන්ධනයේදී අපි SparkFun COM-09117 කේතකය භාවිතා කරනු ඇත, එය විප්ලවයකට ස්ථාන දොළහක් ඇත (එක් එක් ස්ථානය හරියටම 30°). කේතකය දක්ෂිණාවර්තව හෝ වාමාවර්තව චලනය වන විට ප්‍රතිදානය A සහ ​​B එකිනෙක රඳා පවතින ආකාරය පහත රූපයේ පැහැදිලිව පෙන්වයි.

A සංඥාව ධන මට්ටමේ සිට ශුන්‍යයට ගියහොත්, අපි B ප්‍රතිදානයේ අගය කියවමු. B ප්‍රතිදානය මෙම අවස්ථාවේදී ධනාත්මක තත්වයක පවතී නම්, එවිට කේතකය දක්ෂිණාවර්තව ගමන් කරයි, B ශුන්‍ය මට්ටමක් ප්‍රතිදානය කරන්නේ නම්, එවිට කේතකය ප්‍රතිවිරුද්ධ දිශාවට ගමන් කරයි. නිමැවුම් දෙකම කියවීමෙන්, ක්ෂුද්‍ර පාලකයක් භාවිතයෙන් භ්‍රමණය වන දිශාව ගණනය කිරීමට අපට හැකි වන අතර, කේතකයේ A ප්‍රතිදානයෙන් ස්පන්දන ගණනය කිරීමෙන්, භ්‍රමණ කෝණය.

අවශ්‍ය නම්, කේතකය භ්‍රමණය වන වේගය තීරණය කිරීමට ඔබට සංඛ්‍යාත ගණනය කිරීම් භාවිතා කළ හැක.

අපගේ නිබන්ධන උදාහරණයේ කේතකයක් භාවිතා කරමින්, අපි PWM ප්‍රතිදානය භාවිතයෙන් LED හි දීප්තිය සකස් කරමු. කේතකය වෙතින් දත්ත කියවීම සඳහා, අපි දැනටමත් ආවරණය කර ඇති මෘදුකාංග ටයිමර් මත පදනම් වූ ක්‍රමයක් භාවිතා කරන්නෙමු.

තුළ යන කාරණය සැලකිල්ලට ගනිමින් ඉක්මන් නඩුව, අපට තත්ත්පර 1/10 කින් කේතීකරණ බොත්තම 180° කරකැවිය හැක, එවිට එය තත්පරයකින් 1/10 කින් ස්පන්දන 6 ක් හෝ තත්පරයකින් ස්පන්දන 60 ක් වනු ඇත.

යථාර්ථය නම්, එය වේගයෙන් භ්රමණය කළ නොහැකිය. අපට සියලුම අර්ධ චක්‍ර නිරීක්ෂණය කිරීමට අවශ්‍ය බැවින්, සංඛ්‍යාතය හර්ට්ස් 120ක් පමණ විය යුතුය. සම්පූර්ණයෙන්ම සහතික වීමට, අපි 200 Hz ගනිමු.

මෙම අවස්ථාවෙහිදී, අපි යාන්ත්‍රික කේතීකරණ යන්ත්‍රයක් භාවිතා කරන බැවින්, සම්බන්ධතා පිම්මක් ඇති විය හැකි අතර අඩු සංඛ්‍යාතය එවැනි පිම්ම මනාව පෙරහන් කරයි.


වැඩසටහන් ටයිමර් සංඥා මත පදනම්ව, සංකේතාකක ප්රතිදානය A හි වත්මන් අගය පෙර අගය සමඟ නිරන්තරයෙන් සංසන්දනය කිරීම අවශ්ය වේ. ප්‍රාන්තය ධන සිට ශුන්‍ය දක්වා වෙනස් වේ නම්, අපි ප්‍රතිදාන B හි තත්ත්වය විමසා බලමු. තත්ව ඡන්ද විමසීමේ ප්‍රතිඵලය අනුව, අපි LED දීප්තියේ අගය කවුන්ටරය වැඩි හෝ අඩු කරමු. 5 ms (200 Hz) පමණ කාල පරතරයක් සහිත වැඩසටහන් කේතය පහත දැක්වේ:

Arduino ආරම්භක කේතය:
/*
** කේතකය
** LED හි දීප්තිය පාලනය කිරීම සඳහා, Sparkfun වෙතින් කේතනය භාවිතා කරයි
*/

Int දීප්තිය = 120; // LED දීප්තිය, අඩකින් ආරම්භ කරන්න
int fadeAmount = 10; // දීප්තිය වෙනස් කිරීමේ පියවර
අත්සන් නොකළ දිගු වත්මන් කාලය;
අත්සන් නොකළ දිගු ලූප් ටයිම්;
const int pin_A = 12; // පින් 12
const int pin_B = 11; // පින් 11
අත්සන් නොකළ char encoder_A;
අත්සන් නොකළ char encoder_B;
අත්සන් නොකළ char encoder_A_prev=0;
හිස් සැකසුම () (
// pin 9 ප්‍රතිදානයක් ලෙස ප්‍රකාශ කරන්න:
pinMode(9, OUTPUT); // පින් 9 ප්‍රතිදානය ලෙස සකසන්න
pinMode (pin_A, INPUT);
pinMode (pin_B, INPUT);
වත්මන් කාලය = මිලි ();
loopTime = වත්මන් වේලාව;
}
void loop() (
වත්මන් කාලය = මිලි ();
if(currentTime >= (loopTime + 5))( // පරීක්‍ෂා කරන්න සෑම 5ms (සංඛ්‍යාත 200 Hz)
encoder_A = ඩිජිටල් කියවීම (pin_A); // කේතකයේ A ප්‍රතිදාන තත්ත්වය කියවන්න
encoder_B = ඩිජිටල් කියවීම (pin_B); // කේතීකරණ ප්‍රතිදානය B
if((! encoder_A) && (encoder_A_prev))( // තත්වය ධන සිට ශුන්‍ය දක්වා වෙනස් වුවහොත්
if(encoder_B) (
// ප්‍රතිදානය B ධනාත්මක තත්වයක පවතී, එයින් අදහස් වන්නේ භ්‍රමණය දක්ෂිණාවර්ත වේ
// දීප්තියේ දීප්තිය වැඩි කරන්න, 255 ට වඩා වැඩි නොවේ
if(දීප්තිය + වියැකී යන මුදල)
වෙනත් (
// ප්‍රතිදානය B ශුන්‍ය තත්වයේ ඇත, එයින් අදහස් වන්නේ භ්‍රමණය වාමාවර්තව ඇති බවයි
// දීප්තිය අඩු කරන්න, නමුත් බිංදුවට වඩා අඩු නොවේ
if(දීප්තිය - fadeAmount >= 0) දීප්තිය -= fadeAmount;
}

}
encoder_A_prev = encoder_A; // ඊළඟ ලූපය සඳහා A හි අගය සුරකින්න

AnalogWrite (9, දීප්තිය); // දීප්තිය නවවන පින් එකට සකසන්න

LoopTime = වත්මන් වේලාව;
}
}

මෙම ආධුනිකයාගේ උදාහරණයේදී, අපි ශබ්ද උත්පාදනය කිරීමට piezo විමෝචකයක් සමඟ වැඩ කිරීම දෙස බලමු. මෙය සිදු කිරීම සඳහා, 20 Hz - 20 kHz සංඛ්යාත පරාසය තුළ ශබ්ද තරංග උත්පාදනය කිරීමට අපට ඉඩ සලසන piezoelectric සංවේදකයක් ගනිමු.

මෙය ආධුනික ගුවන්විදුලි නිර්මාණයක් වන අතර එහිදී LED මුළු පරිමාව පුරාම පිහිටා ඇත. මෙම යෝජනා ක්රමය භාවිතා කිරීමෙන් ඔබට විවිධ ආලෝකකරණ සහ සජීවිකරණ බලපෑම් ජනනය කළ හැකිය. සංකීර්ණ රූප සටහන් විවිධ විශාල වචන පවා පෙන්විය හැක. වෙනත් වචන වලින් කිවහොත්, මෙය මූලික සරවුන්ඩ් මොනිටරයකි

විවිධ ගුවන්විදුලි පාලිත මාදිලි සැලසුම් කිරීමේදී සර්වෝ ඩ්‍රයිව් ප්‍රධාන අංගය වන අතර පාලකයක් භාවිතයෙන් එහි පාලනය සරල සහ පහසු වේ.


පාලන වැඩසටහන සරල සහ අවබෝධාත්මක ය. එය ආරම්භ වන්නේ සර්වෝ ඩ්‍රයිව් පාලනය කිරීමට අවශ්‍ය සියලුම විධාන අඩංගු ගොනුවක් සම්බන්ධ කිරීමෙනි. ඊළඟට, අපි servo වස්තුවක් සාදන්න, උදාහරණයක් ලෙස servoMain. මීලඟ ශ්‍රිතය Setup(), එහි අපි සර්වෝ එක පාලකයේ නවවන පින් එකට සම්බන්ධ කර ඇති බව සඳහන් කරමු.

කේතය:
/*
Arduino Servo
*/
#ඇතුළත්
සර්වෝ සර්වෝමේන්; // සර්වෝ වස්තුව

අවලංගු සැකසුම()
{
servoMain.attach(9); // සර්වෝ පින් 9 වෙත සම්බන්ධ කර ඇත
}

void loop()
{
servoMain.write(45); // සර්වෝ වමට 45° කරකවන්න
ප්රමාදය (2000); // මිලි තත්පර 2000 ක් ඉන්න (තත්පර 2)
servoMain.write(0); // සර්වෝ වමට 0° කරකවන්න
ප්රමාදය (1000); // විරාම 1 තත්.

ප්රමාදය (1500); //තත්පර 1.5ක් ඉන්න.
servoMain.write(135); // සර්වෝ දකුණට 135° කරකවන්න
ප්රමාදය (3000); // තත්පර 3 විරාම කරන්න.
servoMain.write(180); // සර්වෝ දකුණට 180° කරකවන්න
ප්රමාදය (1000); //තත්පර 1ක් ඉන්න.
servoMain.write(90); // සර්වෝ 90° කරකවන්න. මධ්යම ස්ථානය
ප්රමාදය (5000); // තත්පර 5 විරාම කරන්න.
}

ප්රධාන කාර්යයේ දී ලූප් (), අපි සර්වෝමෝටරයට විධාන දෙන්නෙමු, ඒවා අතර විරාම සහිතව.

7-කොටස් දර්ශකයක් මත Arduino කවුන්ටර පරිපථය

ආරම්භකයින් සඳහා වන මෙම සරල Arduino ව්‍යාපෘතියට සාමාන්‍ය 7-කොටස් පොදු කැතෝඩ සංදර්ශකයක් භාවිතයෙන් කවුන්ටර පරිපථයක් නිර්මාණය කිරීම ඇතුළත් වේ. පහත වැඩසටහන් කේතය ඔබ බොත්තමක් එබූ විට 0 සිට 9 දක්වා ගණන් කිරීම ආරම්භ කිරීමට ඉඩ සලසයි.

සෙවන්-කොටස් දර්ශකය - පොදු කැතෝඩයක් සහිත LED 8 ක එකතුවකි (අන්තිම එක ලක්ෂ්‍යය සඳහා වගකිව යුතු ය) වන අතර එය අපේක්ෂිත අනුපිළිවෙලින් සක්‍රිය කළ හැකි අතර එමඟින් සංඛ්‍යා නිර්මාණය වේ. මෙම පරිපථයේ, පහත රූපය බලන්න, pins 3 සහ 8 කැතෝඩයට වෙන් කර ඇති බව සැලකිල්ලට ගත යුතුය.


දකුණු පසින් Arduino පින් සහ LED දර්ශක කටු අතර ලිපි හුවමාරු වගුවක් ඇත.

මෙම ව්යාපෘතිය සඳහා කේතය:

බයිට් අංක = (
B11111100, B01100000, B11011010, B11110010, B01100110,
B10110110, B10111110, B11100000, B11111110, B11100110
};
හිස් සැකසුම () (
සඳහා (int i = 2; i pinMode(i, OUTPUT);
}
pinMode(9, INPUT);
}
int කවුන්ටරය = 0;
bool go_by_switch = true;
int last_input_value = අඩු;
void loop() (
නම්(go_by_switch) (
int switch_input_value = ඩිජිටල් කියවීම (9);
if(last_input_value == අඩු && switch_input_value == ඉහළ) (

}
last_input_value = switch_input_value;
) වෙනත් (
ප්රමාදය (500);
කවුන්ටරය = (කවුන්ටරය + 1) % 10;
}
ලියන්න අංකය (කවුන්ටරය);
}

අවලංගු ලිවීමේ අංකය(ඉන්ට් අංකය) (
නම් (අංක 9) (
ආපසු;
}
බයිට් මාස්ක් = අංක;
බයිට් ධාරාවPinMask = B10000000;
for(int i = 2; i if(mask & currentPinMask) digitalWrite(i,HIGH);
වෙනත් ඩිජිටල් රයිට් (i,LOW);
currentPinMask = currentPinMask >> 1;
}
}

ඕනෑම උපාංගයක පාහේ PIN පින්වලට සම්බන්ධ කළ හැකි අතිරේක මොඩියුල ආධාරයෙන් ඔබට Arduino පුවරු වල විභවය සැලකිය යුතු ලෙස පුළුල් කළ හැකිය. වඩාත් ජනප්‍රිය හා සිත්ගන්නාසුළු පුළුල් කිරීමේ මොඩියුල හෝ පලිහ ලෙසද හැඳින්වෙන ඒවා සලකා බලන්න.

Arduino සියලුම නිර්මාණ ලෝලීන් අතර ඉතා ජනප්‍රියයි. ඒ ගැන අහලා නැති අයවත් හඳුන්වා දිය යුතුයි.

Arduino යනු කුමක්ද?

Arduino කෙටියෙන් විස්තර කරන්නේ කෙසේද? හොඳම වචන වනුයේ: Arduino යනු විවිධ ඉලෙක්ට්‍රොනික උපාංග නිර්මාණය කිරීමට භාවිතා කළ හැකි මෙවලමකි. සාරාංශයක් ලෙස, මෙය සැබෑ පොදු කාර්ය දෘඪාංග පරිගණක වේදිකාවකි. එය ගොඩනැගීමට භාවිතා කළ හැකිය සරල පරිපථ, සහ තරමක් සංකීර්ණ ව්යාපෘති ක්රියාත්මක කිරීම සඳහා.

නිර්මාණකරු එහි දෘඩාංග මත පදනම් වේ, එය ආදාන-ප්‍රතිදාන පුවරුවකි. පුවරුව ක්‍රමලේඛනය කිරීමට, C/C++ මත පදනම් වූ භාෂා භාවිතා වේ. ඒවා පිළිවෙලින්, සැකසුම් / රැහැන් ලෙස හැඳින්වේ. C කාණ්ඩයෙන් ඔවුන්ට අතිශය සරල බවක් උරුම වූ අතර, ඕනෑම පුද්ගලයෙකුට ඉතා ඉක්මනින් ප්‍රගුණ කළ හැකි වන අතර, දැනුම ප්‍රායෝගිකව යෙදීම තරමක් වැදගත් ගැටළුවක් නොවේ. එවිට ඔබට කාර්යයේ පහසුව තේරුම් ගැනීමට, Arduino ආරම්භක විශාරද-නිර්මාණකරුවන් සඳහා බව බොහෝ විට කියනු ලැබේ. දරුවන්ට පවා Arduino පුවරු තේරුම් ගත හැකිය.

ඔබට එය එකතු කළ හැක්කේ කුමක්ද?

Arduino හි යෙදුම් බෙහෙවින් විවිධ වේ; එය ලිපියේ අවසානයේ නිර්දේශ කරනු ලබන සරලම උදාහරණ සඳහා සහ හැසිරවීම්, රොබෝවරු හෝ නිෂ්පාදන යන්ත්‍ර ඇතුළු තරමක් සංකීර්ණ යාන්ත්‍රණ සඳහා භාවිතා කළ හැකිය. සමහර ශිල්පීන් ටැබ්ලට්, දුරකථන, නිරීක්ෂණ සහ නිවාස ආරක්ෂණ පද්ධති සෑදීම සඳහා එවැනි පද්ධති භාවිතා කිරීමට සමත් වේ. ස්මාර්ට් හවුස්"හෝ පරිගණක පමණි. කිසිදු පළපුරුද්දක් නොමැති අයට පවා ආරම්භ කළ හැකි ආරම්භකයින් සඳහා වන Arduino ව්‍යාපෘති ලිපියේ අවසානයේ ඇත. ප්‍රාථමික අථත්‍ය යථාර්ත පද්ධති නිර්මාණය කිරීමට පවා ඒවා භාවිතා කළ හැක. Arduino ක්‍රමලේඛනය සපයන තරමක් බහුකාර්ය දෘඩාංග සහ හැකියාවන්ට ස්තූතිවන්ත වේ.

මට සංරචක මිලදී ගත හැක්කේ කොතැනින්ද?

ඉතාලියේ සාදන ලද සංරචක මුල් ලෙස සැලකේ. නමුත් එවැනි කට්ටලවල මිල අඩු නොවේ. එමනිසා, සමාගම් ගණනාවක් හෝ පුද්ගලයන් පවා Arduino-අනුකූල උපාංග සහ උපාංගවල ශිල්පීය ක්‍රම සාදයි, ඒවා විහිළුවට නිෂ්පාදන ක්ලෝන ලෙස හැඳින්වේ. එවැනි ක්ලෝන මිලදී ගැනීමේදී, ඔවුන් වැඩ කරන බව නිශ්චිතවම පැවසිය නොහැක, නමුත් මුදල් ඉතිරි කිරීමට ඇති ආශාව එහි බලපෑමට ලක් වේ.

සංරචක කට්ටලවල කොටසක් ලෙස හෝ වෙන වෙනම මිලදී ගත හැකිය. මෝටර් රථ, විවිධ වර්ගයේ පාලන සහිත හෙලිකොප්ටර් හෝ නැව් එකලස් කිරීම සඳහා පෙර සූදානම් කළ කට්ටල පවා තිබේ. චීනයේ නිෂ්පාදිත ඉහත පින්තූරයේ ඇති කට්ටලයක මිල ඩොලර් 49 කි.

උපකරණ ගැන වැඩි විස්තර

Arduino පුවරුව සරලයි AVR ක්ෂුද්‍ර පාලකය, එය ඇරඹුම් කාරකයක් සමඟ දැල්වී ඇති අතර අවශ්‍ය අවම USB-UART පෝට් එක ඇත. වෙනත් වැදගත් සංරචක ඇත, නමුත් ලිපියේ විෂය පථය තුළ මෙම සංරචක දෙක කෙරෙහි පමණක් අවධානය යොමු කිරීම වඩා හොඳය.

පළමුව, ක්ෂුද්ර පාලකය ගැන, සංවර්ධිත වැඩසටහන පිහිටා ඇති තනි පරිපථයක් මත ගොඩනගා ඇති යාන්ත්රණයක්. බොත්තම් එබීමෙන් වැඩසටහනට බලපෑම් කළ හැකිය, නිර්මාණයේ සංරචක වලින් සංඥා ලබා ගැනීම (ප්‍රතිරෝධක, ට්‍රාන්සිස්ටර, සංවේදක, ආදිය) යනාදිය, සංවේදක ඒවායේ අරමුණට බෙහෙවින් වෙනස් විය හැකිය: ආලෝකය, ත්වරණය, උෂ්ණත්වය, දුර, පීඩනය, බාධක ආදිය. සරල කොටස් LED සහ ට්වීටර් සිට ග්‍රැෆික් සංදර්ශක වැනි සංකීර්ණ උපාංග දක්වා සංදර්ශක උපාංග ලෙස භාවිතා කළ හැක. සලකා බලනු ලබන ගුණාත්මක භාවය වන්නේ මෝටර්, කපාට, රිලේ, සර්වෝ, විද්‍යුත් චුම්භක සහ තවත් බොහෝ ඒවා වන අතර ඒවා ලැයිස්තුගත කිරීමට ඉතා දිගු කාලයක් ගතවනු ඇත. සම්බන්ධක වයර් භාවිතා කරමින් MK මෙම ලැයිස්තු සමහරක් සමඟ කෙලින්ම ක්‍රියා කරයි. සමහර යාන්ත්රණ සඳහා ඇඩප්ටර අවශ්ය වේ. නමුත් ඔබ සැලසුම් කිරීමට පටන් ගත් පසු, ඔබට ඔබව ඉරා දැමීම දුෂ්කර වනු ඇත. දැන් අපි Arduino programming ගැන කතා කරමු.

පුවරු ක්‍රමලේඛන ක්‍රියාවලිය ගැන තව දැනගන්න

ක්ෂුද්‍ර පාලකයක් මත ක්‍රියාත්මක වීමට දැනටමත් සූදානම්ව ඇති වැඩසටහනක් ස්ථිරාංග ලෙස හැඳින්වේ. එක් ව්‍යාපෘතියක් හෝ Arduino ව්‍යාපෘති තිබිය හැක, එබැවින් සෙවීමේ ක්‍රියාවලිය වේගවත් කිරීම සඳහා එක් එක් ස්ථිරාංග වෙනම ෆෝල්ඩරයක ගබඩා කිරීම සුදුසුය. අවශ්ය ගොනු. එය විශේෂිත උපාංග භාවිතයෙන් MK ස්ඵටිකයට දැල්වෙයි: වැඩසටහන්කරුවන්. තවද මෙහිදී Arduino ට එක් වාසියක් ඇත - එයට ක්‍රමලේඛකයෙකු අවශ්‍ය නොවේ. ආරම්භකයින් සඳහා Arduino ක්‍රමලේඛනය කිරීම අපහසු නොවන පරිදි සෑම දෙයක්ම සිදු කෙරේ. ලිඛිත කේතය USB කේබලයක් හරහා MK වෙත පැටවිය හැක. මෙම වාසිය ලබා ගන්නේ සමහර පෙර-සාදන ලද ක්‍රමලේඛකයෙකු විසින් නොව, විශේෂ ස්ථිරාංග - ඇරඹුම් කාරකයකි. Bootloader යනු සම්බන්ධතාවය අවසන් වූ වහාම ආරම්භ වන විශේෂ වැඩසටහනක් වන අතර කිසියම් විධානයක් තිබේද, ක්‍රිස්ටල් ෆ්ලෑෂ් කළ යුතුද, Arduino ව්‍යාපෘති තිබේද නැද්ද යන්න සවන් දෙයි. Bootloader භාවිතා කිරීම සඳහා ඉතා ආකර්ෂණීය වාසි කිහිපයක් තිබේ:

  1. අතිරේක කාල පිරිවැයක් අවශ්ය නොවන එක් සන්නිවේදන නාලිකාවක් පමණක් භාවිතා කිරීම. එබැවින්, Arduino ව්‍යාපෘති ඔබට විවිධ වයර් සම්බන්ධ කිරීමට අවශ්‍ය නොවන අතර ඒවා භාවිතා කිරීමේදී ව්‍යාකූලත්වයක් ඇති වේ. සාර්ථක ක්‍රියාකාරිත්වය සඳහා එක් USB කේබලයක් ප්‍රමාණවත් වේ.
  2. වංක අත්වලින් ආරක්ෂාව. සෘජු ස්ථිරාංග භාවිතයෙන් ක්ෂුද්‍ර පාලකය ගඩොල් තත්වයකට ගෙන ඒම තරමක් පහසුය; ඔබට වෙහෙස මහන්සි වී වැඩ කිරීමට අවශ්‍ය නැත. Bootloader සමඟ වැඩ කරන විට, ඔබට අනතුරුදායක විය හැකි සැකසුම් වෙත ප්රවේශ වීමට නොහැකි වනු ඇත (සංවර්ධන වැඩසටහනක ආධාරයෙන්, ඇත්ත වශයෙන්ම, එසේ නොමැති නම් සියල්ල බිඳ දැමිය හැක). එබැවින්, ආරම්භකයින් සඳහා Arduino අදහස් කරන්නේ එය තේරුම් ගත හැකි සහ පහසු වන දෘෂ්ටි කෝණයෙන් පමණක් නොව, ඔවුන් සමඟ වැඩ කරන පුද්ගලයාගේ අද්දැකීම් අඩුකම හා සම්බන්ධ අනවශ්‍ය මූල්‍ය වියදම් වළක්වා ගැනීමට ද එය ඔබට ඉඩ සලසයි.

ආරම්භ කිරීමට ව්යාපෘති

ඔබ කට්ටලයක්, පෑස්සුම් යකඩ, රෝසින් සහ පෑස්සුම් අත්පත් කරගත් විට, ඔබ වහාම ඉතා සංකීර්ණ ව්යුහයන් මූර්ති නොකළ යුතුය. ඇත්ත වශයෙන්ම, ඔබට ඒවා සෑදිය හැකිය, නමුත් ආරම්භකයින් සඳහා Arduino හි සාර්ථකත්වයේ අවස්ථාව සංකීර්ණ ව්‍යාපෘති සමඟ තරමක් අඩු ය. ඔබේ කුසලතා පුහුණු කිරීමට සහ වැඩිදියුණු කිරීමට, ඔබට Arduino හි අන්තර්ක්‍රියා සහ ක්‍රියාකාරිත්වය අවබෝධ කර ගැනීමට උපකාර වන සරල අදහස් කිහිපයක් ක්‍රියාත්මක කිරීමට උත්සාහ කළ හැකිය. ආරම්භකයින් සඳහා Arduino සමඟ වැඩ කිරීමේ පළමු පියවර ලෙස, සලකා බැලීමට අපට ඔබට උපදෙස් දිය හැකිය:

  1. Arduino වලට පින්සිදු වෙන්න වැඩ කරන එකක් හදන්න.
  2. Arduino වෙත වෙනම බොත්තමක් සම්බන්ධ කිරීම. මෙම අවස්ථාවෙහිදී, බොත්තමට අංක 1 ස්ථානයේ සිට LED වල දීප්තිය සකස් කළ හැකි වන පරිදි ඔබට එය සෑදිය හැකිය.
  3. Potentiometer සම්බන්ධතාවය.
  4. සර්වෝ ඩ්‍රයිව් පාලනය.
  5. වර්ණ තුනකින් යුත් LED සමඟ සම්බන්ධ කිරීම සහ වැඩ කිරීම.
  6. Piezoelectric මූලද්රව්යය සම්බන්ධ කිරීම.
  7. ඡායාරූප ප්රතිරෝධකයක් සම්බන්ධ කිරීම.
  8. එහි ක්රියාකාරිත්වය පිළිබඳ චලන සංවේදකය සහ සංඥා සම්බන්ධ කිරීම.
  9. ආර්ද්රතාවය හෝ උෂ්ණත්ව සංවේදකය සම්බන්ධ කිරීම.

අනාගතය සඳහා ව්යාපෘති

තනි LED සම්බන්ධ කිරීම සඳහා ඔබ Arduino ගැන උනන්දු විය නොහැක. බොහෝ දුරට ඉඩ ඇති පරිදි, ඔබේම මෝටර් රථයක් හෝ පියාසර කරකැවිල්ලක් නිර්මාණය කිරීමේ අවස්ථාවෙන් ඔබ ආකර්ෂණය වේ. මෙම ව්‍යාපෘති ක්‍රියාවට නැංවීම දුෂ්කර වන අතර බොහෝ කාලයක් සහ නොපසුබට උත්සාහයක් අවශ්‍ය වනු ඇත, නමුත් අවසන් වූ පසු, ඔබට අවශ්‍ය දේ ලැබෙනු ඇත: ආරම්භකයින් සඳහා වටිනා Arduino නිර්මාණ අත්දැකීම.

බොහෝ ඉලෙක්ට්‍රොනික ඉංජිනේරුවන් ඔවුන්ගේ ව්‍යාපෘති ගොඩනගා ගැනීමට කැමැත්තක් දක්වන්නේ ක්ෂුද්‍ර පාලකයක් මත පදනම්ව, අප දැනටමත් කිහිප වතාවක්ම ලියා ඇත. පහත ලිපියෙන් අපි ආරම්භකයින් සඳහා ඉලෙක්ට්‍රොනික උපාංගවල සරල මෝස්තර සහ සඳහන් කළ ක්ෂුද්‍ර පාලකය මත පදනම් වූ වඩාත් අසාමාන්‍ය ව්‍යාපෘති දෙස බලමු.

පළමුව, බොහෝ ව්‍යාපෘති ගොඩනගා ඇති Arduino Uno මයික්‍රොප්‍රොසෙසරයේ ක්‍රියාකාරිත්වය පිළිබඳව දැන හඳුනා ගැනීම වටී, එසේම මෙම උපාංගය තෝරා ගැනීමට හේතු සලකා බලන්න. නව නිපැයුම්කරුවෙකු Arduino uno තෝරාගත යුතු සාධක පහත දැක්වේ:

  1. අතුරු මුහුණත භාවිතා කිරීමට තරමක් පහසු. ස්පර්ශය කොතැනද සහ සම්බන්ධක වයර් සවි කළ යුත්තේ කොතැනද යන්න පැහැදිලිය.
  2. පුවරුවේ ඇති චිපය USB පෝට් එකට කෙලින්ම සම්බන්ධ වේ. මෙම සැකසුමේ වාසිය නම් අනුක්‍රමික සන්නිවේදනය යනු කාලය පිළිබඳ පරීක්ෂණයට ලක්ව ඇති ඉතා සරල ප්‍රොටෝකෝලයක් වන අතර USB නවීන පරිගණක වෙත සම්බන්ධ වීම ඉතා පහසු කරයි.
  3. ATmega328 චිපය වන ක්ෂුද්‍ර පාලකයේ මධ්‍යම කොටස සොයා ගැනීම පහසුය. එහි ටයිමර්, බාහිර සහ අභ්‍යන්තර බාධා කිරීම්, PWM පින් සහ බහු නින්ද මාදිලි වැනි දෘඩාංග විශේෂාංග ඇත.
  4. උපාංගය විවෘත මූලාශ්‍රයක් වන බැවින් ගුවන්විදුලි ආධුනිකයන් විශාල සංඛ්‍යාවකට දෝෂ සහ ගැටළු නිරාකරණය කළ හැකිය මෘදුකාංග. මෙය ව්‍යාපෘති දෝෂහරණය කිරීම පහසු කරයි.
  5. ඔරලෝසු වේගය 16 MHz වන අතර එය බොහෝ යෙදුම් සඳහා ප්රමාණවත් තරම් වේගවත් වන අතර ක්ෂුද්ර පාලකය වේගවත් නොකරයි.
  6. එය තුළ ඇති බලය පාලනය කිරීම ඉතා පහසු වන අතර එහි ඇති වෝල්ටීයතා නියාමනය කිරීමේ අංගයක් ඇත. බාහිර බල ප්‍රභවයක් නොමැතිව මයික්‍රොකොන්ට්‍රෝලර් USB පෝට් එකෙන් විසන්ධි කළ හැක. ඔබට 12 V දක්වා බාහිර බලශක්ති ප්රභවයක් සම්බන්ධ කළ හැකිය. එපමණක් නොව, මයික්රොප්රොසෙසරය විසින්ම අවශ්ය වෝල්ටීයතාවය තීරණය කරනු ඇත.
  7. ඩිජිටල් සම්බන්ධතා 13 ක් සහ ඇනලොග් සම්බන්ධතා 6 ක් තිබීම. තෙවන පාර්ශවීය මාධ්‍යයකින් Arduino uno පුවරුවට උපකරණ සම්බන්ධ කිරීමට මෙම පින් ඔබට ඉඩ සලසයි. සැබෑ ලෝකයේ Arduino uno හි පරිගණක බලය දිගු කිරීමට යතුරක් ලෙස පින් භාවිතා කරයි. මෙම එක් එක් අල්ෙපෙනති වලට අනුරූප වන සම්බන්ධක වෙත ඔබගේ ඉලෙක්ට්‍රොනික උපාංග සහ සංවේදක සරලව සම්බන්ධ කරන්න.
  8. අනුක්‍රමික උපාංගයක් ලෙස ආර්ඩුයිනෝ සමඟ සෘජුවම USB පෝට් සහ අතුරු මුහුණත මඟ හැරීමට ICSP ශීර්ෂයක් තිබේ. චිපය හානි වී ඇත්නම් සහ ඔබේ පරිගණකයේ තවදුරටත් භාවිතා කළ නොහැකි නම් එය නැවත සැකසීමට මෙම වරාය අවශ්‍ය වේ.
  9. සංවර්ධක කේතය ගබඩා කිරීම සඳහා 32 KB ෆ්ලෑෂ් මතකයක් තිබීම.
  10. කේතය ඉක්මනින් දෝෂහරණය කිරීමට සහ ක්‍රියාවලිය සරල කිරීමට පුවරුවේ ඇති LED ඩිජිටල් පින් 13 වෙත සම්බන්ධ කරයි.
  11. අවසාන වශයෙන්, එය චිපයේ වැඩසටහන නැවත සැකසීමට බොත්තමක් ඇත.

Arduino 2005 දී ඉතාලි ඉංජිනේරුවන් දෙදෙනෙකු වන David Cuartilles සහ Massimo Banzi විසින් නිර්මාණය කරන ලදී, සිසුන්ට Arduino uno microcontroller ක්‍රමලේඛනය කරන්නේ කෙසේද යන්න ඉගෙන ගැනීමට සහ ඔවුන්ගේ ඉලෙක්ට්‍රොනික කුසලතා වැඩිදියුණු කර ඒවා සැබෑ ලෝකයේ භාවිතා කිරීමට ඉඩ සලසයි.

Arduino uno හට වටහා ගත හැක පරිසරය, විවිධ සංවේදක වලින් ආදානය ලබා ගැනීම සහ පරිසරයට සහ අනෙකුත් ක්‍රියාකරුවන්ට බලපෑම් කිරීමට හැකි වේ. ක්ෂුද්‍ර පාලකය ක්‍රමලේඛනය කර ඇත්තේ Arduino ක්‍රමලේඛන භාෂාව (රැහැන් මත පදනම් වූ) සහ Arduino සංවර්ධන පරිසරය (සැකසීම මත පදනම් වූ) භාවිතා කරමිනි.

දැන් අපි කෙලින්ම Arduino uno හි ව්‍යාපෘති වෙත යමු.

ආරම්භකයින් සඳහා පහසුම ව්යාපෘතිය

මෙම ව්‍යාපාරයේ ආරම්භකයින්ට පවා කළ හැකි සරල හා රසවත් Arduino uno ව්‍යාපෘති කිහිපයක් බලමු - අනතුරු ඇඟවීමේ පද්ධතියක්.

අපි දැනටමත් මෙම ව්යාපෘතිය පිළිබඳ පාඩමක් කර ඇත -. කරන්නේ කුමක්ද සහ කෙසේද යන්න ගැන කෙටියෙන්.

මෙම ව්‍යාපෘතිය චලනයන් සහ ඉහළ තාර විමෝචන හඳුනා ගැනීමට චලන සංවේදකයක් සහ දැල්වෙන LED විදුලි පහන් වලින් සමන්විත දෘශ්‍ය සංදර්ශකයක් භාවිතා කරයි. මෙම ව්‍යාපෘතිය විසින්ම ඔබට Arduino Beginner Kit හි ඇතුළත් වන add-ons කිහිපයක් මෙන්ම NewPing භාවිතා කිරීමේ සූක්ෂ්මතා ද හඳුන්වා දෙනු ඇත.

එය ඔබගේ Sonar දුරස්ථ සංවේදකය පාලනය කිරීමට සහ පරීක්ෂා කිරීමට ඔබට උපකාර කරන Arduino පුස්තකාලයකි. එය හරියටම සම්පූර්ණ නිවාස ආරක්ෂාවක් නොවන අතර, එය නිදන කාමර සහ නාන කාමර වැනි කුඩා අවකාශයන් ආරක්ෂා කිරීම සඳහා කදිම විසඳුමක් සපයයි.

මෙම ව්යාපෘතිය සඳහා ඔබ අවශ්ය වනු ඇත:

  1. අතිධ්වනික පිං සංවේදකය - HC-SR04.
  2. Piezo buzzer.
  3. LED තීරු ආලෝකය.
  4. RGB තීරුව භාවිතයෙන් වාහන ආලෝකකරණය. මෙම Arduino ව්‍යාපෘති නිබන්ධනයේදී, Arduino uno පුවරුවක් භාවිතයෙන් RGB මෝටර් රථ අභ්‍යන්තර ආලෝකකරණය කරන්නේ කෙසේදැයි ඔබ ඉගෙන ගනු ඇත.

බොහෝ මෝටර් රථ ලෝලීන් අමතර විදුලි බුබුළු එක් කිරීමට හෝ LED වලට අභ්‍යන්තර බල්බ වැඩි දියුණු කිරීමට කැමතියි, නමුත් Arduino වේදිකාව සමඟ ඔබට බලවත් LED සහ ආලෝක තීරු ධාවනය කිරීමෙන් වැඩි පාලනයක් සහ විස්තරයක් භුක්ති විඳිය හැකිය.

භාවිතයෙන් ඔබට ආලෝකයේ වර්ණය වෙනස් කළ හැකිය Android උපාංග(දුරකථනය හෝ ටැබ්ලටය) යෙදුම භාවිතා කරමින් " බ්ලූටූත් RGB පාලකය" (Dev Next Prototypes), ඔබට නොමිලේ බාගත හැක Android Playගබඩා කරන්න. ඔබට EasyEDA ඉලෙක්ට්‍රොනික පරිපථයක් සොයා ගැනීමට හෝ PCB මත ඔබේම Arduino පාදක පරිපථයක් ඇණවුම් කළ හැකිය.

Amazing Arduino Uno Projects

Arduino uno මත ඉලෙක්ට්‍රොනික ව්‍යාපෘති සංවර්ධනය කිරීමේ ක්ෂේත්‍රයේ බොහෝ වෘත්තිකයන් අත්හදා බැලීමට කැමතියි. එහි ප්‍රති result ලයක් වශයෙන්, සිත්ගන්නාසුළු හා විස්මිත උපාංග දිස්වන අතර ඒවා පහත සාකච්ඡා කෙරේ:

  1. ඔබේ ස්පීකර් පද්ධතියට IR දුරස්ථ පාලකයක් එක් කිරීම. පාරිභෝගික ඉලෙක්ට්‍රොනික උපකරණවල, දුරස්ථ පාලකය දුරස්ථ පාලකයසංරචකයකි ඉලෙක්ට්රොනික උපාංගයකෙටි දුර සිට රැහැන් රහිතව උපාංගය පාලනය කිරීමට භාවිතා කරන TV, DVD ධාවකයක් හෝ වෙනත් ගෘහ උපකරණ වැනි. දුරස්ථ පාලකය, පළමුවෙන්ම, මිනිසුන්ට පහසු වන අතර, සෘජුවම පාලනය කිරීම සඳහා සුදුසු නොවන උපාංග සමඟ වැඩ කිරීමට ඔබට ඉඩ සලසයි.
  2. අනතුරු ඇඟවීම. නිවැරදි කාලය ලබා ගැනීම සඳහා තත්‍ය කාලීන ඔරලෝසුව භාවිතා වේ. මෙහිදී මෙම පද්ධතිය LCD සංදර්ශකයේ දිනය සහ වේලාව පෙන්වන අතර අපට පාලක බොත්තම් භාවිතයෙන් අනතුරු ඇඟවීම සැකසිය හැක. අනතුරු ඇඟවීමේ වේලාව පැමිණි විගස, පද්ධතිය ඇසෙන සංඥාවක් ශබ්ද කරයි.
  3. ස්ටෙපර් මෝටරය. යන්නෙන් අදහස් කරන්නේ එක් පියවරක් බැගින් හැරවිය හැකි නිවැරදි මෝටරයක් ​​යන්නයි. එවැනි උපකරණයක් රොබෝ තාක්ෂණය, ත්‍රිමාණ මුද්‍රණ යන්ත්‍ර සහ CNC යන්ත්‍ර භාවිතයෙන් සාදා ඇත.

    මෙම ව්‍යාපෘතිය සඳහා, ඔබට සොයා ගත හැකි ලාභම ස්ටෙපර් මෝටරය ලබා ගන්න. එන්ජින් මාර්ගගතව ඇත. මෙම ව්‍යාපෘතිය වෙනත් බොහෝ සමාන ව්‍යාපෘති සඳහා සුදුසු 28byj-48 pedometer භාවිතා කරයි. Arduino පුවරුවට සම්බන්ධ වීම පහසුය.
    - ඔබට ගැහැණු සිට පිරිමි සම්බන්ධක සහිත කේබල් 6 ක් අවශ්ය වනු ඇත. ඔබට අවශ්‍ය වන්නේ මෝටරය පුවරුවට සම්බන්ධ කිරීමයි, එපමණයි! භ්‍රමණය වන හිසට කුඩා ටේප් කැබැල්ලක් එකතු කිරීමෙන් එය භ්‍රමණය වන චලිතයක් ඇති කරන බව බැලීමට ඔබට හැකිය.

  4. අතිධ්වනික දුර සංවේදකය. මෙම ව්‍යාපෘතිය ජනප්‍රිය ඒවා භාවිතා කරයි, එවිට උපාංගයට බාධා වළක්වා ගැනීමට සහ විවිධ දිශාවලට ගමන් කළ හැකිය.

ඔබ ඔබේ කාර්යය අවසන් කළ විට, ඔබේ ක්රියාවන්ගේ ප්රතිඵලය තිරය මත දිස්වනු ඇත. දේවල් සරලව සහ පැහැදිලි ලෙස තබා ගැනීම සඳහා, I2C පරිවර්තකයක් සහිත LCD එකක් භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ, එබැවින් ඔබට Arduino පුවරුවට සම්බන්ධ වීමට අවශ්‍ය වන්නේ කේබල් 4 ක් පමණි.

Braincourseතරුණ ක්‍රමලේඛන සටන්කාමියෙක් Arduinoහෝ මෙම වේදිකාව සමඟ දැන හඳුනා ගැනීම ආරම්භ කළ යුතු ස්ථානය.

“මහරජතුමනි, කොතනින් පටන් ගන්නද? - ඔහු ඇසුවා. "මුල සිට ආරම්භ කරන්න," රජු වැදගත් ලෙස පිළිතුරු දුන්නේය ..." (සී) ලුවිස් කැරොල් ඇලිස් ඉන් වොන්ඩර්ලන්ඩ්

පියවර 1: අපි මුල සිටම පටන් ගනිමු, නැතහොත් Arduino නොමිලේ නම් හොඳයි

පෙළපොත් ටොන් ගණනක් කියවා තිබීම Arduino, එදිනෙදා ජීවිතයේදී මේ දේ සඳහා ප්‍රයෝජනවත් යෙදුම් රාශියක් ඉදිරිපත් කර ඇති අතර, මින්මැදුරක මාළු පෝෂණය කිරීම ස්වයංක්‍රීය කිරීමේ සිට පුද්ගලික තණකොළ සඳහා රොබෝ වපුරන්නෙකු දක්වා, අපි එය තේරුම් නොගනිමු. Arduinoඅපිට යන්න බැහැ!

පාලකයක් මිලදී ගැනීමෙන් පසු, අපට එක් පුවරුවක් ඇති නමුත් බොහෝ අදහස් ඇති බව අපි තේරුම් ගනිමු. කුමක් කරන්න ද? මොළකාරනිවැරදි තීරණයකට අපව යොමු කරයි.

Arduino ක්ලෝන කරන්න ඕන ඔබේම දෑතින්!

පියවර 2: ඔබට අවශ්ය සියල්ල එකතු කිරීම

ක්රියාවලිය වේගවත් කිරීම සඳහා අපි භාවිතා කරමු සංවර්ධන මණ්ඩලය. පාලකයේ තාක්ෂණික පරාමිතීන්ගෙන් දන්නා පරිදි ATmega 328 IC, එය අවම වින්‍යාසයකින් ධාවනය කිරීමට අපට අවශ්‍ය වන්නේ:

- පාලකය Arduino Dumilanove(ක්‍රමලේඛකයෙකු ලෙස භාවිතා කරනු ඇත);
- ක්ෂුද්ර පරිපථය ATmega 328 IC ;
- 16 MHz ක්වාර්ට්ස් අනුනාදකය;
- ප්රතිරෝධක 100 Ohm 3 pcs.;
- ධාරිත්රක 22pF 2 pcs.;
- රතු, කොළ සහ කහ දිලිසෙන වර්ණ සහිත LED 3 pcs;
- 5 Volt වෝල්ටීයතා ස්ථායීකාරකය, උදාහරණයක් ලෙස 7805;
- සම්බන්ධතාවය සඳහා සම්බන්ධකයක් සහිත ඕනෑම 9 බැටරියක්;
- USB කේබලය;
- ස්ථාපනය කර ඇති මෘදුකාංග පැකේජයක් සහිත පරිගණකයක් හෝ ලැප්ටොප් පරිගණකයක් Arduino IDE;
- පාන් පුවරුව සහ වයර්.

පියවර 3: පිරිසැලසුම ආරම්භ කරන්න



අපි පාලක චිපය පාන් පුවරුව මත තබමු.

පියවර 4: වෝල්ටීයතා ස්ථායීකාරක සහ බල පරිපථ ස්ථාපනය කරන්න

අපි පුවරුවේ L7805 වෝල්ටීයතා ස්ථායීකාරකය ස්ථාපනය කරමු. ක්ෂුද්‍ර පරිපථ කටුවල අරමුණ 1-ආදාන (7-20 Volts), 2-case, 3-output (Volts 5) වේ. සවිකරන වයර් භාවිතා කරමින්, ඡායාරූපවල පෙන්වා ඇති පරිදි, අපි ස්ථායීකාරකය බලශක්ති ප්රභවයට සහ පාලකයට සම්බන්ධ කරමු.

පියවර 5: පාලකයට බලය සම්බන්ධ කරන්න

පාලක පයින් අංකනයට අනුකූලව, අපි වෝල්ටීයතා ස්ථායීකාරකයේ සහ පොදු වයර්වල ප්රතිදානය සඳහා සවිකරන වයර් සමඟ සම්බන්ධ කරමු.

ඉඟිය: ස්ථාපන වයර්වල විවිධ පරිවාරක වර්ණ ඇත, එක් එක් පරිපථය සඳහා එකම වර්ණ වයර් භාවිතා කිරීමට උත්සාහ කරන්න.

පියවර 6: ක්වාර්ට්ස් අනුනාදකය සම්බන්ධ කරන්න



අපි පුවරුවේ දෝලන පරිපථයේ අනුනාදකයක් සහ ධාරිත්‍රකයක් තබමු.

ස්ථාපන ක්රියා පටිපාටිය පහත පරිදි වේ:

- අපි 22pF ධාරිත්‍රකයක් බිම සහ පාලකයේ 9 වන පාදය අතර තබමු;
- අපි බිම සහ පාලකයේ 10 වන පාදය අතර 22pF ධාරිත්රකයක් තබමු;
- අපි පාලකයේ කකුල් 9 සහ 10 අතර අනුනාදකය සක්රිය කරමු;
- අපි පාලකයේ 1 කකුල සහ +5V අතර 10 kOm ප්‍රතිරෝධයක් සම්බන්ධ කරමු (අපි "නැවත පිහිටුවන්න" සංඥාව මඟහරිමු).

පියවර 7: පාලක තත්ව දර්ශක එක් කරන්න

අපි LED 100 Ohm ප්‍රතිරෝධක සමඟ ශ්‍රේණිගතව සම්බන්ධ කරමු, භූමිය සහ අපගේ ක්‍රමලේඛකයා අතර.

පියවර 7: බ්‍රෙඩ්බෝඩ් එක ක්‍රමලේඛක පුවරුවට සම්බන්ධ කරන්න


එකලස් කරන ලද පාන් පුවරුව පුවරුවට සම්බන්ධ කිරීම Arduino Dumilanoveපහත ආකාරයෙන්:

− කහ LED වල ප්‍රතිදානය සම්බන්ධ කරන්න 9 ක්‍රමලේඛක සම්බන්ධකයේ ප්‍රතිදානය, එහි ස්පන්දනය ක්‍රමලේඛකයා ක්‍රියා කරන බව අපට පෙන්වයි;
− රතු LED ප්‍රතිදානය සම්බන්ධ කරන්න 8 ක්රමලේඛක සම්බන්ධකය මත ප්රතිදානය, එය හැකි දෝෂ සංඥා කරයි;
− හරිත LED හි ප්‍රතිදානය සම්බන්ධ කරන්න 7 ක්‍රමලේඛක සම්බන්ධකයේ පින්, එහි දීප්තිය ක්‍රමලේඛකයා සහ ක්ෂුද්‍ර පාලකය අතර දත්ත හුවමාරුව පෙන්නුම් කරයි.

රූපයේ දැක්වෙන පරිදි ඉතිරි වයර් සමඟ අපි අපගේ පුවරු එකිනෙකට සම්බන්ධ කරමු, විදුලි රැහැන් සම්බන්ධ කිරීමට අමතක නොකරමු + 5 වීසහ රාමුවඔවුන් අතර.

පියවර 8: Arduino Duemilanove පුවරුව ක්‍රමලේඛකයෙකු බවට පරිවර්තනය කිරීම

ක්ෂුද්ර පාලකය තුළට පැටවීම සඳහා ATmega 328ආ ඇත්ත ද bootloader එක අපේ බවට හැරවිය යුතුයි Arduino Dumilanoveක්‍රමලේඛකයා තුළට. භාවිතයෙන් අපි අපගේ එකලස් කිරීම පරිගණකයට සම්බන්ධ කරමු USBකේබල් AndurinoIDE ක්‍රමලේඛන පරිසරය විවෘත කරන්න, එහි ඇති ස්කීච් (වැඩසටහන) තෝරන්න AndurinoISPසහ එය Arduino Duemilanove වෙත උඩුගත කරන්න. කහ LED එක දැල්වීමෙන් අපගේ ක්‍රමලේඛකයාට කටු සටහන පටවා ඇති බව අපට ඒත්තු ගැන්වේ.

පියවර 9: ඇරඹුම් කාරකය පූරණය කරන්න

AndurinoISP හි (මෙනු අයිතමය « ටීools") අපට අවශ්‍ය පාලක වර්ගය තෝරන්න ( ATmega 328 IC). අපි bootloader එක load කරන්න විධානය දෙනවා "බූට්ලෝඩරය පුළුස්සා දමන්න". ඇරඹුම් කාරකය පූරණය කිරීමෙන් පසුව අපි AndurinoIDE පණිවිඩ නිරීක්ෂණය කරමු " දැවෙන ඇරඹුම් කාරකය නිමයි"අපගේ ක්ෂුද්‍ර පාලකය අපගේ නව ව්‍යාපෘතියේ සටහනක් පටිගත කිරීමට සූදානම්ය ගෙදර හැදූ නිෂ්පාදන.

පියවර 10: විය හැකි ගැටළු සහ විසඳුම්






ඇරඹුම් කාරකයක් පටිගත කිරීමේදී ඇති විය හැකි දෝෂ සහ ඒවා ඉවත් කරන්නේ කෙසේද යන්න ඉහත debugger screenshots හි පෙන්වා ඇත.

මෙම ලිපිය ක්‍රමලේඛනය පිළිබඳ සම්පූර්ණ විස්තරයක් ලෙස ප්‍රකාශ නොකරයි. "මුල සිට"ක්ෂුද්‍ර පාලකය, නමුත් අවම මූලද්‍රව්‍ය කට්ටලයක් භාවිතා කරමින් ඔබට “ඔබේම” සෑදීම ආරම්භ කළ හැකි ආකාරය පෙන්වයි ඇන්ඩුරිනෝ.


ඉහල