Оглавление:

Arduino 101: курс технического парня: 4 шага
Arduino 101: курс технического парня: 4 шага

Видео: Arduino 101: курс технического парня: 4 шага

Видео: Arduino 101: курс технического парня: 4 шага
Видео: 14 июня 2023 г. 2024, Июль
Anonim
Arduino 101: курс технического специалиста
Arduino 101: курс технического специалиста

Я надеюсь, что многие люди, особенно новички, которые хотят погрузиться в мир Arduino, найдут эту и другие мои статьи / Instructables (которые я буду регулярно публиковать) полезными.

Это не будет похоже на обычные уроки копирования и вставки. Было бы намного больше.

Привет! Я Роман, и я средний разработчик PHP.

Это получит некоторую предисторию, поэтому, если вы хотите перейти к следующему шагу, просто прокрутите вниз до Требования.

Я начал программировать, когда мне было 10 лет. и это оказало на меня очень большое влияние. Потому что это было так интересно - я не мог поверить. К тому же не многие ребята моего возраста смогли проявить такие навыки в школе. Это было еще до того, как мы начали изучать информатику как предмет и программирование в рамках курса.

Итак, я просто хотел помочь людям. Чтобы облегчить им жизнь и предоставить некоторые инструменты, которые помогут им пойти против рутины и решить какие-то проблемы. А 2 года назад я придумал Arduino в качестве дополнения.

Тогда я решил пойти на какой-нибудь курс и создать такие вещи, как этот. Позже я буду делать видео на Youtube, где вы сможете увидеть, как настроить и что делать, чтобы получить идеальное совпадение.

Но здесь вы узнаете от меня больше об основах кода. Как правильно структурировать код, какие принципы программирования и почему они важны. Все, что мы делаем - это инжиниринг. И здесь нет места ошибке. Так что читайте внимательно, и если у Вас возникнут вопросы - просто запишите их в комментарии.

Шаг 1. Установите необходимое программное обеспечение / получите необходимое оборудование

Для запуска процесса разработки Вам потребуются:

Программное обеспечение

- Код Visual Studio

- Platform. IO

Аппаратное обеспечение

- Одна из плат Arduino (Mega 2560, Nano, Leonardo и т. Д.)

- Макетная плата

- провода Dupont (мужчина-мужчина)

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

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

- Дисплеи и т. Д.

Шаг 2: Принципы программирования

Если вы хотите написать эффективный и понятный код, вам нужно больше узнать о принципах программирования. В наших примерах проектов мы будем придерживаться следующих принципов:

- ТВЕРДЫЙ

- СУХОЙ (не повторяйся)

- ПОЦЕЛУЙ (будь так прост)

- ЯГНИ (Тебе это не понадобится)

Что такое SOLID?

SOLID можно записать как:

- [S] Единая ответственность (каждый класс отвечает за один тип)

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

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

- [I] Разделение интерфейсов (лучше иметь более специализированные интерфейсы вместо одного универсального)

- [D] Инверсия зависимостей (классы должны быть построены на абстракциях)

Что такое СУХИЕ?

СУХОЙ означает «не повторяйся». Итак, когда вы принимаете какое-то решение и видите, что есть несколько одинаковых методов - просто создайте вспомогательный класс с этими методами (даже с возможностью статического вызова), чтобы он был как можно проще. Но это уже другая история.

Что такое KISS?

KISS выступает за Keep It So Simple. Это означает, что все Ваши решения должны содержать как можно меньше строк кода, но при этом не усложнять весь класс.

Что такое ЯГНИ?

YAGNI выступает за You Aren't Gonna Need It. Это означает, что вы должны строить классы и функциональность таким образом, чтобы они все или в основном использовались. Потому что если его не будет - то благополучно удалите, так как он Вам не нужен. Простой.

Постарайтесь, чтобы ваш код был как можно более чистым.

Шаг 3: проекты

Этот шаг будет содержать и будет продолжен из-за проектов с примерами и библиотеками, которые вы сможете разветвлять и использовать.

Кроме того, я попытаюсь создать расширение для VS Code, чтобы вы могли загружать необходимые библиотеки в свой проект.

Имейте в виду, что проекты без ссылок еще не реализованы и будут реализованы в ближайшее время. Я стараюсь сделать как можно более информативным и поучительным. А позже - я буду снимать видео и добавлять их в качестве инструкций для Вас.

  • Простое управление светодиодными лампами
  • Светодиоды + потенциометр (динамическое сопоставление значений потенциометра с количеством светодиодов)
  • Простая метеостанция (v1; влажность + температура)
  • Расширенная метеостанция с ЖК-дисплеем 1602 (v2)
  • Advanced Weather Station v2 + Настройки (v3)
  • Advanced Weather Station v3 + IR (инфракрасный пульт) Управление дисплеем (v4)
  • Advanced Weather Station v4 + Отображение состояния с помощью светодиодов (v5)
  • Простой считыватель RFID (v1)
  • Advanced RFID Reader v1 с отображением данных на LCD 1602 и 0,91 'OLED-дисплее (I2C) (v2)
  • Расширенный RFID-считыватель v2 с релейным управлением (v3)
  • Простая станция с одной SIM-картой (v1)
  • Усовершенствованная станция с одной SIM-картой и 0,91-дюймовым OLED-дисплеем (v2)
  • Усовершенствованная станция с двумя SIM-картами и 0,91-дюймовым OLED-дисплеем (v1)
  • Advanced Dual-SIM Station v1 с отправкой SMS
  • Торговый автомат
  • Простое управление RGB-полосой WS8212b (v1)
  • Advanced RGB Strip WS8212b Control v1 с цветами + регулировка яркости (потенциометр + кнопки) (v2)
  • Advanced RGB Strip WS8212b Control v1 с IRVending Machine

Все проекты и библиотеки будут доступны на GitHub.

Шаг 4: Предстоящие проекты для публикации

7-8 марта '20 - Простое управление светодиодными лампами - светодиоды + потенциометр (динамическое сопоставление значений потенциометра с количеством светодиодов)

Рекомендуемые: