Съдържание:

Arduino 101: Курсът от техническия човек: 4 стъпки
Arduino 101: Курсът от техническия човек: 4 стъпки

Видео: Arduino 101: Курсът от техническия човек: 4 стъпки

Видео: Arduino 101: Курсът от техническия човек: 4 стъпки
Видео: Programming 101 Walkthrough 2024, Юли
Anonim
Arduino 101: Курсът от техническия човек
Arduino 101: Курсът от техническия човек

Надявам се, че много хора, особено начинаещи, които искат да се потопят в света на Arduino, ще разберат тази и други мои статии/инструкции (които ще публикувам редовно) полезни.

Това не би било като обикновени уроци за копиране и поставяне. Би било много повече от.

Здравейте! Аз съм римлянин и съм среден PHP разработчик.

Това ще получи предварителна история, така че ако искате да преминете към следващата стъпка - просто превъртете надолу до Изискванията.

Започнах да програмирам, когато бях на 10 години. и това ми оказа наистина голямо влияние. Защото беше толкова интересно - не можех да повярвам. Освен това не много момчета на моята възраст са успели да проявят такива умения в училище. Беше още преди да започнем да изучаваме информатика като предмет и програмиране в рамките на курса.

И така, просто исках да помогна на хората. За да улеснят живота им и да предоставят някои инструменти, които ще им помогнат да се противопоставят на рутината и да решат някакви проблеми. И преди 2 години измислих Arduino, като допълнение.

Тогава реших да отида с някакъв курс и да създам такива неща като този. По -късно ще правя видеоклипове в Youtube, където ще можете да видите, как да настроите и правите неща, за да получите перфектно съвпадение.

Но тук от мен ще получите повече информация за кода. Горещо за правилно структуриране на кода, какви са принципите на програмиране и защо те са важни. Всичко, което правим - е инженеринг. И няма място за грешка. Така че, прочетете ясно и ако ще имате няколко въпроса - просто го запишете в коментарите.

Стъпка 1: Инсталирайте необходимия софтуер/Вземете необходимия хардуер

За да стартирате процеса на разработка, ще ви трябва:

Софтуер

- Код на Visual Studio

- Platform. IO

Хардуер

- Една от дъските на Arduino (Mega 2560, Nano, Leonardo и др.)

- Платформа

-кабели Dupont (мъжки към мъжки)

- Резистори от различни номинални

- RGB светодиоди

- Дисплеи и др

Стъпка 2: Принципи на програмиране

Ако искате да напишете ефективен и разбираем код, трябва да научите повече за принципите на програмиране. В нашите примери за проекти ще следваме следните принципи:

- ТВЪРД

- СУХ (Не се повтаряйте)

- KISS (Нека бъде толкова просто)

- YAGNI (няма да ти трябва)

Какво е SOLID?

SOLID може да се транскрибира като:

- [S] Единична отговорност (Всеки клас отговаря за един вид вид)

- [O] Принцип на отворено затваряне (Класовете и обектите са отворени, за да бъдат разширени, но променени)

- [L] Замяна на Лисков (Класовете или Обектите могат да бъдат заменени с техните подтипове без повреди)

- [I] Разделяне на интерфейси (По -добре да имате по -специализирани интерфейси, вместо да имате един универсален)

- [D] Инверсия на зависимостите (Класовете трябва да се основават на абстракции)

Какво е DRY?

СУХО означава, че не се повтаряйте. Така че, когато все пак направите някакво решение и видите, че има някои методи, които са еднакви - просто направете помощен клас с тези методи (дори възможно да се извика статично), за да го поддържате възможно най -опростен. Но това е друга история.

Какво представляват KISS?

KISS се застъпва за Keep It So Simple. Това означава, че всички Ваши решения трябва да имат възможно най -малко редове код, но и да не усложняват целия клас.

Какво представляват YAGNI?

YAGNI се застъпва за Вас, няма да ви трябва. Това означава, че трябва да изграждате класове и функционалност по този начин, какво всички или най -вече ще бъдат използвани. Защото ако не би било - тогава безопасно премахнете, тъй като нямате нужда от него. Прост.

Опитайте се да поддържате Вашия код възможно най -чист.

Стъпка 3: Проекти

Тази стъпка ще съдържа и ще продължи, поради проекти с примери и библиотеки, които бихте могли да разклоните и използвате.

Освен това ще се опитам да създам разширение за VS кода, за да имате възможност да изтеглите необходимите библиотеки във вашия проект.

Имайте предвид, че проектите без връзки все още не са реализирани и ще бъдат реализирани в най -близко бъдеще. Опитвам се да направя възможно най -информативна инструкция. И по -късно - ще снимам видеоклипове и ще ги добавя като инструкции, за да можете да ги проследите.

  • Просто управление на LED крушки
  • LED + потенциометър (Динамично картографиране на стойностите на потенциометъра към броя на светодиодите)
  • Проста метеорологична станция (v1; Влажност + температура)
  • Разширена метеорологична станция с LCD 1602 (v2)
  • Разширена метеорологична станция v2 + Настройки (v3)
  • Разширена метеорологична станция v3 + IR (Инфрачервено дистанционно) Управление за дисплей (v4)
  • Разширена метеорологична станция v4 + Показва състоянието със светодиоди (v5)
  • Прост RFID четец (v1)
  • Усъвършенстван RFID четец v1 с/ Показване на данни на LCD 1602 и 0.91 'OLED дисплей (I2C) (v2)
  • Усъвършенстван RFID четец v2 с релейно управление (v3)
  • Проста станция с една SIM карта (v1)
  • Разширена станция с една SIM карта с 0.91 'OLED дисплей (v2)
  • Разширена станция с две SIM карти с 0.91 'OLED дисплей (v1)
  • Разширена станция с две SIM карти v1 с изпращане на SMS
  • Автомат
  • Проста RGB лента за управление WS8212b (v1)
  • Усъвършенствана RGB лента WS8212b Control v1 с цветове + контрол на яркостта (потенциометър + бутони) (v2)
  • Усъвършенствана RGB лента WS8212b Control v1 с IRVending машина

Всички проекти и библиотеки ще бъдат достъпни в GitHub.

Стъпка 4: Предстоящи проекти да бъдат публикувани

7-8 март’20- Просто управление на LED крушки- LED + потенциометър (Динамично картографиране на стойностите на потенциометъра към броя на светодиодите)

Препоръчано: