Arduino - പ്രോഗ്രാമിംഗ് അടിസ്ഥാനങ്ങൾ. പ്രോഗ്രാമിംഗ് ഭാഷകൾ

" തുടക്കക്കാർക്കുള്ള Arduino" എന്ന പരിശീലന കോഴ്സ് അവതരിപ്പിക്കുന്നു. പരമ്പരയിൽ 10 പാഠങ്ങളും അധിക മെറ്റീരിയലും അടങ്ങിയിരിക്കുന്നു. പാഠങ്ങളിൽ ടെക്സ്റ്റ് നിർദ്ദേശങ്ങൾ, ഫോട്ടോകൾ, നിർദ്ദേശ വീഡിയോകൾ എന്നിവ ഉൾപ്പെടുന്നു. ഓരോ പാഠത്തിലും ആവശ്യമായ ഘടകങ്ങളുടെ ഒരു ലിസ്റ്റ്, ഒരു പ്രോഗ്രാം ലിസ്റ്റിംഗ്, ഒരു കണക്ഷൻ ഡയഗ്രം എന്നിവ നിങ്ങൾ കണ്ടെത്തും. നിങ്ങൾ ഈ 10 അടിസ്ഥാന പാഠങ്ങൾ പൂർത്തിയാക്കിക്കഴിഞ്ഞാൽ, നിങ്ങൾക്ക് കൂടുതൽ രസകരമായ മോഡലുകളിലേക്കും ആർഡ്വിനോ അടിസ്ഥാനമാക്കിയുള്ള റോബോട്ടുകളുടെ നിർമ്മാണത്തിലേക്കും നീങ്ങാൻ കഴിയും. കോഴ്‌സ് തുടക്കക്കാരെ ലക്ഷ്യമിട്ടുള്ളതാണ്; ഇത് ആരംഭിക്കുന്നതിന് ഇലക്ട്രിക്കൽ എഞ്ചിനീയറിംഗിൽ നിന്നോ റോബോട്ടിക്‌സിൽ നിന്നോ അധിക വിവരങ്ങളൊന്നും ആവശ്യമില്ല.

ആർഡ്വിനോയെക്കുറിച്ചുള്ള ഹ്രസ്വ വിവരങ്ങൾ

എന്താണ് Arduino?

Arduino (Arduino) ഒരു ഹാർഡ്‌വെയർ കമ്പ്യൂട്ടിംഗ് പ്ലാറ്റ്‌ഫോമാണ്, ഇതിൻ്റെ പ്രധാന ഘടകങ്ങൾ ഒരു ഇൻപുട്ട്-ഔട്ട്‌പുട്ട് ബോർഡും ഒരു വികസന അന്തരീക്ഷവുമാണ്. ഒറ്റയ്‌ക്ക് സംവേദനാത്മക ഒബ്‌ജക്‌റ്റുകൾ സൃഷ്‌ടിക്കാനോ കമ്പ്യൂട്ടറിൽ പ്രവർത്തിക്കുന്ന സോഫ്‌റ്റ്‌വെയറിലേക്ക് കണക്‌റ്റ് ചെയ്യാനോ Arduino ഉപയോഗിക്കാം. Arduino ഒരൊറ്റ ബോർഡ് കമ്പ്യൂട്ടറാണ്.

ആർഡ്വിനോയും റോബോട്ടുകളും എങ്ങനെ ബന്ധപ്പെട്ടിരിക്കുന്നു?

ഉത്തരം വളരെ ലളിതമാണ് - Arduino പലപ്പോഴും ഉപയോഗിക്കുന്നു റോബോട്ട് തലച്ചോറ്.

സമാന പ്ലാറ്റ്‌ഫോമുകളേക്കാൾ ആർഡ്വിനോ ബോർഡുകളുടെ പ്രയോജനം അവയുടെ താരതമ്യേന കുറഞ്ഞ വിലയും റോബോട്ടിക്‌സ്, ഇലക്ട്രിക്കൽ എഞ്ചിനീയറിംഗ് എന്നിവയിലെ അമച്വർമാർക്കും പ്രൊഫഷണലുകൾക്കുമിടയിൽ വ്യാപകമായ വിതരണവുമാണ്. നിങ്ങൾ ആർഡ്വിനോയിൽ പ്രവേശിച്ചുകഴിഞ്ഞാൽ, ഏത് ഭാഷയിലും നിങ്ങൾക്ക് പിന്തുണ ലഭിക്കും, നിങ്ങളുടെ ചോദ്യങ്ങൾക്ക് ഉത്തരം നൽകുകയും നിങ്ങളുടെ സംഭവവികാസങ്ങൾ ചർച്ച ചെയ്യുകയും ചെയ്യുന്ന സമാന ചിന്താഗതിക്കാരായ ആളുകൾ.

പാഠം 1. ആർഡ്വിനോയിൽ എൽഇഡി മിന്നുന്നു

ആദ്യ പാഠത്തിൽ ഒരു എൽഇഡി എങ്ങനെ ഒരു ആർഡ്വിനോയിലേക്ക് കണക്റ്റ് ചെയ്യാമെന്നും അത് മിന്നുന്നത് നിയന്ത്രിക്കാമെന്നും നിങ്ങൾ പഠിക്കും. ഇത് ഏറ്റവും ലളിതവും അടിസ്ഥാനപരവുമായ മാതൃകയാണ്.

ലൈറ്റ് എമിറ്റിംഗ് ഡയോഡ്- ഒരു വൈദ്യുത പ്രവാഹം മുന്നോട്ട് പോകുമ്പോൾ ഒപ്റ്റിക്കൽ റേഡിയേഷൻ സൃഷ്ടിക്കുന്ന ഒരു അർദ്ധചാലക ഉപകരണം.

പാഠം 2. Arduino-യിൽ ഒരു ബട്ടൺ ബന്ധിപ്പിക്കുന്നു

ഈ ട്യൂട്ടോറിയലിൽ ഒരു ബട്ടണും എൽഇഡിയും എങ്ങനെ ഒരു ആർഡ്വിനോയിലേക്ക് ബന്ധിപ്പിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.

ബട്ടൺ അമർത്തുമ്പോൾ, LED പ്രകാശിക്കും, ബട്ടൺ അമർത്തുമ്പോൾ, അത് പ്രകാശിക്കില്ല. അടിസ്ഥാന മാതൃകയും ഇതാണ്.

പാഠം 3. ആർഡ്വിനോയിൽ ഒരു പൊട്ടൻഷിയോമീറ്റർ ബന്ധിപ്പിക്കുന്നു

ഈ ട്യൂട്ടോറിയലിൽ നിങ്ങൾ എങ്ങനെ ഒരു പൊട്ടൻഷിയോമീറ്റർ Arduino-ലേക്ക് ബന്ധിപ്പിക്കും എന്ന് പഠിക്കും.

പൊട്ടൻഷിയോമീറ്റർ- ഈ ക്രമീകരിക്കാവുന്ന പ്രതിരോധം ഉള്ള റെസിസ്റ്റർ.വിവിധ പാരാമീറ്ററുകളുടെ റെഗുലേറ്ററായി പൊട്ടൻഷിയോമീറ്ററുകൾ ഉപയോഗിക്കുന്നു - ശബ്ദ വോളിയം, പവർ, വോൾട്ടേജ് മുതലായവ.ഇതും അടിസ്ഥാന പദ്ധതികളിൽ ഒന്നാണ്. ഞങ്ങളുടെ മാതൃകയിൽ പൊട്ടൻഷിയോമീറ്റർ നോബ് തിരിക്കുന്നതിൽ നിന്ന്LED- ൻ്റെ തെളിച്ചം ആശ്രയിച്ചിരിക്കും.

പാഠം 4. Arduino-യിൽ സെർവോ നിയന്ത്രണം

ഈ ട്യൂട്ടോറിയലിൽ നിങ്ങൾ ഒരു സെർവോയെ ഒരു ആർഡ്വിനോയിലേക്ക് എങ്ങനെ ബന്ധിപ്പിക്കാമെന്ന് പഠിക്കും.

സെർവോഭ്രമണത്തിൻ്റെ ആംഗിൾ സജ്ജീകരിച്ച് ഷാഫ്റ്റിൻ്റെ സ്ഥാനം നിയന്ത്രിക്കാൻ കഴിയുന്ന ഒരു മോട്ടോറാണ്.

റോബോട്ടുകളുടെ വിവിധ മെക്കാനിക്കൽ ചലനങ്ങളെ അനുകരിക്കാൻ സെർവോകൾ ഉപയോഗിക്കുന്നു.

പാഠം 5. Arduino-യിൽ ത്രിവർണ്ണ LED

ഈ ട്യൂട്ടോറിയലിൽ ഒരു ത്രിവർണ്ണ എൽഇഡി എങ്ങനെ ഒരു ആർഡ്വിനോയിലേക്ക് ബന്ധിപ്പിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.

ത്രിവർണ്ണ എൽഇഡി(rgb നേതൃത്വം) - ഇവ ഒരു ഭവനത്തിൽ വ്യത്യസ്ത നിറങ്ങളിലുള്ള മൂന്ന് എൽഇഡികളാണ്. ഒന്നുകിൽ റെസിസ്റ്ററുകൾ സ്ഥിതി ചെയ്യുന്ന ഒരു ചെറിയ പ്രിൻ്റഡ് സർക്യൂട്ട് ബോർഡുമായാണ് അവ വരുന്നത്, അല്ലെങ്കിൽ ബിൽറ്റ്-ഇൻ റെസിസ്റ്ററുകൾ ഇല്ലാതെ. പാഠം രണ്ട് ഓപ്ഷനുകളും ഉൾക്കൊള്ളുന്നു.

പാഠം 6. ആർഡ്വിനോയിലെ പീസോ ഇലക്ട്രിക് മൂലകം

ഈ പാഠത്തിൽ നിങ്ങൾ എങ്ങനെ ഒരു Piezo ഘടകം ഒരു Arduino ലേക്ക് ബന്ധിപ്പിക്കും എന്ന് പഠിക്കും.

പീസോ ഘടകം- വിവർത്തനം ചെയ്യുന്ന ഒരു ഇലക്ട്രോ മെക്കാനിക്കൽ കൺവെർട്ടർവൈദ്യുത വോൾട്ടേജ് മെംബ്രൻ വൈബ്രേഷനിലേക്ക്. ഈ വൈബ്രേഷനുകൾ ശബ്ദം സൃഷ്ടിക്കുന്നു.

ഞങ്ങളുടെ മോഡലിൽ, പ്രോഗ്രാമിൽ ഉചിതമായ പാരാമീറ്ററുകൾ സജ്ജീകരിച്ചുകൊണ്ട് ശബ്ദ ആവൃത്തി ക്രമീകരിക്കാൻ കഴിയും.

പാഠം 7. ആർഡ്വിനോയിലെ ഫോട്ടോറെസിസ്റ്റർ

ഞങ്ങളുടെ കോഴ്‌സിൻ്റെ ഈ പാഠത്തിൽ ഒരു ഫോട്ടോറെസിസ്റ്ററിനെ Arduino-ലേക്ക് എങ്ങനെ ബന്ധിപ്പിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.

ഫോട്ടോറെസിസ്റ്റർ- ഒരു റെസിസ്റ്റർ അതിൻ്റെ പ്രതിരോധം അതിൽ വീഴുന്ന പ്രകാശത്തിൻ്റെ തെളിച്ചത്തെ ആശ്രയിച്ചിരിക്കുന്നു.

ഞങ്ങളുടെ മോഡലിൽ, ഫോട്ടോറെസിസ്റ്ററിന് മുകളിലുള്ള പ്രകാശത്തിൻ്റെ തെളിച്ചം ഒരു നിശ്ചിതതിലും കുറവാണെങ്കിൽ മാത്രമേ എൽഇഡി പ്രകാശമുള്ളൂ; ഈ തെളിച്ചം പ്രോഗ്രാമിൽ ക്രമീകരിക്കാൻ കഴിയും.

പാഠം 8. ആർഡ്വിനോയിലെ മോഷൻ സെൻസർ (PIR). ഇ-മെയിൽ സ്വയമേവ അയയ്ക്കൽ

ഞങ്ങളുടെ കോഴ്‌സിൻ്റെ ഈ പാഠത്തിൽ, ആർഡ്വിനോയിലേക്ക് ഒരു മോഷൻ സെൻസർ (പിഐആർ) എങ്ങനെ ബന്ധിപ്പിക്കാമെന്നും അതുപോലെ ഇ-മെയിൽ സ്വയമേവ അയയ്‌ക്കുന്നത് എങ്ങനെ സംഘടിപ്പിക്കാമെന്നും നിങ്ങൾ പഠിക്കും.

മോഷൻ സെൻസർ (PIR)- ആളുകളുടെയോ മൃഗങ്ങളുടെയോ ചലനമോ സാന്നിധ്യമോ കണ്ടെത്താൻ ഇൻഫ്രാറെഡ് സെൻസർ.

ഞങ്ങളുടെ മാതൃകയിൽ, ഒരു PIR സെൻസറിൽ നിന്ന് മനുഷ്യൻ്റെ ചലനത്തെക്കുറിച്ച് ഒരു സിഗ്നൽ ലഭിക്കുമ്പോൾ, ഒരു ഇ-മെയിൽ അയയ്ക്കാൻ Arduino കമ്പ്യൂട്ടറിലേക്ക് ഒരു കമാൻഡ് അയയ്ക്കുകയും കത്ത് സ്വയമേവ അയയ്ക്കുകയും ചെയ്യുന്നു.

പാഠം 9. താപനില, ഈർപ്പം സെൻസർ DHT11 അല്ലെങ്കിൽ DHT22 ബന്ധിപ്പിക്കുന്നു

ഞങ്ങളുടെ ഈ പാഠത്തിൽ, ഒരു DHT11 അല്ലെങ്കിൽ DHT22 താപനിലയും ഈർപ്പം സെൻസറും ഒരു Arduino-ലേക്ക് എങ്ങനെ ബന്ധിപ്പിക്കാമെന്നും അവയുടെ സ്വഭാവസവിശേഷതകളിലെ വ്യത്യാസങ്ങളെക്കുറിച്ചും നിങ്ങൾ മനസ്സിലാക്കും.

താപനിലയും ഈർപ്പവും സെൻസർഒരു കപ്പാസിറ്റീവ് ഹ്യുമിഡിറ്റി സെൻസറും താപനില അളക്കുന്നതിനുള്ള തെർമിസ്റ്ററും അടങ്ങുന്ന ഒരു സംയോജിത ഡിജിറ്റൽ സെൻസറാണ്.

ഞങ്ങളുടെ മോഡലിൽ, Arduino സെൻസർ റീഡിംഗുകൾ വായിക്കുകയും റീഡിംഗുകൾ കമ്പ്യൂട്ടർ സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു.

പാഠം 10. ഒരു മാട്രിക്സ് കീബോർഡ് ബന്ധിപ്പിക്കുന്നു

ഞങ്ങളുടെ കോഴ്‌സിൻ്റെ ഈ പാഠത്തിൽ, ഒരു മാട്രിക്സ് കീബോർഡ് ഒരു ആർഡ്വിനോ ബോർഡിലേക്ക് എങ്ങനെ ബന്ധിപ്പിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും, കൂടാതെ വിവിധ രസകരമായ സർക്യൂട്ടുകളും പരിചയപ്പെടാം.

മാട്രിക്സ് കീബോർഡ്ഒരു വലിയ സംഖ്യ ബട്ടണുകളുടെ കണക്ഷൻ ലളിതമാക്കാൻ കണ്ടുപിടിച്ചു. അത്തരം ഉപകരണങ്ങൾ എല്ലായിടത്തും കാണപ്പെടുന്നു - കമ്പ്യൂട്ടർ കീബോർഡുകളിലും കാൽക്കുലേറ്ററുകളിലും മറ്റും.

പാഠം 11. DS3231 തത്സമയ ക്ലോക്ക് മൊഡ്യൂൾ ബന്ധിപ്പിക്കുന്നു

ഞങ്ങളുടെ കോഴ്‌സിൻ്റെ അവസാന പാഠത്തിൽ, കുടുംബത്തിൽ നിന്ന് ഒരു തത്സമയ ക്ലോക്ക് മൊഡ്യൂൾ എങ്ങനെ ബന്ധിപ്പിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും
Arduino ബോർഡിലേക്ക് DS, കൂടാതെ വിവിധ രസകരമായ സർക്യൂട്ടുകളും പരിചയപ്പെടുക.

തത്സമയ ക്ലോക്ക് മൊഡ്യൂൾ- ഇത് ക്രോണോമെട്രിക് ഡാറ്റ (നിലവിലെ സമയം, തീയതി, ആഴ്ചയിലെ ദിവസം മുതലായവ) രേഖപ്പെടുത്താൻ രൂപകൽപ്പന ചെയ്ത ഒരു ഇലക്ട്രോണിക് സർക്യൂട്ടാണ്, കൂടാതെ ഒരു സ്വയംഭരണ പവർ സ്രോതസും റെക്കോർഡിംഗ് ഉപകരണവും അടങ്ങുന്ന ഒരു സംവിധാനമാണിത്.

അപേക്ഷ. റെഡിമെയ്ഡ് ഫ്രെയിമുകളും ആർഡ്വിനോ റോബോട്ടുകളും


ബോർഡിൽ നിന്ന് മാത്രമല്ല, ഈ ബോർഡിനെ അടിസ്ഥാനമാക്കി ഒരു റെഡിമെയ്ഡ്, പൂർണ്ണമായ റോബോട്ട് വാങ്ങുന്നതിലൂടെയും നിങ്ങൾക്ക് Arduino പഠിക്കാൻ തുടങ്ങാം - ഒരു സ്പൈഡർ റോബോട്ട്, ഒരു റോബോട്ട് കാർ, ഒരു ആമ റോബോട്ട് മുതലായവ. അത്തരംവഴി ഇലക്ട്രിക്കൽ സർക്യൂട്ടുകളിലേക്ക് പ്രത്യേകിച്ച് ആകർഷിക്കപ്പെടാത്തവർക്കും ഇത് അനുയോജ്യമാണ്.

ഒരു പ്രവർത്തിക്കുന്ന റോബോട്ട് മോഡൽ വാങ്ങുന്നതിലൂടെ, അതായത്. വാസ്തവത്തിൽ, ഒരു റെഡിമെയ്ഡ് ഹൈടെക് കളിപ്പാട്ടത്തിന് സ്വതന്ത്ര രൂപകൽപ്പനയിലും റോബോട്ടിക്സിലും താൽപ്പര്യം ഉണർത്താൻ കഴിയും. ഒരേ ഘടകങ്ങളിൽ നിന്ന് പുതിയ കളിപ്പാട്ടങ്ങൾ നിർമ്മിക്കാൻ Arduino പ്ലാറ്റ്‌ഫോമിൻ്റെ തുറന്നത നിങ്ങളെ അനുവദിക്കുന്നു.

ഒരു റോബോട്ട് ഫ്രെയിമോ ബോഡിയോ വാങ്ങുക എന്നതാണ് മറ്റൊരു ഓപ്ഷൻ: ചക്രങ്ങളിൽ ഒരു പ്ലാറ്റ്ഫോം അല്ലെങ്കിൽ ഒരു ട്രാക്ക്, ഒരു ഹ്യൂമനോയിഡ്, ഒരു ചിലന്തി മുതലായവ. ഈ സാഹചര്യത്തിൽ, നിങ്ങൾ സ്വയം റോബോട്ടിൻ്റെ സ്റ്റഫ് ചെയ്യേണ്ടിവരും.

അപേക്ഷ. മൊബൈൽ ഡയറക്ടറി


- Arduino പ്ലാറ്റ്‌ഫോമിനായുള്ള അൽഗോരിതം ഡെവലപ്പർമാർക്കുള്ള ഒരു അസിസ്റ്റൻ്റ്, അന്തിമ ഉപയോക്താവിന് ഒരു മൊബൈൽ കമാൻഡുകൾ (റഫറൻസ് ബുക്ക്) ലഭിക്കാനുള്ള അവസരം നൽകുക എന്നതാണ് ഇതിൻ്റെ ഉദ്ദേശ്യം.

ആപ്ലിക്കേഷനിൽ 3 പ്രധാന വിഭാഗങ്ങൾ അടങ്ങിയിരിക്കുന്നു:

  • ഓപ്പറേറ്റർമാർ;
  • ഡാറ്റ;
  • പ്രവർത്തനങ്ങൾ.

Arduino എവിടെ നിന്ന് വാങ്ങാം


ആർഡ്വിനോ കിറ്റുകൾ

അധിക പാഠങ്ങൾക്കൊപ്പം കോഴ്‌സ് അപ്‌ഡേറ്റ് ചെയ്യും. ഞങ്ങളെ പിന്തുടരുക

Arduino- യുടെ അടിസ്ഥാന ഘടകങ്ങളുമായി സ്വയം പരിചയപ്പെട്ടതിനു ശേഷം "ഹലോ വേൾഡ്!" പ്രോഗ്രാം എഴുതുക. ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയുമായി പരിചയപ്പെടാനുള്ള സമയമാണിത്.

ഭാഷയുടെ ഘടന പ്രാഥമികമായി C/C++ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, അതിനാൽ ഈ ഭാഷയിൽ മുമ്പ് പ്രോഗ്രാം ചെയ്തിട്ടുള്ളവർക്ക് Arduino പ്രോഗ്രാമിംഗ് മാസ്റ്റേഴ്സ് ചെയ്യാൻ ഒരു ബുദ്ധിമുട്ടും ഉണ്ടാകില്ല. നിയന്ത്രണ കമാൻഡുകൾ, ഡാറ്റ തരങ്ങൾ, പ്രവർത്തനങ്ങൾ എന്നിവയെക്കുറിച്ചുള്ള അടിസ്ഥാന വിവരങ്ങൾ മറ്റുള്ളവർ പഠിക്കണം.

ഡാറ്റ തരങ്ങളിലെ വ്യത്യാസങ്ങളും I/O പോർട്ട് പ്രോഗ്രാമിംഗിനെ സംബന്ധിച്ച ചില പ്രത്യേക നിർദ്ദേശങ്ങളും കണക്കിലെടുത്ത് ഇവിടെ അടങ്ങിയിരിക്കുന്ന മിക്ക വിവരങ്ങളും ഏത് C/C++ കോഴ്‌സുമായും പൊരുത്തപ്പെടും.

അടിസ്ഥാനകാര്യങ്ങൾ

ചില ഔപചാരിക കാര്യങ്ങൾ, അതായത് എല്ലാവർക്കും അറിയാവുന്ന, എന്നാൽ ചിലപ്പോൾ മറന്നുപോകുന്നവ...

Arduino IDE-യിൽ, C/C++ പോലെ, നിങ്ങൾ പ്രതീക കേസുകളെക്കുറിച്ച് അറിഞ്ഞിരിക്കണം. if, for പോലുള്ള കീവേഡുകൾ എപ്പോഴും ചെറിയക്ഷരത്തിലാണ് എഴുതുന്നത്. ഓരോ നിർദ്ദേശവും ";" എന്നതിൽ അവസാനിക്കുന്നു. ഏത് ഭാഗമാണ് നിർദ്ദേശമായി വ്യാഖ്യാനിക്കേണ്ടതെന്ന് അർദ്ധവിരാമം കംപൈലറോട് പറയുന്നു.

പ്രോഗ്രാം ബ്ലോക്കുകളെ സൂചിപ്പിക്കാൻ പരാൻതീസിസ് (..) ഉപയോഗിക്കുന്നു. ഫംഗ്‌ഷൻ ബോഡികൾ (ചുവടെ കാണുക), ലൂപ്പുകൾ, സോപാധിക പ്രസ്താവനകൾ എന്നിവ നിയന്ത്രിക്കാൻ ഞങ്ങൾ അവ ഉപയോഗിക്കുന്നു.

പ്രോഗ്രാം ഉള്ളടക്കത്തിലേക്ക് അഭിപ്രായങ്ങൾ ചേർക്കുന്നത് ഒരു നല്ല സമ്പ്രദായമാണ്, ഇത് കോഡ് മനസ്സിലാക്കുന്നത് എളുപ്പമാക്കുന്നു. ഒറ്റവരി കമൻ്റുകൾ ആരംഭിക്കുന്നു // (ഇരട്ട സ്ലാഷ്). മൾട്ടിലൈൻ കമൻ്റുകൾ ആരംഭിക്കുന്നു /* ഒപ്പം അവസാനിക്കും */

ഞങ്ങളുടെ പ്രോഗ്രാമിൽ ഏതെങ്കിലും ലൈബ്രറി ഉൾപ്പെടുത്തണമെങ്കിൽ, ഞങ്ങൾ ഉൾപ്പെടുത്തുക കമാൻഡ് ഉപയോഗിക്കുന്നു. ലൈബ്രറികളെ ബന്ധിപ്പിക്കുന്നതിനുള്ള ഉദാഹരണങ്ങൾ ഇതാ:

#ഉൾപ്പെടുന്നു // സ്റ്റാൻഡേർഡ് ലൈബ്രറി #ഉൾപ്പെടുത്തുക “svoya_biblioteka.h” // പ്രോജക്റ്റ് ഡയറക്‌ടറിയിലെ ലൈബ്രറി

ആർഡ്വിനോയിലെ പ്രവർത്തനങ്ങൾ

ഒരു ഫംഗ്ഷൻ (സബ്റൂട്ടീൻ) എന്നത് ചില പ്രവർത്തനങ്ങൾ നടത്തുന്ന ഒരു പ്രോഗ്രാമിൻ്റെ ഒരു പ്രത്യേക ഭാഗമാണ്. പ്രധാന പ്രോഗ്രാം ലളിതമാക്കുന്നതിനും കോഡ് റീഡബിലിറ്റി മെച്ചപ്പെടുത്തുന്നതിനും ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്നു. ഫംഗ്‌ഷനുകൾ ഉപയോഗിക്കുന്നത് ഉപയോഗപ്രദമാണ്, കാരണം ഞങ്ങളുടെ പല പ്രോജക്റ്റുകളിലും അവ എളുപ്പത്തിൽ ഉപയോഗിക്കാൻ കഴിയും.

ഒരു സ്റ്റാൻഡേർഡ് പ്രോഗ്രാമിംഗ് കോഴ്‌സിൽ ഇനിപ്പറയുന്ന ലേഖനങ്ങളിൽ അവതരിപ്പിക്കുന്ന പ്രവർത്തനങ്ങളെക്കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു. Arduino യുടെ കാര്യത്തിൽ, ഫംഗ്ഷനുകൾ തുടക്കത്തിൽ ചർച്ച ചെയ്യും, കാരണം ഏറ്റവും ലളിതമായ പ്രോഗ്രാമിന് പോലും രണ്ട് പ്രത്യേക ഫംഗ്ഷനുകൾ ഉണ്ടായിരിക്കണം. മുമ്പത്തെ ലേഖനങ്ങളിൽ ഇത് ഇതിനകം പരാമർശിച്ചിട്ടുണ്ട്, എന്നാൽ ഇവിടെ ഞങ്ങൾ ഈ വിവരങ്ങൾ ചിട്ടപ്പെടുത്തുന്നു.

പ്രവർത്തന പ്രഖ്യാപനം

ഫംഗ്ഷൻ ഡിക്ലറേഷൻ ഡയഗ്രം ഇതുപോലെ കാണപ്പെടുന്നു:

ഫംഗ്‌ഷൻ_നാമം (പാരാമീറ്റർ) ടൈപ്പ് ചെയ്യുക ( // എക്‌സിക്യൂഷനുള്ള നിർദ്ദേശങ്ങൾ (ഫംഗ്ഷൻ ബോഡി) റിട്ടേൺ (/* റിട്ടേൺ മൂല്യം*/); )

തരംനൽകിയിരിക്കുന്ന പ്രോഗ്രാമിംഗ് ഭാഷയിൽ ലഭ്യമായ ഏതെങ്കിലും ഡാറ്റാ തരത്തിൻ്റെ പേരാണ്. Arduino പ്രോഗ്രാം ചെയ്യുമ്പോൾ ലഭ്യമായ തരങ്ങളുടെ ഒരു ലിസ്റ്റ് ഞങ്ങൾ ഒരു പ്രത്യേക ലേഖനത്തിൽ നൽകും.

എക്സിക്യൂട്ട് ചെയ്ത ശേഷം, ഫംഗ്ഷൻ പ്രഖ്യാപിച്ച തരത്തിൻ്റെ മൂല്യം നൽകും. ഫംഗ്‌ഷൻ ഏതെങ്കിലും റിട്ടേൺ മൂല്യം സ്വീകരിക്കുന്നില്ലെങ്കിൽ, ഡാറ്റ തരം "അസാധു" ആയിരിക്കും.

ഫംഗ്‌ഷൻ_നാമംഅത് അദ്വിതീയമായി തിരിച്ചറിയാൻ അനുവദിക്കുന്നു. ഒരു ഫംഗ്‌ഷനെ വിളിക്കുന്നതിന് (റൺ), ഞങ്ങൾ അതിന് ഒരു പേര് നൽകുന്നു.

പരാമീറ്റർ- ഫംഗ്ഷൻ കോൾ പാരാമീറ്റർ. പാരാമീറ്ററുകൾ ആവശ്യമില്ല, പക്ഷേ അവ പലപ്പോഴും ഉപയോഗപ്രദമാണ്. ആർഗ്യുമെൻ്റുകളില്ലാത്ത ഒരു ഫംഗ്‌ഷൻ ഞങ്ങൾ എഴുതുകയാണെങ്കിൽ, ഞങ്ങൾ പരാൻതീസിസ് ശൂന്യമാക്കും.

ബ്രാക്കറ്റിനുള്ളിൽ "(...)" എന്നത് നമ്മൾ നടപ്പിലാക്കാൻ ആഗ്രഹിക്കുന്ന ഫംഗ്‌ഷൻ്റെയോ നിർദ്ദേശത്തിൻ്റെയോ യഥാർത്ഥ ബോഡിയാണ്. പ്രത്യേക നിർദ്ദേശങ്ങളുടെ ഒരു വിവരണം ഞങ്ങൾ ഒരു പ്രത്യേക ലേഖനത്തിൽ നൽകും.

ഒരു മൂല്യം നൽകുന്ന എല്ലാ ഫംഗ്‌ഷനുകളും റിട്ടേൺ സ്‌റ്റേറ്റ്‌മെൻ്റിൽ അവസാനിക്കുന്നു, തുടർന്ന് റിട്ടേൺ മൂല്യം. നൾ പോയിൻ്റർ ("ശൂന്യം") ഉപയോഗിച്ച് പ്രഖ്യാപിച്ച ഫംഗ്‌ഷനുകളിൽ മാത്രം ഒരു റിട്ടേൺ സ്റ്റേറ്റ്‌മെൻ്റ് അടങ്ങിയിട്ടില്ല. ലൊക്കേഷൻ പരിഗണിക്കാതെ തന്നെ റിട്ടേൺ സ്റ്റേറ്റ്മെൻ്റ് ഫംഗ്ഷൻ അവസാനിപ്പിക്കുന്നുവെന്ന് നിങ്ങൾ അറിഞ്ഞിരിക്കണം.

ഫംഗ്‌ഷൻ ഡിക്ലറേഷനുകളുടെ ചില ഉദാഹരണങ്ങൾ ചുവടെയുണ്ട്.

അസാധുവായ f1() ( //ഫംഗ്ഷൻ ബോഡി) —————————————— int മൈനസ് () ( //ഫംഗ്ഷൻ ബോഡി റിട്ടേൺ (0); ) ————————————— ——— int പ്ലസ് (int a, int b) ( മടങ്ങുക (a+b); )

ഉദാഹരണങ്ങളിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, നിങ്ങളുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച് ഒരു ഫംഗ്ഷൻ ഡിക്ലറേഷന് നിരവധി രൂപങ്ങൾ എടുക്കാം.

നിങ്ങളുടെ സ്വന്തം പ്രോഗ്രാമുകൾ എഴുതുമ്പോൾ ഫംഗ്‌ഷനുകൾ പഠിക്കാനും ഉപയോഗിക്കാനും ഞങ്ങൾ നിങ്ങളെ ശക്തമായി പ്രോത്സാഹിപ്പിക്കുന്നു. കാലക്രമേണ, ഓരോ പ്രോഗ്രാമറും "എല്ലാ അവസരങ്ങളിലും" ഫംഗ്ഷനുകളുടെ സ്വന്തം ലൈബ്രറി ശേഖരിക്കുന്നു, ഇത് പുതിയ പ്രോഗ്രാമുകൾ എഴുതുന്നത് എളുപ്പവും വേഗത്തിലാക്കുന്നു.

നമ്മുടെ സ്വന്തം ഫംഗ്‌ഷൻ എങ്ങനെ എഴുതണമെന്ന് ഇപ്പോൾ നമുക്കറിയാം, അത് എങ്ങനെ ഉപയോഗിക്കണമെന്ന് നമ്മൾ പഠിക്കേണ്ടതുണ്ട്.

ഒരു ഫംഗ്‌ഷൻ വിളിക്കുന്നു

ഞങ്ങൾ എല്ലാ ഫംഗ്‌ഷനുകളും ഒരു ഫയൽ/പ്രോഗ്രാമിൽ എഴുതുന്നു. തീർച്ചയായും, കൂടുതൽ ഗംഭീരമായ ഒരു പരിഹാരമുണ്ട്, എന്നാൽ അടുത്ത തവണ അത് വിവരിക്കാൻ ഞങ്ങൾ ശ്രമിക്കും.

ഒരിക്കൽ ഞങ്ങൾ ഒരു ഫംഗ്‌ഷൻ പ്രഖ്യാപിച്ചുകഴിഞ്ഞാൽ, മറ്റ് ഫംഗ്‌ഷനുകളിൽ ഉചിതമായ പേരും ആവശ്യമായ പാരാമീറ്ററുകളും ഉപയോഗിച്ച് നമുക്ക് അത് ഉപയോഗിക്കാൻ കഴിയും. ഞങ്ങൾ മുകളിൽ നൽകിയ ഫംഗ്‌ഷനുകളെ വിളിക്കുന്നതിനുള്ള ഉദാഹരണങ്ങൾ ചുവടെയുണ്ട്:

F1(); പ്ലസ് (2,2); y = പ്ലസ് (1.5);

ഉദാഹരണങ്ങളിൽ നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഒരു ഫംഗ്ഷൻ കോൾ അതിൻ്റെ പേരും ആവശ്യമായ പാരാമീറ്ററുകളുടെ എണ്ണവും വ്യക്തമാക്കിക്കൊണ്ടാണ് നിർമ്മിച്ചിരിക്കുന്നത്. പ്രഖ്യാപിച്ചതുപോലെ എല്ലായ്പ്പോഴും ഒരു ഫംഗ്‌ഷൻ വിളിക്കേണ്ടത് പ്രധാനമാണ്.

f1() ഫംഗ്‌ഷൻ പരാമീറ്ററുകളില്ലാതെ പ്രഖ്യാപിച്ചാൽ, അതിനെ വിളിക്കുമ്പോൾ പരാമീറ്ററുകളൊന്നും വ്യക്തമാക്കാൻ കഴിയില്ല, അതായത്. f1(0) എന്ന് വിളിക്കുന്നത് തെറ്റായിരിക്കും.

ഫംഗ്‌ഷൻ പ്ലസ് (int a, int b) ന് കൃത്യമായി രണ്ട് പാരാമീറ്ററുകൾ ആവശ്യമാണ്, അതിനാൽ ഒന്നോ മൂന്നോ പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് വിളിക്കുന്നത് സാധ്യമല്ല.

y=plus(1,5) എന്ന് വിളിക്കുന്നത് "1", "5" എന്നീ പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് "plus" ഫംഗ്‌ഷൻ എക്‌സിക്യൂട്ട് ചെയ്യുകയും റിട്ടേൺ മൂല്യം "y" എന്ന വേരിയബിളിൽ സംഭരിക്കുകയും ചെയ്യും.

സെറ്റപ്പ് () ലൂപ്പ് () ഫംഗ്ഷനുകൾ.

ഫംഗ്‌ഷൻ ഡിക്ലറേഷനും കോളിംഗും സംബന്ധിച്ച അറിവ് ഉപയോഗിച്ച്, നമുക്ക് Arduino സിസ്റ്റം ഫംഗ്‌ഷനുകളിലേക്ക് പോകാം: സജ്ജമാക്കുക()ഒപ്പം ലൂപ്പ്(). ഈ രണ്ട് ഫംഗ്ഷനുകൾ പ്രഖ്യാപിക്കാൻ Arduino IDE ആവശ്യമാണ്.

പവർ ഓണായിരിക്കുമ്പോഴോ റീസെറ്റ് ബട്ടൺ അമർത്തുമ്പോഴോ സ്വയമേവ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്‌ഷനാണ് setup().

അതിൻ്റെ പേര് സൂചിപ്പിക്കുന്നത് പോലെ, വേരിയബിളുകളുടെ പ്രാരംഭ മൂല്യങ്ങൾ, സിസ്റ്റം ഇൻപുട്ടുകളുടെ പ്രഖ്യാപനങ്ങൾ, ഔട്ട്പുട്ടുകൾ എന്നിവയുടെ പ്രാരംഭ മൂല്യങ്ങൾ സജ്ജീകരിക്കാൻ ഇത് ഉപയോഗിക്കുന്നു, അവ സാധാരണയായി പ്രാരംഭ പാരാമീറ്ററുകളിൽ സൂചിപ്പിച്ചിരിക്കുന്നു. അതിൻ്റെ പ്രത്യേകത കാരണം, ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം നൽകുന്നില്ല കൂടാതെ പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് വിളിക്കപ്പെടുന്നില്ല. ശരിയായ സജ്ജീകരണം() ഫംഗ്‌ഷൻ ഡിക്ലറേഷൻ ചുവടെ:

അസാധുവായ സജ്ജീകരണം () ( // ഫംഗ്ഷൻ ബോഡി - സിസ്റ്റം ഇനീഷ്യലൈസേഷൻ )

ലൂപ്പ്() എന്നത് അനന്തമായ ലൂപ്പിൽ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷനാണ്. ഈ ഫംഗ്‌ഷനും ഒരു മൂല്യം നൽകുന്നില്ല കൂടാതെ പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് വിളിക്കപ്പെടുന്നില്ല. ശരിയായ ലൂപ്പ്() ഫംഗ്‌ഷൻ ഡിക്ലറേഷൻ താഴെ കാണിച്ചിരിക്കുന്നു:

ശൂന്യമായ ലൂപ്പ് () ( // ഫംഗ്ഷൻ ബോഡി - പ്രോഗ്രാം കോഡ് )

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ലൂപ്പ് () ഫംഗ്ഷൻ ഡിക്ലറേഷൻ സെറ്റപ്പ് () ഫംഗ്ഷൻ ഡിക്ലറേഷന് സമാനമാണ്. മൈക്രോകൺട്രോളർ ഈ പ്രവർത്തനങ്ങളുടെ പ്രകടനത്തിലാണ് വ്യത്യാസം.

ഞങ്ങൾ ഇപ്പോൾ ഇനിപ്പറയുന്ന സ്യൂഡോകോഡ് വിശകലനം ചെയ്യും:

അസാധുവായ സജ്ജീകരണം () ( on_led1 (); // led1 off_led1 (); // led1 ഓഫാക്കുക) void loop () ( on_led2 (); // led2 off_led2 ഓണാക്കുക (); // led2 ഓഫ് ചെയ്യുക

സെറ്റപ്പ്() ഫംഗ്‌ഷനിൽ രണ്ട് നിർദ്ദേശങ്ങളുണ്ട്: ആദ്യത്തേത് ബോർഡുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന led1 ഓണാക്കുന്നു (ഉദാ. പിൻ 13) രണ്ടാമത്തേത് led1 ഓഫാക്കുന്നു.

ബോർഡുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന LED2 ഓൺ ചെയ്യാനും ഓഫാക്കാനും ലൂപ്പ്() ഫംഗ്‌ഷന് സമാനമായ നിർദ്ദേശങ്ങളുണ്ട് (ഉദാ. പിൻ 12).

പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുന്നതിൻ്റെ ഫലമായി, led1 ഒരിക്കൽ മിന്നിമറയും, ആർഡ്വിനോ ഓൺ ചെയ്യുന്നിടത്തോളം led2 പ്രകാശിക്കുകയും പുറത്തുപോകുകയും ചെയ്യും.

റീസെറ്റ് ബട്ടൺ അമർത്തുന്നത് led1 വീണ്ടും ഫ്ലാഷ് ചെയ്യാനും ലീഡ്2 വീണ്ടും തുടർച്ചയായി മിന്നാനും ഇടയാക്കും.

സംഗഹിക്കുക:

  • സെറ്റപ്പ്(), ലൂപ്പ്() ഫംഗ്‌ഷനുകൾ എല്ലാ പ്രോജക്റ്റിലും നിർവചിക്കേണ്ട സിസ്റ്റം ഫംഗ്‌ഷനുകളാണ്. അവയിലൊന്നിൽ ഞങ്ങൾ ഒരു കോഡും എഴുതാത്ത സാഹചര്യത്തിൽ പോലും, ഈ രണ്ട് ഫംഗ്ഷനുകളും ഞങ്ങൾ ഇപ്പോഴും പ്രഖ്യാപിക്കേണ്ടതുണ്ട്;
  • സെറ്റപ്പ്() ഫംഗ്ഷൻ ഒരിക്കൽ എക്സിക്യൂട്ട് ചെയ്യുന്നു, ലൂപ്പ്() തുടർച്ചയായി എക്സിക്യൂട്ട് ചെയ്യുന്നു;
  • ഒരു ഫയലിൽ ഞങ്ങൾ ഞങ്ങളുടെ സ്വന്തം ഫംഗ്ഷനുകൾ സൃഷ്ടിക്കുന്നു;
  • സെറ്റപ്പ്(), ലൂപ്പ്() എന്നിവയിൽ നിന്നും മറ്റ് ഫംഗ്ഷനുകളിൽ നിന്നും നമുക്ക് ഞങ്ങളുടെ ഫംഗ്ഷനുകളെ വിളിക്കാം;
  • നമ്മുടെ സ്വന്തം ഫംഗ്‌ഷനുകൾ പരാമീറ്ററുകൾ ഉപയോഗിച്ച് വിളിക്കുകയും ഒരു മൂല്യം നൽകുകയും ചെയ്യാം;
  • ഒരു ഫംഗ്‌ഷൻ കോൾ അതിൻ്റെ പ്രഖ്യാപനത്തിന് അനുസൃതമായി നടത്തണം.

നിങ്ങൾക്ക് ആവശ്യമായി വരും

  • - Arduino UNO ബോർഡ്,
  • - USB കേബിൾ (USB A - USB B),
  • - പെഴ്സണൽ കമ്പ്യൂട്ടർ,
  • - ലൈറ്റ് എമിറ്റിംഗ് ഡയോഡ്,
  • - റെസിസ്റ്റർ 220 ഓം,
  • - ഒരു ജോടി വയറുകൾ 5-10 സെൻ്റീമീറ്റർ,
  • - ലഭ്യമെങ്കിൽ - ബ്രെഡ്ബോർഡ്.

നിർദ്ദേശങ്ങൾ

http://arduino.cc/en/Main/Software എന്ന പേജിൽ നിങ്ങളുടെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിനായി (Windows, Mac OS X, Linux പിന്തുണയ്ക്കുന്നു) Arduino ഡവലപ്മെൻ്റ് എൻവയോൺമെൻ്റ് ഡൗൺലോഡ് ചെയ്യുക, നിങ്ങൾക്കത് ഇൻസ്റ്റാൾ ചെയ്യാം. ഡൗൺലോഡ് ചെയ്ത ഫയലിൽ Arduino ബോർഡുകൾക്കുള്ള ഡ്രൈവറുകളും അടങ്ങിയിരിക്കുന്നു.

ഡ്രൈവർ ഇൻസ്റ്റാൾ ചെയ്യുക. Windows OS-നുള്ള ഓപ്ഷൻ പരിഗണിക്കുക. ഇത് ചെയ്യുന്നതിന്, ഡ്രൈവർ ഇൻസ്റ്റാൾ ചെയ്യാൻ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം നിങ്ങളോട് ആവശ്യപ്പെടുന്നത് വരെ കാത്തിരിക്കുക. നിരസിക്കുക. Win + Pause അമർത്തുക, ഉപകരണ മാനേജർ സമാരംഭിക്കുക. "പോർട്ടുകൾ (COM & LPT)" വിഭാഗം കണ്ടെത്തുക. നിങ്ങൾ അവിടെ "Arduino UNO (COMxx)" എന്നൊരു പോർട്ട് കാണും. അതിൽ വലത്-ക്ലിക്കുചെയ്ത് "ഡ്രൈവർ അപ്ഡേറ്റ് ചെയ്യുക" തിരഞ്ഞെടുക്കുക. അടുത്തതായി, നിങ്ങൾ ഇപ്പോൾ ഡൗൺലോഡ് ചെയ്ത ഡ്രൈവറിൻ്റെ സ്ഥാനം തിരഞ്ഞെടുക്കുക.

വികസന പരിതസ്ഥിതിയിൽ ഇതിനകം തന്നെ ബോർഡിൻ്റെ പ്രവർത്തനം പഠിക്കുന്നതിനുള്ള നിരവധി ഉദാഹരണങ്ങൾ അടങ്ങിയിരിക്കുന്നു. "ബ്ലിങ്ക്" ഉദാഹരണം തുറക്കുക: ഫയൽ > ഉദാഹരണങ്ങൾ > 01. അടിസ്ഥാനങ്ങൾ > ബ്ലിങ്ക്.

നിങ്ങളുടെ വികസന അന്തരീക്ഷം നിങ്ങളുടെ ബോർഡിലേക്ക് ചൂണ്ടിക്കാണിക്കുക. ഇത് ചെയ്യുന്നതിന്, ഉപകരണങ്ങൾ > ബോർഡ് മെനുവിൽ, "Arduino UNO" തിരഞ്ഞെടുക്കുക.

Arduino ബോർഡ് നൽകിയിരിക്കുന്ന പോർട്ട് തിരഞ്ഞെടുക്കുക. ഏത് പോർട്ടിലേക്കാണ് ബോർഡ് ബന്ധിപ്പിച്ചിരിക്കുന്നതെന്ന് കണ്ടെത്താൻ, ഉപകരണ മാനേജർ സമാരംഭിച്ച് പോർട്ടുകൾ (COM & LPT) വിഭാഗത്തിനായി നോക്കുക. ബോർഡിൻ്റെ പേരിന് ശേഷം പരാൻതീസിസിൽ പോർട്ട് സൂചിപ്പിക്കും. ബോർഡ് പട്ടികയിൽ ഇല്ലെങ്കിൽ, കമ്പ്യൂട്ടറിൽ നിന്ന് ഇത് പരീക്ഷിച്ച് കുറച്ച് നിമിഷങ്ങൾ കാത്തിരിക്കുക, വീണ്ടും ശ്രമിക്കുക.

കമ്പ്യൂട്ടറിൽ നിന്ന് ബോർഡ് വിച്ഛേദിക്കുക. ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നതുപോലെ സർക്യൂട്ട് കൂട്ടിച്ചേർക്കുക. എൽഇഡിയുടെ ഷോർട്ട് ലെഗ് ജിഎൻഡി പിന്നിലേക്കും നീളമുള്ള കാൽ റെസിസ്റ്ററിലൂടെ ആർഡ്വിനോ ബോർഡിൻ്റെ ഡിജിറ്റൽ പിൻ 13 ലേക്ക് ബന്ധിപ്പിക്കേണ്ടതുണ്ടെന്ന കാര്യം ശ്രദ്ധിക്കുക. ഒരു ബ്രെഡ്ബോർഡ് ഉപയോഗിക്കുന്നത് കൂടുതൽ സൗകര്യപ്രദമാണ്, പക്ഷേ അത് ലഭ്യമല്ലെങ്കിൽ, വളച്ചൊടിച്ച് നിങ്ങൾക്ക് വയറുകളെ ബന്ധിപ്പിക്കാൻ കഴിയും.
പ്രധാന കുറിപ്പ്! ഡിജിറ്റൽ പിൻ 13 ന് ഇതിനകം തന്നെ ബോർഡിൽ സ്വന്തം റെസിസ്റ്റർ ഉണ്ട്. അതിനാൽ, ഒരു എൽഇഡി ബോർഡിലേക്ക് ബന്ധിപ്പിക്കുമ്പോൾ, ഒരു ബാഹ്യ പ്രതിരോധം ഉപയോഗിക്കേണ്ട ആവശ്യമില്ല. മറ്റേതെങ്കിലും ആർഡ്വിനോ പിന്നുകളിലേക്ക് എൽഇഡി ബന്ധിപ്പിക്കുമ്പോൾ, ഉപയോഗം നിർബന്ധമാണ്!

ഇപ്പോൾ നിങ്ങൾക്ക് പ്രോഗ്രാം ബോർഡിൻ്റെ മെമ്മറിയിലേക്ക് ലോഡ് ചെയ്യാൻ കഴിയും. ബോർഡ് കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിക്കുക, ബോർഡ് ആരംഭിക്കുമ്പോൾ കുറച്ച് നിമിഷങ്ങൾ കാത്തിരിക്കുക. "അപ്‌ലോഡ്" ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക, നിങ്ങളുടേത് Arduino ബോർഡിൻ്റെ മെമ്മറിയിലേക്ക് എഴുതപ്പെടും. Arduino ഉപയോഗിച്ചുള്ള പ്രോഗ്രാമിംഗ് വളരെ അവബോധജന്യവും ബുദ്ധിമുട്ടുള്ളതുമല്ല. ചിത്രം നോക്കൂ - പ്രോഗ്രാമിലേക്കുള്ള അഭിപ്രായങ്ങളിൽ ചെറിയ വിശദീകരണങ്ങളുണ്ട്. നിങ്ങളുടെ ആദ്യ പരീക്ഷണം ആരംഭിക്കാൻ ഇത് മതിയാകും.

വിഷയത്തെക്കുറിച്ചുള്ള വീഡിയോ

കുറിപ്പ്

Arduino ബോർഡിൽ പ്രവർത്തിക്കുമ്പോൾ ശ്രദ്ധിക്കുക - ഇത് ശ്രദ്ധാപൂർവ്വം കൈകാര്യം ചെയ്യേണ്ട ഒരു ഇലക്ട്രോണിക് ഉൽപ്പന്നമാണ്. ബോർഡിൻ്റെ അടിയിൽ തുറന്ന കണ്ടക്ടർമാരുണ്ട്, നിങ്ങൾ ഒരു ചാലക പ്രതലത്തിൽ ബോർഡ് സ്ഥാപിക്കുകയാണെങ്കിൽ, ബോർഡ് കത്തിക്കാനുള്ള അവസരമുണ്ട്. കൂടാതെ, നനഞ്ഞതോ നനഞ്ഞതോ ആയ കൈകൾ കൊണ്ട് ബോർഡിൽ തൊടരുത്, ജോലി ചെയ്യുമ്പോൾ നനഞ്ഞ പ്രദേശങ്ങൾ ഒഴിവാക്കുക.

സഹായകരമായ ഉപദേശം

ഇൻറർനെറ്റിൽ ആർഡ്വിനോയ്‌ക്കായി സമർപ്പിച്ചിരിക്കുന്ന നിരവധി സൈറ്റുകളുണ്ട്. വായിക്കുക, മാസ്റ്റർ, പുതിയ കാര്യങ്ങൾ പരീക്ഷിക്കാനും പഠിക്കാനും ഭയപ്പെടരുത്!

ഉറവിടങ്ങൾ:

  • മിന്നുന്ന LED

പ്രോഗ്രാമിംഗ് പല ആധുനിക ആളുകളെയും ആകർഷിക്കുകയും താൽപ്പര്യം പ്രകടിപ്പിക്കുകയും ചെയ്യുന്നു, പ്രത്യേകിച്ച് ഭാവിയിലെ തൊഴിൽ തിരഞ്ഞെടുക്കാൻ തുടങ്ങുന്ന ചെറുപ്പക്കാരും തുടക്കക്കാരുമായ പ്രൊഫഷണലുകൾ. അവർ പലപ്പോഴും ചോദ്യം നേരിടുന്നു - പ്രോഗ്രാമിംഗ് പഠിക്കാൻ എവിടെ തുടങ്ങണം? എങ്ങനെ പ്രോഗ്രാം ചെയ്യണമെന്ന് പഠിക്കാൻ നിങ്ങൾ തീരുമാനിക്കുകയാണെങ്കിൽ, നിങ്ങൾ ഒരു സാധാരണ തെറ്റ് ചെയ്യരുത് - സങ്കീർണ്ണമായ സിസ്റ്റങ്ങളും ഭാഷകളും ഉടനടി എടുക്കരുത് (ഉദാഹരണത്തിന്, സി). വളരെ സങ്കീർണ്ണമായ ഒരു ഭാഷയിൽ തുടങ്ങുന്നത് പ്രോഗ്രാമിംഗിനെ കുറിച്ച് നിങ്ങൾക്ക് പൊതുവെ തെറ്റായ ധാരണ നൽകും. തുടക്കക്കാർ ഏറ്റവും ലളിതമായ സിസ്റ്റങ്ങളിൽ പ്രവർത്തിക്കാൻ ശുപാർശ ചെയ്യുന്നു - ഉദാഹരണത്തിന്, ബേസിക്കിൽ പ്രോഗ്രാമുകൾ എഴുതാൻ പഠിക്കുക. ഈ ഭാഷ പഠിക്കുന്നത് ചുരുങ്ങിയ സമയത്തിനുള്ളിൽ നല്ല ഫലങ്ങൾ നേടാൻ നിങ്ങളെ അനുവദിക്കും. PureBasic പഠിക്കാൻ എളുപ്പമാണ് - ഈ ബഹുമുഖവും ശക്തമായി സമാഹരിച്ചതുമായ ഭാഷ പ്രോഗ്രാമിംഗിൻ്റെ അടിസ്ഥാനകാര്യങ്ങൾ മനസിലാക്കാനും ഭാവിയിൽ നിങ്ങളുടെ കഴിവുകൾ മെച്ചപ്പെടുത്താനും സഹായിക്കും.

നിർദ്ദേശങ്ങൾ

പ്രോഗ്രാമിംഗിൻ്റെ അടിസ്ഥാനകാര്യങ്ങൾ പഠിക്കാൻ നിങ്ങൾക്ക് ഏകദേശം ഒരു വർഷമെടുത്തേക്കാം. പ്രൊസീജറൽ, ഒബ്ജക്റ്റ് ഓറിയൻ്റഡ് പ്രോഗ്രാമിംഗിൻ്റെ സവിശേഷതകൾ, ബൈനറി ട്രീകൾക്കൊപ്പം പ്രവർത്തിക്കുന്നതിനുള്ള തത്വങ്ങൾ, അറേകൾ, ലിസ്റ്റുകൾ മുതലായവ നിങ്ങൾ പഠിക്കും. അടിസ്ഥാനകാര്യങ്ങൾ പഠിച്ചതിനുശേഷം മാത്രമേ കൂടുതൽ സങ്കീർണ്ണമായ ജോലികളിലേക്ക് നീങ്ങുകയുള്ളൂ.

പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ് ഡെവലപ്പർമാരുടെ വെബ്സൈറ്റുകളും പഠന ഡോക്യുമെൻ്റേഷനും സന്ദർശിക്കുക. പ്രോഗ്രാമർ ഫോറങ്ങളിൽ ആശയവിനിമയം നടത്തുന്നത് ഉറപ്പാക്കുക; തുടക്കക്കാരിൽ നിന്നുള്ള മിക്ക ചോദ്യങ്ങൾക്കും അവർ സാധാരണയായി ഉത്തരം നൽകുന്നു.

ഗണിതം

നിങ്ങൾക്ക് പ്രോഗ്രാം പഠിക്കണമെങ്കിൽ, നിങ്ങൾ കണക്ക് അറിഞ്ഞാൽ മതി. ജോലിയുടെ പ്രക്രിയയിൽ, ഈ ശാസ്ത്രത്തിൻ്റെ അടിസ്ഥാനകാര്യങ്ങളെക്കുറിച്ചുള്ള അറിവില്ലാതെ പരിഹരിക്കാൻ കഴിയാത്ത നിരവധി പ്രശ്നങ്ങൾ നിങ്ങൾക്ക് നേരിടേണ്ടിവരും. പ്രോഗ്രാമിംഗ് പ്രക്രിയയെ വളരെ ലളിതമാക്കുന്ന ധാരാളം ഗണിതശാസ്ത്ര സംവിധാനങ്ങളും സിദ്ധാന്തങ്ങളും (ഫോറിയർ സീരീസ്, ഫിബൊനാച്ചി നമ്പറുകൾ മുതലായവ) ഉണ്ട്.

പഠനം ഒരിക്കലും അവസാനിക്കുന്നില്ല

പ്രോഗ്രാമിംഗ് ഭാഷകളുടെ പരിണാമം നിശ്ചലമല്ല; അവയുടെ വികസനം നടന്നുകൊണ്ടിരിക്കുന്നു. നിങ്ങൾ പ്രവർത്തിക്കാൻ ഉദ്ദേശിക്കുന്ന പ്രോഗ്രാമിംഗ് മേഖലയുമായി ബന്ധപ്പെട്ട് കഴിയുന്നത്ര സാഹിത്യങ്ങൾ വായിക്കാൻ ശ്രമിക്കുക. ഉയർന്നുവരുന്ന പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനുള്ള ബദൽ മാർഗങ്ങൾ എപ്പോഴും നോക്കുക, നിങ്ങൾ സൃഷ്ടിക്കുന്ന കോഡിൻ്റെ കാര്യക്ഷമത നിരന്തരം മെച്ചപ്പെടുത്താൻ ഇത് നിങ്ങളെ സഹായിക്കും. പ്രൊഫഷണൽ പ്രോഗ്രാമർമാരോട് സംസാരിക്കുക; ഒരു പ്രത്യേക പ്രശ്നം എങ്ങനെ കൈകാര്യം ചെയ്യണമെന്ന് അവർക്ക് എപ്പോഴും ഉപദേശിക്കാൻ കഴിയും. അവരുടെ കോഡുകൾ വായിക്കുന്നതും നിങ്ങൾക്ക് വളരെയധികം പ്രയോജനം ചെയ്യും.
എല്ലാം എപ്പോഴും മനസ്സിൽ സൂക്ഷിക്കുക അസാധ്യമാണ്. പ്രോഗ്രാമിംഗ് ഭാഷാ റഫറൻസ് പുസ്തകങ്ങൾ ഉപയോഗിക്കാൻ മടിക്കേണ്ടതില്ല.

പ്രോഗ്രാമിംഗ് പ്രശ്നങ്ങൾ, അവ എത്ര ലളിതമാണെങ്കിലും, ഒരിക്കലും ഒറ്റയടിക്ക് പരിഹരിക്കപ്പെടുന്നില്ല. ഒരു നിർദ്ദിഷ്ട സാഹചര്യത്തിൽ ഫലപ്രദമാകുന്ന പ്രവർത്തനങ്ങളുടെ ശരിയായ അൽഗോരിതം വികസിപ്പിക്കേണ്ടത് അവർക്ക് എല്ലായ്പ്പോഴും ആവശ്യമാണ്. ഒപ്റ്റിമൽ അൽഗോരിതം കണ്ടെത്തുന്നതിന് നിരന്തരമായ പരിശീലനവും പരിശീലനവും ആവശ്യമാണ്. ചെറിയ പ്രോഗ്രാമിംഗ് പ്രശ്നങ്ങൾ കൂടുതൽ തവണ പരിഹരിക്കാൻ ശ്രമിക്കുക (നിങ്ങൾക്ക് അവ പ്രത്യേക സൈറ്റുകളിൽ കണ്ടെത്താൻ കഴിയും), ഇത് ഈ മേഖലയിലെ നിങ്ങളുടെ കഴിവുകൾ ക്രമേണ വികസിപ്പിക്കാൻ സഹായിക്കും.

അതിനാൽ നിങ്ങൾക്ക് ഒരു പ്രോസസ്സർ ഉണ്ട്. നിങ്ങൾക്ക് ആവശ്യമുള്ളത് ചെയ്യാൻ പ്രോസസർ എങ്ങനെയെങ്കിലും പ്രോഗ്രാം ചെയ്യാമെന്ന് നിങ്ങൾ മനസ്സിലാക്കിയേക്കാം. ഉപയോഗപ്രദമായ ജോലി ചെയ്യണമെങ്കിൽ, (എ) ഉപയോഗപ്രദമായ ഒരു പ്രോഗ്രാം എഴുതുകയും (ബി) അത് എക്‌സിക്യൂഷനുവേണ്ടി പ്രോസസറിന് നൽകുകയും വേണം.

പൊതുവേ, നിങ്ങൾക്ക് ഏത് തരത്തിലുള്ള പ്രോസസർ ഉണ്ടെന്നത് പ്രശ്നമല്ല: നിങ്ങളുടെ ലാപ്‌ടോപ്പിലെ ഏറ്റവും പുതിയ ഇൻ്റൽ പെൻ്റിയം അല്ലെങ്കിൽ ഒരു ആർഡ്വിനോ ബോർഡിലെ മൈക്രോകൺട്രോളർ. ഒരു പ്രോഗ്രാം എഴുതുന്നതിനുള്ള തത്വങ്ങൾ, അതായത്. പ്രോഗ്രാമിംഗ്, രണ്ട് സാഹചര്യങ്ങളിലും ഒരേ പോലെ. മറ്റ് ഉപകരണങ്ങളുമായി പ്രവർത്തിക്കാനുള്ള കഴിവുകളുടെ വേഗതയും വ്യാപ്തിയും മാത്രമാണ് വ്യത്യാസം.

എന്താണ് ഒരു പ്രോഗ്രാം, അത് എവിടെ എഴുതണം

പ്രൊസസർ, ഉൽപ്പാദനത്തിൻ്റെ എല്ലാ സങ്കീർണതകളും ഉണ്ടായിരുന്നിട്ടും, അടിസ്ഥാനപരമായി ലളിതവും ലളിതവുമായ ഒരു കാര്യമാണ്. അയാൾക്ക് എങ്ങനെ ചിന്തിക്കണമെന്ന് അറിയില്ല. തനിക്ക് കൈമാറിയ നിർദ്ദേശങ്ങൾ അന്ധമായി, ബൈറ്റ് ബൈറ്റ് ചെയ്ത് നടപ്പിലാക്കാൻ മാത്രമേ അദ്ദേഹത്തിന് കഴിയൂ. നിർദ്ദേശങ്ങളുടെ ക്രമത്തിൻ്റെ ഒരു ഏകദേശ ഉദാഹരണം നൽകാം:

ഇൻസ്ട്രക്ഷൻ ബൈറ്റ്പ്രോസസറിന് എന്താണ് അർത്ഥമാക്കുന്നത്
00001001 അർത്ഥമാക്കുന്നത്: അടുത്ത ബൈറ്റ് എടുത്ത് സെൽ നമ്പർ 1 ൽ സൂക്ഷിക്കുക
00000110 ...സെൽ നമ്പർ 1 ൽ നമ്മൾ ഓർക്കുന്ന അടുത്ത ബൈറ്റ് ഇതാണ്: നമ്പർ 5
00011001 അർത്ഥമാക്കുന്നത്: സെൽ നമ്പർ 1 ലെ മൂല്യത്തിൽ നിന്ന് ഒരെണ്ണം കുറച്ചതിനുശേഷം അപ്ഡേറ്റ് ചെയ്ത ഫലം അവിടെ ഇടുക
00101001 അർത്ഥം: സെൽ നമ്പർ 1 ലെ മൂല്യം പൂജ്യവുമായി താരതമ്യം ചെയ്യുക, അത് പൂജ്യമാണെങ്കിൽ, അടുത്ത ബൈറ്റിൽ സൂചിപ്പിച്ചിരിക്കുന്ന അത്രയും ബൈറ്റിലൂടെ പോകുക
00000100 ...ഫലം പൂജ്യമാണെങ്കിൽ, അവസാന നിർദ്ദേശത്തിലേക്ക് 4 ബൈറ്റുകൾ ചാടാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു
10000011
01000001 ... "A" എന്ന അക്ഷരം ഈ കോഡുമായി കൃത്യമായി യോജിക്കുന്നു
00101000 അടുത്ത ബൈറ്റിൽ സൂചിപ്പിച്ചിരിക്കുന്ന അത്രയും ബൈറ്റുകൾ പിന്നോട്ട് പോകാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്
00000110 ...ഞങ്ങൾ നിർദ്ദേശ നമ്പർ 3-ലേക്ക് 6 ബൈറ്റുകൾ തിരികെ പോകും
10000011 അടുത്ത ബൈറ്റിൽ കോഡ് എഴുതിയിരിക്കുന്ന പ്രതീകം പ്രദർശിപ്പിക്കാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു എന്നാണ് അർത്ഥമാക്കുന്നത്
00100001 ...അടയാളം "!" ഈ കോഡ് കൃത്യമായി പൊരുത്തപ്പെടുന്നു

നിർദ്ദേശങ്ങളുടെ ഈ ക്രമം നടപ്പിലാക്കുന്നതിൻ്റെ ഫലമായി, "AHHH!" എന്ന പരിഭ്രാന്തി സ്‌ക്രീനിൽ പ്രദർശിപ്പിക്കും.

അത്തരമൊരു ലളിതമായ ആവശ്യത്തിനായി ധാരാളം കോഡുകൾ! എല്ലാ പ്രോഗ്രാമുകളും ഇതുപോലെ നേരിട്ട് എഴുതിയാൽ, സങ്കീർണ്ണമായ ഉൽപ്പന്നങ്ങളുടെ വികസനം നൂറ്റാണ്ടുകൾ എടുക്കുമെന്ന് വ്യക്തമാണ്.

പ്രോഗ്രാമിംഗ് ഭാഷകൾ ആവശ്യമായി വരുന്നത് എന്തുകൊണ്ട്?

ടാസ്ക് ഒരു ദശലക്ഷം തവണ ലളിതമാക്കാൻ, പ്രോഗ്രാമിംഗ് ഭാഷകൾ കണ്ടുപിടിച്ചു. അവയിൽ ധാരാളം ഉണ്ട്, നിരന്തരം കേൾക്കുന്നവയിൽ നിന്ന് പോലും, നിങ്ങൾക്ക് ഒരു ഡസനോ രണ്ടോ വേഗത്തിൽ ഓർമ്മിക്കാൻ കഴിയും: അസംബ്ലർ, സി, സി ++, സി #, ജാവ, പൈത്തൺ, റൂബി, പിഎച്ച്പി, സ്കാല, ജാവാസ്ക്രിപ്റ്റ്.

ഈ ഭാഷകളിലെ പ്രോഗ്രാമുകൾ സ്വാഭാവിക മനുഷ്യ ഭാഷയുമായി വളരെ അടുത്താണ്. അതിനാൽ അവ എഴുതാൻ എളുപ്പവും വേഗതയേറിയതും കൂടുതൽ മനോഹരവുമാണ്, ഏറ്റവും പ്രധാനമായി, അവ വളരെ ലളിതമാണ് വായിച്ചു: എഴുതിയതിന് തൊട്ടുപിന്നാലെ നിങ്ങൾക്ക്, ഒരു വർഷത്തിന് ശേഷം, അല്ലെങ്കിൽ നിങ്ങളുടെ സഹപ്രവർത്തകന്.

അത്തരം ഭാഷകൾ പ്രോസസറിന് മനസ്സിലാകുന്നില്ല എന്നതാണ് പ്രശ്നം, നിങ്ങൾ ഈ പ്രോഗ്രാം നൽകുന്നതിന് മുമ്പ്, നിങ്ങൾ ഇത് ചെയ്യേണ്ടതുണ്ട് സമാഹരിക്കുക: സ്വാഭാവിക ഭാഷയിൽ നിന്ന് അതേ നിർദ്ദേശങ്ങളിലേക്ക് പൂജ്യങ്ങളുടെയും ഒന്നിൻ്റെയും രൂപത്തിൽ വിവർത്തനം ചെയ്യുക. എന്ന പ്രോഗ്രാമുകളാണ് ഇത് ചെയ്യുന്നത് കമ്പൈലറുകൾ. ഓരോ ഭാഷയ്ക്കും, അത് ഫാൻ്റസി തലത്തിൽ തുടരുന്നില്ലെങ്കിൽ, അതിൻ്റേതായ കംപൈലർ ഉണ്ട്. ജനപ്രിയ ഭാഷകൾക്കായി, വ്യത്യസ്ത നിർമ്മാതാക്കളിൽ നിന്നും വ്യത്യസ്ത പ്ലാറ്റ്‌ഫോമുകളിൽ നിന്നും തിരഞ്ഞെടുക്കാൻ സാധാരണയായി നിരവധിയുണ്ട്. അവയിൽ മിക്കതും ഇൻ്റർനെറ്റിൽ സൗജന്യമായി ലഭ്യമാണ്.

അതിനാൽ, മനുഷ്യർക്ക് പൂർണ്ണമായും മനസ്സിലാക്കാവുന്ന ഒരു ഭാഷയിൽ പ്രോഗ്രാമുകൾ ഉണ്ട്: അവയെ "സോഴ്സ് കോഡ്", ലളിതമായി "കോഡ്" അല്ലെങ്കിൽ "സോഴ്സ് കോഡുകൾ" എന്നും വിളിക്കുന്നു. അവ ഉപയോഗിച്ച് ലളിതമായ ടെക്സ്റ്റ് ഫയലുകളിലേക്ക് എഴുതിയിരിക്കുന്നു ഏതെങ്കിലുംടെക്സ്റ്റ് എഡിറ്റർ, നോട്ട്പാഡ് ഉപയോഗിച്ചാലും. പിന്നീട് അവ പൂജ്യങ്ങളുടെ സെറ്റുകളാക്കി മാറ്റുകയും കംപൈലർ ഉപയോഗിച്ച് പ്രോസസറിന് മനസ്സിലാക്കാവുന്നവയും ആക്കുകയും ചെയ്യുന്നു: കംപൈലർ സോഴ്സ് കോഡ് ഇൻപുട്ടായി സ്വീകരിക്കുകയും സൃഷ്ടിക്കുകയും ചെയ്യുന്നു. ബൈനറി എക്സിക്യൂട്ടബിൾ, പ്രോസസ്സറിന് മനസ്സിലാക്കാവുന്ന ഒന്ന്.

ബൈനറി ഫയലുകൾ റീഡബിൾ അല്ല, അവ സാധാരണയായി പ്രൊസസർ നിർവ്വഹിക്കുന്നതിന് വേണ്ടി മാത്രമുള്ളവയാണ്. അവയ്ക്ക് ലഭിച്ചതിനെ ആശ്രയിച്ച് അവ വ്യത്യസ്ത തരത്തിലാകാം: .exe എന്നത് വിൻഡോസിനായുള്ള പ്രോഗ്രാമുകളാണ്, .ഹെക്സ് എന്നത് ഒരു ആർഡ്വിനോ-ടൈപ്പ് മൈക്രോകൺട്രോളർ ഉപയോഗിച്ച് നടപ്പിലാക്കുന്നതിനുള്ള പ്രോഗ്രാമുകളാണ്.

എന്തുകൊണ്ടാണ് ധാരാളം പ്രോഗ്രാമിംഗ് ഭാഷകൾ ഉള്ളത്, എന്താണ് വ്യത്യാസം?

    എന്തുകൊണ്ട്? കാരണം ഭൂമിയിൽ ധാരാളം ആളുകളും കമ്പനികളും ഉണ്ട്, കൂടാതെ തങ്ങൾക്ക് ഏറ്റവും മികച്ചത് ചെയ്യാൻ കഴിയുമെന്ന് പലരും വിശ്വസിച്ചു: കൂടുതൽ സൗകര്യപ്രദവും വ്യക്തവും വേഗതയേറിയതും മെലിഞ്ഞതും.

    എന്താണ് വ്യത്യാസം: വ്യത്യസ്ത ഭാഷകൾക്ക് എഴുത്ത് വേഗത, വായനാക്ഷമത, നിർവ്വഹണ വേഗത എന്നിവയുടെ വ്യത്യസ്ത ബാലൻസ് ഉണ്ട്.

വ്യത്യസ്ത പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ 99 കുപ്പി ബിയറിനെക്കുറിച്ചുള്ള ഒരു ഗാനം സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുന്ന അതേ പ്രോഗ്രാം നോക്കാം.

ഉദാഹരണത്തിന്, പേൾ ഭാഷ. അത് വേഗത്തിൽ എഴുതിയിരിക്കുന്നു; പ്രോഗ്രാമർ എന്താണ് ഉദ്ദേശിച്ചതെന്ന് മനസിലാക്കാൻ കഴിയില്ല; സാവധാനം നടപ്പിലാക്കി:

സബ് ബി( $n = 99 - @_ - $_ || ഇല്ല; "$n ബോട്ടിൽ" . "s" x!!-- $n . "ബിയർ" ) ; $w = "ഭിത്തിയിൽ" ; ഡൈ മാപ്പ് (b. "$w, \n". ബി. ", \n ഒരെണ്ണം ഇറക്കുക, ചുറ്റിക്കറങ്ങുക,\n ". b(0) . "$w. \n\n"} 0 .. 98

ജാവ ഭാഷ. എഴുതാൻ താരതമ്യേന വളരെ സമയമെടുക്കും; വായിക്കാൻ എളുപ്പമാണ്; വളരെ വേഗത്തിൽ നിർവ്വഹിക്കുന്നു, പക്ഷേ ധാരാളം മെമ്മറി എടുക്കുന്നു:

ക്ലാസ് ബോട്ടിലുകൾ (പബ്ലിക് സ്റ്റാറ്റിക് ശൂന്യ പ്രധാനം( സ്ട്രിംഗ്ആർഗ്സ്) ( സ്ട്രിംഗ് s = "s" ; ഇതിനായി (int beers= 99 ; beers>- 1 ; ) ( സിസ്റ്റം.ഔട്ട് .പ്രിൻ്റ് (ബിയറുകൾ + "കുപ്പി" + s + "ഭിത്തിയിലെ ബിയർ, " ); സിസ്റ്റം.ഔട്ട് .println (ബിയറുകൾ + "കുപ്പി" + s + "ബിയർ, " ); എങ്കിൽ (ബിയറുകൾ== 0 ) ( സിസ്റ്റം.ഔട്ട് .പ്രിൻ്റ് ( "കടയിൽ പോകൂ, കുറച്ചുകൂടി വാങ്ങൂ") ; സിസ്റ്റം.ഔട്ട് .println ( "ഭിത്തിയിൽ 99 കുപ്പി ബിയർ.\n ") ; സിസ്റ്റം.എക്സിറ്റ് (0); ) വേറെ സിസ്റ്റം.ഔട്ട് .പ്രിൻ്റ് ( "ഒരെണ്ണം ഇറക്കുക, ചുറ്റിക്കറങ്ങുക"); s = (-- ബിയറുകൾ == 1) ? "" : "s" ; സിസ്റ്റം.out .println (ബിയറുകൾ + "കുപ്പി" + s + "ഭിത്തിയിൽ ബിയർ.\n ") ; } } }

അസംബ്ലി ഭാഷ. എഴുതാൻ ഒരുപാട് സമയമെടുക്കും; വായിക്കാൻ പ്രയാസമാണ്; വളരെ വേഗത്തിൽ നടപ്പിലാക്കുന്നു:

കോഡ് സെഗ്മെൻ്റ് അനുമാനിക്കുന്നു cs: കോഡ്, ds: കോഡ് org 100h ആരംഭം:; മെയിൻ ലൂപ്പ് mov cx, 99; ലൂപ്പ്സ്റ്റാർട്ട് ഉപയോഗിച്ച് ആരംഭിക്കാൻ കുപ്പികൾ: printcx എന്ന് വിളിക്കുക ; നമ്പർ mov dx പ്രിൻ്റ് ചെയ്യുക, ലൈൻ1 ഓഫ്‌സെറ്റ് ചെയ്യുക ; ആദ്യ വരിയുടെ ബാക്കി ഭാഗം പ്രിൻ്റ് ചെയ്യുക mov ah, 9; MS-DOS പ്രിൻ്റ് സ്ട്രിംഗ് ദിനചര്യ int 21h കോൾ printcx ; നമ്പർ mov dx പ്രിൻ്റ് ചെയ്യുക, ലൈൻ2_3 ഓഫ്‌സെറ്റ് ചെയ്യുക ; ബാക്കിയുള്ള 2, 3 വരികൾ mov ah, 9 int 21h dec cx; printcx ഡൗൺ കോൾ എടുക്കുക; mov dx നമ്പർ പ്രിൻ്റ് ചെയ്യുക, ലൈൻ4 ഓഫ്‌സെറ്റ് ചെയ്യുക ; നാലാമത്തെ വരിയുടെ ബാക്കി ഭാഗം പ്രിൻ്റ് ചെയ്യുക mov ah, 9 int 21h cmp cx, 0; ബിയർ തീർന്നോ? jne ലൂപ്പ്സ്റ്റാർട്ട്; ഇല്ലെങ്കിൽ, 20 മണിക്കൂർ തുടരുക; MS-DOS-ലേക്ക് വിട്ടു ; ദശാംശത്തിൽ CX രജിസ്റ്റർ പ്രിൻ്റ് ചെയ്യാനുള്ള സബ്റൂട്ടീൻ printcx: mov di , ഓഫ്‌സെറ്റ് numbufferend ; അവസാനം മുതൽ ബഫർ പൂരിപ്പിക്കുക mov കോടാലി, cx ; നമ്പർ AX-ൽ ഇടുക, അങ്ങനെ നമുക്ക് അതിനെ വിഭജിക്കാം printcxloop: mov dx, 0 ; ന്യൂമറേറ്ററിൻ്റെ ഉയർന്ന ക്രമത്തിലുള്ള വാക്ക് - എപ്പോഴും 0 mov bx, 10 div bx ; DX:AX-നെ 10 കൊണ്ട് ഹരിക്കുക. AX=quotient, DX=ബാക്കി dl, "0" ചേർക്കുക ; ബാക്കിയുള്ളത് ഒരു ASCII പ്രതീകത്തിലേക്ക് പരിവർത്തനം ചെയ്യുക mov[ds:di],dl; പ്രിൻ്റ് ബഫർ cmp കോടാലിയിൽ ഇടുക, 0; കണക്കാക്കാൻ കൂടുതൽ അക്കങ്ങൾ ഉണ്ടോ? je printcxend; ഇല്ലെങ്കിൽ ഡിസംബർ ഡിസംബറിൽ അവസാനിക്കും ; നിലവിലുള്ളതിന് മുമ്പായി അടുത്ത അക്കം ഇടുക jmp printcxloop; loop printcxend: mov dx , di ; പ്രിൻ്റ്, കണക്കുകൂട്ടിയ അവസാന അക്കത്തിൽ നിന്ന് ആരംഭിക്കുന്നു mov ah, 9 int 21h ret; ഡാറ്റ ലൈൻ1 ഡിബി "ഭിത്തിയിൽ ബിയർ കുപ്പികൾ", 13 , 10 , "$" ലൈൻ2_3 db "ബിയർ കുപ്പികൾ," 13 , 10 , "ഒരെണ്ണം ഇറക്കുക, ചുറ്റിക്കറങ്ങുക", 13 , 10 , "$" ലൈൻ4 ഡിബി "ഭിത്തിയിൽ ബിയർ കുപ്പികൾ.", 13 , 10 , 13 , 10 , "$" നമ്പർഫർ db 0 , 0 , 0 , 0 , 0 numbufferend db 0 , "$" കോഡ് അവസാനിക്കുന്ന ആരംഭത്തിൽ അവസാനിക്കുന്നു

Arduino എങ്ങനെയാണ് പ്രോഗ്രാം ചെയ്യുന്നത്?

Atmel-ൽ നിന്നുള്ള Arduino അല്ലെങ്കിൽ മൈക്രോകൺട്രോളറുകളെക്കുറിച്ചാണ് നമ്മൾ സംസാരിക്കുന്നതെങ്കിൽ, ഏത് ഭാഷയിലാണ് നിങ്ങൾക്ക് അവയ്ക്കായി പ്രോഗ്രാമുകൾ എഴുതാൻ കഴിയുക? സൈദ്ധാന്തിക ഉത്തരം: ഏതെങ്കിലും. എന്നാൽ പ്രായോഗികമായി, തിരഞ്ഞെടുപ്പ് അസംബ്ലർ, സി, സി ++ എന്നീ ഭാഷകളിൽ മാത്രമായി പരിമിതപ്പെടുത്തിയിരിക്കുന്നു. ഒരു ഡെസ്‌ക്‌ടോപ്പ് കമ്പ്യൂട്ടറുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ, അവയ്ക്ക് വളരെ പരിമിതമായ വിഭവങ്ങൾ മാത്രമേയുള്ളൂ എന്നതാണ് ഇതിന് കാരണം. കിലോബൈറ്റ് മെമ്മറി, ജിഗാബൈറ്റ് അല്ല. പ്രൊസസറിൽ മെഗാഹെർട്സ്, ജിഗാഹെർട്സ് അല്ല. വിലക്കുറവിനും ഊർജ്ജ കാര്യക്ഷമതയ്ക്കും നൽകേണ്ട വിലയാണിത്.

അതിനാൽ, നമുക്ക് കംപൈൽ ചെയ്യാനും കാര്യക്ഷമമായി നടപ്പിലാക്കാനും കഴിയുന്ന ഒരു ഭാഷ ആവശ്യമാണ്. അതായത്, വിലയേറിയ നിർദ്ദേശങ്ങളും മെമ്മറിയും പാഴാക്കാതെ, നിർദ്ദേശങ്ങളിൽ നിന്ന് ഏറ്റവും ഒപ്റ്റിമൽ ആയി അത് പൂജ്യങ്ങളിലേക്കും ഒന്നിലേക്കും വിവർത്തനം ചെയ്യപ്പെടുന്നു. മേൽപ്പറഞ്ഞ ഭാഷകൾക്ക് ഇത്തരത്തിലുള്ള കാര്യക്ഷമതയുണ്ട്. മൈക്രോകൺട്രോളർ റിസോഴ്സുകളുടെ ഇടുങ്ങിയ പരിധിക്കുള്ളിൽ പോലും അവ ഉപയോഗിച്ച്, നിങ്ങൾക്ക് വേഗത്തിൽ പ്രവർത്തിക്കുന്ന ഫീച്ചറുകളാൽ സമ്പന്നമായ പ്രോഗ്രാമുകൾ എഴുതാം.

അസംബ്ലർ, നിങ്ങൾ കണ്ടതുപോലെ, ഏറ്റവും ലളിതവും ഗംഭീരവുമായത് എന്ന് വിളിക്കാനാവില്ല, തൽഫലമായി, Arduino-യുടെ മുൻനിര ഭാഷ C/C++ ആണ്.

Arduino, Processing, Wiring ഭാഷയിലാണ് Arduino പ്രോഗ്രാം ചെയ്തിരിക്കുന്നതെന്ന് പല സ്രോതസ്സുകളും പറയുന്നു. ഇത് പൂർണ്ണമായും ശരിയായ പ്രസ്താവനയല്ല. Arduino C/C++ ൽ പ്രോഗ്രാം ചെയ്തിട്ടുണ്ട്, ഈ വാക്കുകളിൽ വിളിക്കുന്നത് സൗകര്യപ്രദമായ ഒരു "ബോഡി കിറ്റ്" മാത്രമാണ്, അത് ഓരോ തവണയും ചക്രം പുനർനിർമ്മിക്കാതെ തന്നെ നിരവധി സാധാരണ പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

ഒരേ വാക്യത്തിൽ C, C++ എന്നിവ പരാമർശിച്ചിരിക്കുന്നത് എന്തുകൊണ്ട്? C++ എന്നത് C യുടെ ഒരു സൂപ്പർ സ്ട്രക്ചറാണ്. ഓരോ C പ്രോഗ്രാമും ഒരു സാധുവായ C++ പ്രോഗ്രാമാണ്, എന്നാൽ തിരിച്ചും അല്ല. നിങ്ങൾക്ക് രണ്ടും ഉപയോഗിക്കാം. മിക്കപ്പോഴും, നിലവിലെ പ്രശ്നം പരിഹരിക്കുമ്പോൾ നിങ്ങൾ എന്താണ് ഉപയോഗിക്കുന്നതെന്ന് ചിന്തിക്കുക പോലും ചെയ്യില്ല.

പോയിൻ്റിനോട് അടുത്ത്: ആദ്യ പ്രോഗ്രാം

നമുക്ക് Arduino-യ്‌ക്കുള്ള ആദ്യത്തെ പ്രോഗ്രാം എഴുതി ബോർഡ് എക്‌സിക്യൂട്ട് ചെയ്യാം. നിങ്ങൾ സോഴ്സ് കോഡ് ഉപയോഗിച്ച് ഒരു ടെക്സ്റ്റ് ഫയൽ സൃഷ്ടിക്കേണ്ടതുണ്ട്, അത് കംപൈൽ ചെയ്യുകയും ഫലമായുണ്ടാകുന്ന ബൈനറി ഫയൽ ബോർഡിലെ മൈക്രോകൺട്രോളറിലേക്ക് നൽകുകയും വേണം.

നമുക്ക് ക്രമത്തിൽ പോകാം. നമുക്ക് സോഴ്സ് കോഡ് എഴുതാം. നിങ്ങൾക്ക് ഇത് നോട്ട്പാഡിലോ മറ്റേതെങ്കിലും എഡിറ്ററിലോ എഴുതാം. എന്നിരുന്നാലും, ജോലി സൗകര്യപ്രദമാക്കുന്നതിന്, വികസന പരിതസ്ഥിതികൾ എന്ന് വിളിക്കപ്പെടുന്നവയുണ്ട് (IDE: ഇൻ്റഗ്രേറ്റഡ് ഡെവലപ്മെൻ്റ് എൻവയോൺമെൻ്റ്). ഒരൊറ്റ ഉപകരണത്തിൻ്റെ രൂപത്തിൽ, അവർ ഹൈലൈറ്റിംഗും സൂചനകളും ഉള്ള ഒരു ടെക്സ്റ്റ് എഡിറ്റർ നൽകുന്നു, ഒരു ബട്ടൺ ഉപയോഗിച്ച് സമാരംഭിച്ച ഒരു കംപൈലറും മറ്റ് നിരവധി സന്തോഷങ്ങളും. Arduino ന്, ഈ പരിതസ്ഥിതിയെ Arduino IDE എന്ന് വിളിക്കുന്നു. ഇത് ഔദ്യോഗിക വെബ്സൈറ്റിൽ സൗജന്യമായി ഡൗൺലോഡ് ചെയ്യാൻ ലഭ്യമാണ്.

പരിസ്ഥിതി ഇൻസ്റ്റാൾ ചെയ്ത് പ്രവർത്തിപ്പിക്കുക. ദൃശ്യമാകുന്ന വിൻഡോയിൽ, നിങ്ങൾ കാണും: ഭൂരിഭാഗം സ്ഥലവും ടെക്സ്റ്റ് എഡിറ്ററിന് നൽകിയിരിക്കുന്നു. അതിൽ കോഡ് എഴുതിയിരിക്കുന്നു. Arduino ലോകത്തിലെ കോഡ് എന്നും വിളിക്കപ്പെടുന്നു സ്കെച്ച്.

അതുകൊണ്ട് ഒന്നും ചെയ്യാത്ത ഒരു സ്കെച്ച് എഴുതാം. അതായത്, C++ ൽ സാധ്യമായ ഏറ്റവും കുറഞ്ഞ ശരിയായ പ്രോഗ്രാം, ഇത് സമയം പാഴാക്കുന്നു.

അസാധുവായ സജ്ജീകരണം () ( ) ശൂന്യമായ ലൂപ്പ് () ( )

ഇപ്പോൾ എഴുതിയ കോഡിൻ്റെ അർത്ഥത്തിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കരുത്. നമുക്ക് അത് സമാഹരിക്കാം. ഇത് ചെയ്യുന്നതിന്, Arduino IDE-ൽ, ടൂൾബാറിൽ ഒരു "പരിശോധിക്കുക" ബട്ടൺ ഉണ്ട്. അതിൽ ക്ലിക്ക് ചെയ്ത് കുറച്ച് നിമിഷങ്ങൾക്കുള്ളിൽ ബൈനറി ഫയൽ തയ്യാറാകും. ടെക്സ്റ്റ് എഡിറ്ററിന് കീഴിലുള്ള "കംപൈലിംഗ് പൂർത്തിയായി" എന്ന ലിഖിതത്തിലൂടെ ഇത് പ്രഖ്യാപിക്കും.

തൽഫലമായി, മൈക്രോകൺട്രോളർ ഉപയോഗിച്ച് എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയുന്ന എക്സ്റ്റൻഷൻ .ഹെക്സ് ഉള്ള ഒരു ബൈനറി ഫയൽ നമുക്കുണ്ട്.

ഇപ്പോൾ നിങ്ങൾ അത് ആർഡ്വിനോയിലേക്ക് സ്ലിപ്പ് ചെയ്യേണ്ടതുണ്ട്. ഈ പ്രക്രിയയെ ബൂട്ടിംഗ്, ഫ്ലാഷിംഗ് അല്ലെങ്കിൽ വെള്ളപ്പൊക്കം എന്ന് വിളിക്കുന്നു. Arduino IDE-ലേക്ക് അപ്‌ലോഡ് ചെയ്യുന്നതിന്, ടൂൾബാറിൽ ഒരു "അപ്‌ലോഡ്" ബട്ടൺ ഉണ്ട്. ഒരു USB കേബിൾ വഴി നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് Arduino കണക്റ്റുചെയ്യുക, "അപ്‌ലോഡ്" ക്ലിക്ക് ചെയ്യുക, ഏതാനും നിമിഷങ്ങൾക്കുള്ളിൽ പ്രോഗ്രാം Arduino-ലേക്ക് അപ്‌ലോഡ് ചെയ്യപ്പെടും. ഈ സാഹചര്യത്തിൽ, മുമ്പ് ഉണ്ടായിരുന്ന പ്രോഗ്രാം മായ്‌ക്കും.

വിജയകരമായ ഫേംവെയർ "ഡൺ അപ്ലോഡിംഗ്" എന്ന ലിഖിതത്താൽ പ്രഖ്യാപിക്കപ്പെടും.

ഡൗൺലോഡ് ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ ഒരു പിശക് നേരിട്ടാൽ, ഇത് ഉറപ്പാക്കുക:

    ടൂളുകൾ → ബോർഡ് മെനുവിൽ, ആർഡ്വിനോ യഥാർത്ഥത്തിൽ കണക്റ്റുചെയ്തിരിക്കുന്ന പോർട്ട് തിരഞ്ഞെടുക്കുക. ഏത് പോർട്ട് ദൃശ്യമാകുകയും അപ്രത്യക്ഷമാവുകയും ചെയ്യുന്നുവെന്ന് കാണുന്നതിന് നിങ്ങൾക്ക് USB കേബിൾ അകത്തേക്കും പുറത്തേക്കും പ്ലഗ് ചെയ്യാം: ഇതാണ് Arduino.

    Arduino-ന് ആവശ്യമായ ഡ്രൈവറുകൾ നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്തു. ഇത് Windows-ൽ ആവശ്യമാണ്, Linux-ൽ ആവശ്യമില്ല, MacOS-ലെ പഴയ പ്രീ-Arduino Duemilanove ബോർഡുകളിൽ മാത്രം ഇത് ആവശ്യമാണ്.

അഭിനന്ദനങ്ങൾ! നിങ്ങൾ ഒരു ശൂന്യമായ സ്ലേറ്റിൽ നിന്ന് Arduino-യിലെ ഒരു വർക്കിംഗ് പ്രോഗ്രാമിലേക്ക് പോയി. അവൾ ഒന്നും ചെയ്തേക്കില്ല, പക്ഷേ ഇത് ഇതിനകം ഒരു വിജയമാണ്.

എല്ലാ ഡിസൈൻ പ്രേമികൾക്കും ഇടയിൽ Arduino വളരെ ജനപ്രിയമാണ്. ഇതുവരെ കേട്ടിട്ടില്ലാത്തവരെയും പരിചയപ്പെടുത്തണം.

എന്താണ് Arduino?

നിങ്ങൾക്ക് എങ്ങനെ ആർഡ്വിനോയെ ഹ്രസ്വമായി വിവരിക്കാൻ കഴിയും? മികച്ച വാക്കുകൾ ഇതായിരിക്കും: വിവിധ ഇലക്ട്രോണിക് ഉപകരണങ്ങൾ നിർമ്മിക്കാൻ ഉപയോഗിക്കാവുന്ന ഒരു ഉപകരണമാണ് ആർഡ്വിനോ. സാരാംശത്തിൽ, ഇതൊരു യഥാർത്ഥ പൊതു-ഉദ്ദേശ്യ ഹാർഡ്‌വെയർ കമ്പ്യൂട്ടിംഗ് പ്ലാറ്റ്‌ഫോമാണ്. ലളിതമായ സർക്യൂട്ടുകൾ നിർമ്മിക്കുന്നതിനും സങ്കീർണ്ണമായ പ്രോജക്ടുകൾ നടപ്പിലാക്കുന്നതിനും ഇത് ഉപയോഗിക്കാം.

ഡിസൈനർ അതിൻ്റെ ഹാർഡ്‌വെയറിനെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, അത് ഒരു ഇൻപുട്ട്-ഔട്ട്പുട്ട് ബോർഡാണ്. ബോർഡ് പ്രോഗ്രാം ചെയ്യുന്നതിന്, C/C++ അടിസ്ഥാനമാക്കിയുള്ള ഭാഷകൾ ഉപയോഗിക്കുന്നു. അവയെ യഥാക്രമം പ്രോസസ്സിംഗ്/വയറിംഗ് എന്ന് വിളിക്കുന്നു. ഗ്രൂപ്പ് സിയിൽ നിന്ന് അവർക്ക് അങ്ങേയറ്റത്തെ ലാളിത്യം പാരമ്പര്യമായി ലഭിച്ചു, അതിന് നന്ദി അവർക്ക് ഏതൊരു വ്യക്തിക്കും വളരെ വേഗത്തിൽ വൈദഗ്ദ്ധ്യം നേടാൻ കഴിയും, കൂടാതെ അറിവ് പ്രായോഗികമായി പ്രയോഗിക്കുന്നത് ഒരു പ്രധാന പ്രശ്നമല്ല. അതിനാൽ ജോലിയുടെ ലാളിത്യം നിങ്ങൾ മനസ്സിലാക്കുന്നു, തുടക്കക്കാരനായ വിസാർഡ്-ഡിസൈനർമാർക്കുള്ളതാണ് Arduino എന്ന് പലപ്പോഴും പറയാറുണ്ട്. കുട്ടികൾക്ക് പോലും Arduino ബോർഡുകൾ മനസ്സിലാക്കാൻ കഴിയും.

അതിൽ നിങ്ങൾക്ക് എന്ത് ശേഖരിക്കാനാകും?

ആർഡ്വിനോയുടെ ആപ്ലിക്കേഷനുകൾ തികച്ചും വൈവിധ്യപൂർണ്ണമാണ്; ലേഖനത്തിൻ്റെ അവസാനം ശുപാർശ ചെയ്യുന്ന ലളിതമായ ഉദാഹരണങ്ങൾക്കും മാനിപ്പുലേറ്ററുകൾ, റോബോട്ടുകൾ അല്ലെങ്കിൽ പ്രൊഡക്ഷൻ മെഷീനുകൾ എന്നിവയുൾപ്പെടെയുള്ള സങ്കീർണ്ണമായ സംവിധാനങ്ങൾക്കും ഇത് ഉപയോഗിക്കാം. ടാബ്‌ലെറ്റുകൾ, ഫോണുകൾ, ഗാർഹിക നിരീക്ഷണ, സുരക്ഷാ സംവിധാനങ്ങൾ, സ്‌മാർട്ട് ഹോം സിസ്റ്റങ്ങൾ അല്ലെങ്കിൽ കമ്പ്യൂട്ടറുകൾ എന്നിവ നിർമ്മിക്കുന്നതിന് ചില ശിൽപികൾ ഇത്തരം സംവിധാനങ്ങൾ ഉപയോഗിക്കുന്നു. തുടക്കക്കാർക്കുള്ള ആർഡ്വിനോ പ്രോജക്റ്റുകൾ, ഒരു പരിചയവുമില്ലാത്തവർക്ക് പോലും ആരംഭിക്കാൻ കഴിയും, ലേഖനത്തിൻ്റെ അവസാനം. പ്രാകൃത വെർച്വൽ റിയാലിറ്റി സിസ്റ്റങ്ങൾ സൃഷ്ടിക്കാൻ പോലും അവ ഉപയോഗിക്കാം. Arduino പ്രോഗ്രാമിംഗ് നൽകുന്ന വൈവിധ്യമാർന്ന ഹാർഡ്‌വെയറിനും കഴിവുകൾക്കും നന്ദി.

എനിക്ക് ഘടകങ്ങൾ എവിടെ നിന്ന് വാങ്ങാം?

ഇറ്റലിയിൽ നിർമ്മിച്ച ഘടകങ്ങൾ യഥാർത്ഥമായി കണക്കാക്കപ്പെടുന്നു. എന്നാൽ അത്തരം കിറ്റുകളുടെ വില കുറവല്ല. അതിനാൽ, നിരവധി കമ്പനികൾ അല്ലെങ്കിൽ വ്യക്തികൾ പോലും ആർഡ്വിനോ-അനുയോജ്യമായ ഉപകരണങ്ങളുടെയും ഘടകങ്ങളുടെയും ആർട്ടിസാനൽ രീതികൾ നിർമ്മിക്കുന്നു, അവയെ തമാശയായി പ്രൊഡക്ഷൻ ക്ലോണുകൾ എന്ന് വിളിക്കുന്നു. അത്തരം ക്ലോണുകൾ വാങ്ങുമ്പോൾ, അവർ പ്രവർത്തിക്കുമെന്ന് ഉറപ്പോടെ പറയാൻ കഴിയില്ല, പക്ഷേ പണം ലാഭിക്കാനുള്ള ആഗ്രഹം അതിൻ്റെ ടോൾ എടുക്കുന്നു.

ഘടകങ്ങൾ കിറ്റുകളുടെ ഭാഗമായി അല്ലെങ്കിൽ പ്രത്യേകം വാങ്ങാം. കാറുകൾ, വിവിധ തരത്തിലുള്ള നിയന്ത്രണങ്ങളുള്ള ഹെലികോപ്റ്ററുകൾ അല്ലെങ്കിൽ കപ്പലുകൾ എന്നിവ കൂട്ടിച്ചേർക്കുന്നതിന് മുൻകൂട്ടി തയ്യാറാക്കിയ കിറ്റുകൾ പോലും ഉണ്ട്. മുകളിൽ ചിത്രീകരിച്ചിരിക്കുന്നതുപോലുള്ള ഒരു സെറ്റിന്, ചൈനയിൽ നിർമ്മിച്ചത് $49 ആണ്.

ഉപകരണങ്ങളെക്കുറിച്ച് കൂടുതൽ

Arduino ബോർഡ് ഒരു ലളിതമായ AVR മൈക്രോകൺട്രോളറാണ്, അത് ഒരു ബൂട്ട്ലോഡർ ഉപയോഗിച്ച് ഫ്ലാഷ് ചെയ്തു കൂടാതെ ആവശ്യമായ ഏറ്റവും കുറഞ്ഞ USB-UART പോർട്ട് ഉണ്ട്. മറ്റ് പ്രധാന ഘടകങ്ങളുണ്ട്, എന്നാൽ ലേഖനത്തിൻ്റെ പരിധിയിൽ ഈ രണ്ട് ഘടകങ്ങളിൽ മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നതാണ് നല്ലത്.

ആദ്യം, മൈക്രോകൺട്രോളറിനെക്കുറിച്ച്, വികസിപ്പിച്ച പ്രോഗ്രാം സ്ഥിതിചെയ്യുന്ന ഒരൊറ്റ സർക്യൂട്ടിൽ നിർമ്മിച്ച ഒരു സംവിധാനം. ബട്ടണുകൾ അമർത്തുന്നതിലൂടെയും, സൃഷ്ടിയുടെ ഘടകങ്ങളിൽ നിന്ന് (റെസിസ്റ്ററുകൾ, ട്രാൻസിസ്റ്ററുകൾ, സെൻസറുകൾ മുതലായവ) സിഗ്നലുകൾ സ്വീകരിക്കുന്നതിലൂടെയും പ്രോഗ്രാമിനെ സ്വാധീനിക്കാൻ കഴിയും. മാത്രമല്ല, സെൻസറുകൾ അവയുടെ ഉദ്ദേശ്യത്തിൽ വളരെ വ്യത്യസ്തമായിരിക്കും: ലൈറ്റിംഗ്, ആക്സിലറേഷൻ, താപനില, ദൂരം, സമ്മർദ്ദം, തടസ്സങ്ങൾ തുടങ്ങിയവ. LED- കളും ട്വീറ്ററുകളും മുതൽ ഗ്രാഫിക് ഡിസ്പ്ലേകൾ പോലുള്ള സങ്കീർണ്ണമായ ഉപകരണങ്ങൾ വരെ ലളിതമായ ഭാഗങ്ങൾ ഡിസ്പ്ലേ ഉപകരണങ്ങളായി ഉപയോഗിക്കാം. പരിഗണിക്കപ്പെടുന്ന ഗുണനിലവാരം മോട്ടോറുകൾ, വാൽവുകൾ, റിലേകൾ, സെർവോകൾ, ഇലക്ട്രോമാഗ്നറ്റുകൾ എന്നിവയും മറ്റ് പലതും ആണ്, അവ ലിസ്റ്റ് ചെയ്യാൻ വളരെ വളരെ സമയമെടുക്കും. കണക്റ്റിംഗ് വയറുകൾ ഉപയോഗിച്ച് ഈ ലിസ്റ്റുകളിൽ ചിലതുമായി MK നേരിട്ട് പ്രവർത്തിക്കുന്നു. ചില മെക്കാനിസങ്ങൾക്ക് അഡാപ്റ്ററുകൾ ആവശ്യമാണ്. എന്നാൽ നിങ്ങൾ ഡിസൈൻ ചെയ്യാൻ തുടങ്ങിയാൽ, സ്വയം കീറുന്നത് നിങ്ങൾക്ക് ബുദ്ധിമുട്ടായിരിക്കും. ഇനി നമുക്ക് Arduino പ്രോഗ്രാമിംഗിനെക്കുറിച്ച് സംസാരിക്കാം.

ബോർഡ് പ്രോഗ്രാമിംഗ് പ്രക്രിയയെക്കുറിച്ച് കൂടുതലറിയുക

ഒരു മൈക്രോകൺട്രോളറിൽ പ്രവർത്തിക്കാൻ തയ്യാറായ ഒരു പ്രോഗ്രാമിനെ ഫേംവെയർ എന്ന് വിളിക്കുന്നു. ഒന്നുകിൽ ഒരു പ്രോജക്റ്റ് അല്ലെങ്കിൽ Arduino പ്രോജക്റ്റുകൾ ഉണ്ടാകാം, അതിനാൽ ആവശ്യമായ ഫയലുകൾ കണ്ടെത്തുന്ന പ്രക്രിയ വേഗത്തിലാക്കാൻ ഓരോ ഫേംവെയറും ഒരു പ്രത്യേക ഫോൾഡറിൽ സൂക്ഷിക്കുന്നത് നല്ലതാണ്. പ്രത്യേക ഉപകരണങ്ങൾ ഉപയോഗിച്ച് ഇത് എംകെ ക്രിസ്റ്റലിലേക്ക് ഫ്ലാഷ് ചെയ്യുന്നു: പ്രോഗ്രാമർമാർ. ഇവിടെ ആർഡ്വിനോയ്ക്ക് ഒരു നേട്ടമുണ്ട് - ഇതിന് ഒരു പ്രോഗ്രാമറുടെ ആവശ്യമില്ല. തുടക്കക്കാർക്കായി Arduino പ്രോഗ്രാമിംഗ് ബുദ്ധിമുട്ടുള്ളതല്ലാത്ത വിധത്തിൽ എല്ലാം ചെയ്തു. എഴുതിയ കോഡ് ഒരു യുഎസ്ബി കേബിൾ വഴി എംകെയിലേക്ക് ലോഡുചെയ്യാനാകും. ഈ നേട്ടം കൈവരിക്കുന്നത് മുൻകൂട്ടി നിർമ്മിച്ച ചില പ്രോഗ്രാമർമാരല്ല, പ്രത്യേക ഫേംവെയർ - ഒരു ബൂട്ട്ലോഡർ വഴിയാണ്. കണക്ഷൻ കഴിഞ്ഞയുടനെ ആരംഭിക്കുന്ന ഒരു പ്രത്യേക പ്രോഗ്രാമാണ് ബൂട്ട്ലോഡർ, എന്തെങ്കിലും കമാൻഡുകൾ ഉണ്ടോ, ക്രിസ്റ്റൽ ഫ്ലാഷ് ചെയ്യണോ, ആർഡ്വിനോ പ്രോജക്റ്റുകൾ ഉണ്ടോ ഇല്ലയോ എന്ന് ശ്രദ്ധിക്കുന്നു. ഒരു ബൂട്ട്ലോഡർ ഉപയോഗിക്കുന്നതിന് വളരെ ആകർഷകമായ നിരവധി ഗുണങ്ങളുണ്ട്:

  1. അധിക സമയ ചെലവുകൾ ആവശ്യമില്ലാത്ത ഒരു ആശയവിനിമയ ചാനൽ മാത്രം ഉപയോഗിക്കുന്നു. അതിനാൽ, Arduino പ്രോജക്റ്റുകൾക്ക് വ്യത്യസ്ത വയറുകൾ ബന്ധിപ്പിക്കാൻ നിങ്ങൾ ആവശ്യപ്പെടുന്നില്ല, അവ ഉപയോഗിക്കുമ്പോൾ ആശയക്കുഴപ്പം ഉണ്ടാകും. വിജയകരമായ പ്രവർത്തനത്തിന് ഒരു യുഎസ്ബി കേബിൾ മതി.
  2. വളഞ്ഞ കൈകളിൽ നിന്നുള്ള സംരക്ഷണം. നേരിട്ടുള്ള ഫേംവെയർ ഉപയോഗിച്ച് മൈക്രോകൺട്രോളറിനെ ഒരു ഇഷ്ടിക അവസ്ഥയിലേക്ക് കൊണ്ടുവരുന്നത് വളരെ എളുപ്പമാണ്; നിങ്ങൾ കഠിനാധ്വാനം ചെയ്യേണ്ടതില്ല. ഒരു ബൂട്ട്ലോഡറുമായി പ്രവർത്തിക്കുമ്പോൾ, നിങ്ങൾക്ക് അപകടകരമായ ക്രമീകരണങ്ങൾ ആക്സസ് ചെയ്യാൻ കഴിയില്ല (ഒരു വികസന പ്രോഗ്രാമിൻ്റെ സഹായത്തോടെ, തീർച്ചയായും, അല്ലാത്തപക്ഷം എല്ലാം തകർക്കാൻ കഴിയും). അതിനാൽ, തുടക്കക്കാർക്കുള്ള Arduino അത് മനസ്സിലാക്കാവുന്നതും സൗകര്യപ്രദവുമാണെന്ന കാഴ്ചപ്പാടിൽ നിന്ന് മാത്രമല്ല, അവരോടൊപ്പം പ്രവർത്തിക്കുന്ന വ്യക്തിയുടെ അനുഭവപരിചയമില്ലായ്മയുമായി ബന്ധപ്പെട്ട അനാവശ്യ സാമ്പത്തിക ചെലവുകൾ ഒഴിവാക്കാനും ഇത് നിങ്ങളെ അനുവദിക്കും.

ആരംഭിക്കേണ്ട പദ്ധതികൾ

നിങ്ങൾ ഒരു കിറ്റ്, ഒരു സോളിഡിംഗ് ഇരുമ്പ്, റോസിൻ, സോൾഡർ എന്നിവ സ്വന്തമാക്കുമ്പോൾ, നിങ്ങൾ വളരെ സങ്കീർണ്ണമായ ഘടനകൾ ഉടനടി ശിൽപം ചെയ്യരുത്. തീർച്ചയായും, നിങ്ങൾക്ക് അവ നിർമ്മിക്കാൻ കഴിയും, എന്നാൽ തുടക്കക്കാർക്ക് Arduino-യിൽ വിജയിക്കാനുള്ള സാധ്യത സങ്കീർണ്ണമായ പ്രോജക്ടുകൾ വളരെ കുറവാണ്. നിങ്ങളുടെ കഴിവുകൾ പരിശീലിപ്പിക്കുന്നതിനും മെച്ചപ്പെടുത്തുന്നതിനും, ആർഡ്വിനോയുടെ ഇടപെടലും പ്രവർത്തനവും മനസ്സിലാക്കാൻ സഹായിക്കുന്ന കുറച്ച് ലളിതമായ ആശയങ്ങൾ നടപ്പിലാക്കാൻ നിങ്ങൾക്ക് ശ്രമിക്കാവുന്നതാണ്. തുടക്കക്കാർക്കായി Arduino-മായി പ്രവർത്തിക്കുന്നതിനുള്ള ആദ്യ ഘട്ടങ്ങൾ എന്ന നിലയിൽ, പരിഗണിക്കാൻ ഞങ്ങൾക്ക് നിങ്ങളെ ഉപദേശിക്കാം:

  1. Arduino ന് നന്ദി പ്രവർത്തിക്കാൻ കഴിയുന്ന ഒന്ന് സൃഷ്ടിക്കുക.
  2. Arduino-ലേക്ക് ഒരു പ്രത്യേക ബട്ടൺ ബന്ധിപ്പിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, പോയിൻ്റ് നമ്പർ 1 ൽ നിന്ന് എൽഇഡിയുടെ തിളക്കം ക്രമീകരിക്കാൻ ബട്ടണിന് കഴിയുന്ന തരത്തിൽ നിങ്ങൾക്കത് നിർമ്മിക്കാൻ കഴിയും.
  3. പൊട്ടൻഷിയോമീറ്റർ കണക്ഷൻ.
  4. സെർവോ ഡ്രൈവ് നിയന്ത്രണം.
  5. മൂന്ന് വർണ്ണ എൽഇഡിയുമായി ബന്ധിപ്പിക്കുകയും പ്രവർത്തിക്കുകയും ചെയ്യുന്നു.
  6. പീസോ ഇലക്ട്രിക് മൂലകം ബന്ധിപ്പിക്കുന്നു.
  7. ഒരു ഫോട്ടോറെസിസ്റ്റർ ബന്ധിപ്പിക്കുന്നു.
  8. ഒരു മോഷൻ സെൻസറും അതിൻ്റെ പ്രവർത്തനത്തെക്കുറിച്ചുള്ള സിഗ്നലുകളും ബന്ധിപ്പിക്കുന്നു.
  9. ഒരു ഈർപ്പം അല്ലെങ്കിൽ താപനില സെൻസർ ബന്ധിപ്പിക്കുന്നു.

ഭാവിയിലേക്കുള്ള പദ്ധതികൾ

വ്യക്തിഗത LED-കൾ ബന്ധിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് Arduino-യിൽ താൽപ്പര്യമുണ്ടാകാൻ സാധ്യതയില്ല. മിക്കവാറും, നിങ്ങളുടെ സ്വന്തം കാർ അല്ലെങ്കിൽ പറക്കുന്ന ടർടേബിൾ സൃഷ്ടിക്കാനുള്ള അവസരമാണ് നിങ്ങളെ ആകർഷിക്കുന്നത്. ഈ പ്രോജക്റ്റുകൾ നടപ്പിലാക്കാൻ പ്രയാസമാണ്, ധാരാളം സമയവും സ്ഥിരോത്സാഹവും ആവശ്യമായി വരും, എന്നാൽ ഒരിക്കൽ പൂർത്തിയാക്കിയാൽ, നിങ്ങൾക്ക് ആവശ്യമുള്ളത് നിങ്ങൾക്ക് ലഭിക്കും: തുടക്കക്കാർക്ക് വിലയേറിയ Arduino ഡിസൈൻ അനുഭവം.