Arduino 101: Техникалық жігіттің курсы: 4 қадам
Arduino 101: Техникалық жігіттің курсы: 4 қадам
Anonim
Arduino 101: Техникалық жігіттің курсы
Arduino 101: Техникалық жігіттің курсы

Мен Arduino әлеміне енгісі келетін көптеген адамдар, әсіресе жаңадан келгендер, осы және басқа мақалаларымды/нұсқаулықтарды (мен үнемі жариялайтын боламын) пайдалы болады деп үміттенемін.

Бұл әдеттегі Copy-&-Paste сабақтары сияқты болмайды. Бұл әлдеқайда көп болар еді.

Сәлем! Мен Романмын, мен PHP -нің орта жасаушысымын.

Бұл алдын ала тарихқа ие болады, сондықтан егер сіз келесі қадамға барғыңыз келсе - төмен қарай жылжытыңыз.

Мен бағдарламалауды 10 жасымда бастадым. және бұл маған үлкен әсер етті. Өйткені бұл қызықты болды - мен сене алмадым. Сонымен қатар, менің жасымдағы жігіттердің көбі мектепте мұндай шеберлікті көрсете алмады. Бұл біз курста информатиканы, пән ретінде және бағдарламалауды үйренуді бастамас бұрын болды.

Сондықтан мен адамдарға көмектескім келді. Олардың өмірін жеңілдету және кейбір құралдарды ұсыну, бұл оларға күнделікті тәртіпке қайшы келуге және қандай да бір мәселелерді шешуге көмектеседі. Ал 2 жыл бұрын мен қосымша ретінде Arduino ойлап таптым.

Содан кейін мен қандай да бір курсты таңдап, осындай нәрселерді жасауға шешім қабылдадым. Кейінірек мен Youtube -те бейнелер жасаймын, онда сіз көре аласыз, тамаша сәйкестікке жету үшін қалай орнатуға болатынын білесіз.

Бірақ мұнда сіз меннен кодтың маңыздылығы туралы көбірек білесіз. Кодты дұрыс құрылымдау өте ыңғайлы, бағдарламалау принциптері қандай және олар неге маңызды. Біз жасайтын барлық нәрсе - бұл инженерия. Ал қателікке орын жоқ. Сонымен, анық оқыңыз, егер сізде сұрақтар туындаса - оны түсініктемелерге жазыңыз.

1 -қадам: Қажетті бағдарламалық жасақтаманы орнатыңыз/Қажетті жабдықты алыңыз

Даму процесін бастау үшін сізге қажет:

Бағдарламалық қамтамасыз ету

- Visual Studio коды

- Platform. IO

Аппараттық құрал

- Arduino тақталарының бірі (Mega 2560, Nano, Leonardo және т.

- Нан тақтасы

-Дюпонт сымдары (еркектен еркекке)

- Әр түрлі номиналды резисторлар

- RGB шамдары

- дисплейлер және т

2 -қадам: Бағдарламалау принциптері

Егер сіз тиімді және түсінікті код жазғыңыз келсе, бағдарламалау принциптері туралы көбірек білуіңіз керек. Жоба мысалдарында біз келесі принциптерді басшылыққа аламыз:

- ҚАТТЫ

- ҚҰРҒАҚ (өзіңізді қайталамаңыз)

- KISS (қарапайым ұстаңыз)

- ЯГНИ (сізге қажет емес)

SOLID дегеніміз не?

SOLID келесідей жазылуы мүмкін:

- [S] Бірыңғай жауапкершілік (Әр сынып бір түрге жауапты)

- [O] Ашық жабық принципі (Сыныптар да, объектілер де ашық, бірақ өзгертіледі)

- [L] Лисков ауыстыру (Сыныптар мен нысандар зақымдалмай, олардың кіші түрлерімен ауыстырылуы мүмкін)

- [I] Интерфейсті сегрегациялау (бір әмбебаптың орнына арнайы интерфейстердің болғаны жақсы)

- [D] Тәуелділік инверсиясы (Класс абстракцияларға негізделуі керек)

DRY дегеніміз не?

ҚҰРҒА - қайталанбау дегенді білдіреді. Мәселен, сіз қандай да бір шешім қабылдаған кезде және кейбір әдістердің бірдей екенін көресіз - оны мүмкіндігінше қарапайым ету үшін сол әдістермен көмекші сынып жасаңыз (тіпті статикалық түрде қоңырау шалуға болады). Бірақ бұл басқа әңгіме.

KISS дегеніміз не?

KISS оны қарапайым ұстауды қолдайды. Бұл сіздің барлық шешімдеріңізде мүмкіндігінше аз код жолдары болуы керек, сонымен қатар бүкіл сыныпты асқындырмауы керек дегенді білдіреді.

YAGNI дегеніміз не?

YAGNI сізге қажет емес дегенді білдіреді. Бұл дегеніміз, сіз сыныптар мен функционалдылықты осылайша құруға тиіссіз, оның барлығы немесе көбіне қолданылатын болады. Егер олай болмайтын болса - қауіпсіз түрде жойылады, себебі сізге қажет емес. Қарапайым.

Кодыңызды мүмкіндігінше таза ұстауға тырысыңыз.

3 -қадам: Жобалар

Бұл қадамда мысалдар мен кітапханалары бар жобалар болғандықтан, сіз оны қолдана аласыз.

Сонымен қатар, мен сіздің жобаңызға қажетті libs жүктеу мүмкіндігін алу үшін VS Code кеңейтімін жасауға тырысамын.

Есіңізде болсын, сілтемелері жоқ жобалар әлі іске асырылмайды және жақын арада орындалады. Мен мүмкіндігінше ақпараттандыратын нұсқаулық жасауға тырысамын. Кейінірек - мен бейнебаян түсіріп, оларды сізге нұсқаулық ретінде қосамын.

  • Қарапайым жарықдиодты шамдарды басқару
  • Жарықдиодты + потенциометр (потенциометр мәндерін жарық диодты шамаларға динамикалық салыстыру)
  • Қарапайым ауа райы станциясы (v1; Ылғалдылық + Температура)
  • СКД 1602 (v2) бар жетілдірілген ауа райы станциясы
  • Кеңейтілген метеостанция v2 + параметрлер (v3)
  • Advanced Weather Station v3 + IR (инфрақызыл қашықтан басқару пульті) дисплейге арналған басқару (v4)
  • Жетілдірілген ауа райы станциясы v4 + күйін жарықдиодты шамдармен көрсетеді (v5)
  • Қарапайым RFID оқу құралы (v1)
  • Advanced RFID Reader v1 w/ Деректерді LCD 1602 және 0.91 'OLED дисплейінде (I2C) көрсетеді (v2)
  • Қосымша RFID оқу құралы v2/ релелік басқару (v3)
  • Бір SIM картадан тұратын қарапайым станция (v1)
  • 0.91 'OLED дисплейі бар Advanced SIM-карта станциясы (v2)
  • 0.91 'OLED дисплейі бар қос SIM-карта станциясы (v1)
  • Қос SIM картасы v1 арқылы SMS жіберу
  • Автомат
  • Қарапайым RGB жолағы WS8212b басқару (v1)
  • Кеңейтілген RGB Strip WS8212b Control v1/ Түстер + Жарықтықты басқару (Потенциометр + Түймелер) (v2)
  • IRVending машинасы бар жетілдірілген RGB Strip WS8212b Control v1

Барлық жобалар мен кітапханалар GitHub -те қол жетімді болады.

4 -қадам: Алдағы жобалар жарияланады

7-8 наурыз '20- қарапайым жарықдиодты шамдарды басқару

Ұсынылған: