Мазмуну:

Arduino 101: Tech Guyдан Курс: 4 кадам
Arduino 101: Tech Guyдан Курс: 4 кадам

Video: Arduino 101: Tech Guyдан Курс: 4 кадам

Video: Arduino 101: Tech Guyдан Курс: 4 кадам
Video: Amazing arduino project 2024, Июль
Anonim
Arduino 101: Курс Tech Guyдан
Arduino 101: Курс Tech Guyдан

Мен Arduino дүйнөсүнө чөмүлгүсү келген көптөгөн адамдар, өзгөчө жаңы келгендер, ушул жана башка менин макалаларымды/Инструкцияларды (мен дайыма жарыялап турам) пайдалуу болот деп үмүттөнөм.

Бул кадимки Copy-&-Paste сабактары сыяктуу болбойт. Бул алда канча көп болмок.

Салам! Мен Романмын жана мен орто PHP иштеп чыгуучусумун.

Бул алдын ала тарыхка ээ болот, андыктан эгер сиз кийинки кадамга баргыңыз келсе - жөн гана ылдый жылдырыңыз Талаптар.

Мен 10 жашымда программалоону баштадым. жана ал мага абдан чоң таасирин тийгизди. Анткени бул абдан кызыктуу болчу - мен ишене алган жокмун. Анын үстүнө, менин курагымдагы жигиттердин көбү мындай жөндөмдөрдү мектепте көрсөтө алышкан эмес. Курстун алкагында информатиканы предмет катары жана программалоону үйрөнө электе эле болгон.

Ошентип, мен жөн гана элге жардам бергим келди. Жашоосун жеңилдетүү жана кээ бир шаймандар менен камсыз кылуу, бул аларга күнүмдүк жашоодо каршы болуп, кандайдыр бир көйгөйлөрдү чечүүгө жардам берет. Жана 2 жыл мурун мен кошумча катары Arduino менен келдим.

Андан кийин, мен кандайдыр бир курс менен чыгып, ушул сыяктуу нерселерди жаратууну чечтим. Кийинчерээк, мен Youtube'да видеолорду жасайм, анда сиз көрө аласыз, идеалдуу дал келүү үчүн нерселерди кантип орнотууну жана жасоону.

Бирок бул жерде, сиз менден коддун негиздери жөнүндө көбүрөөк маалымат аласыз. Кодду туура структуралоо үчүн ысык, программалоонун принциптери кандай жана алар эмне үчүн маанилүү. Биз жасап жаткан нерселердин баары - Инженерия. Жана ката кете турган жер жок. Андыктан, так окуңуз жана эгер сизде кандайдыр бир суроолор пайда болсо - аны комментарийге жазыңыз.

1 -кадам: Керектүү программаны орнотуңуз/Керектүү жабдыкты алыңыз

Өнүктүрүү процессин баштоо үчүн сизге керек болот:

Программалык камсыздоо

- Visual Studio коду

- Platform. IO

Аппараттык

- Arduino такталарынын бири (Mega 2560, Nano, Leonardo, ж.б.)

- Нан тактасы

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

- Ар кандай номиналдагы резисторлор

- RGB Leds

- Дисплейлер ж

2 -кадам: Программалоо принциптери

Эгерде сиз эффективдүү жана түшүнүктүү код жазгыңыз келсе, программалоо принциптери жөнүндө көбүрөөк билишиңиз керек. Долбоорубуздун мисалдарында биз төмөнкү принциптерди карманабыз:

- КАТУУ

- КУРГАН (Өзүңдү кайталаба)

- KISS (Ушунчалык жөнөкөй болгула)

- ЯГНИ (Сизге кереги жок)

SOLID деген эмне?

SOLID төмөнкүчө жазылышы мүмкүн:

- [S] Жалгыз жоопкерчилик (Ар бир класс бир түр үчүн жооптуу)

- [O] Ачык-Жабык Принцип (Класстар да, Объекттер дагы узартуу үчүн ачык, бирок өзгөртүлгөн)

- [L] Лисковду алмаштыруу (Класстарды да, Объекттерди да алардын кичи пейилдиктерине эч кандай зыян келтирбестен алмаштырууга болот)

- [I] Интерфейстин сегрегациясы (Бир универсалдуу болгондун ордуна, атайын интерфейстерге ээ болгон жакшы)

- [D] Көз карандылыкты өзгөртүү (Класстар абстракцияларга негизделиши керек)

DRY деген эмне?

КУРГАН дегениң өзүңдү кайталаба дегенди билдирет. Ошентип, сиз кандайдыр бир чечим чыгарсаңыз жана бир эле ыкмалар бар экенин көрүп турсаңыз - мүмкүн болушунча жөнөкөй болуш үчүн, ошол ыкмалар менен жардамчы классын түзүңүз (статикалык түрдө чалууга да болот). Бирок бул башка окуя.

KISS деген эмне?

KISS "Бул жөнөкөй болсун" дегенди билдирет. Бул бардык чечимдериңизде мүмкүн болушунча азыраак коддор болушу керектигин, бирок бүт классты татаалдаштырбоону билдирет.

YAGNI деген эмне?

YAGNI турат, сен муну кереги жок. Демек, сиз класстарды жана функционалдуулукту ушинтип курушуңуз керек, мунун баары же көбүнчө колдонула турган нерсе. Анткени, эгер андай болбосо - анда сизге керексиз эле коопсуз түрдө алынып салынат. Жөнөкөй.

Сиздин кодду мүмкүн болушунча таза сактоого аракет кылыңыз.

3 -кадам: Долбоорлор

Бул кадамды камтыйт жана улантылат, анткени мисалдар жана китепканалары бар проектилердин жардамы менен сиз бөлүп, колдоно аласыз.

Мындан тышкары, мен сиздин долбоорго керектүү libsти жүктөө мүмкүнчүлүгүнө ээ болуу үчүн VS Code үчүн кеңейтүү түзүүгө аракет кылам.

Эсиңизде болсун, шилтемелери жок долбоорлор азырынча ишке ашпайт жана жакынкы келечекте жасалат. Мен мүмкүн болушунча маалыматтуу көрсөтмө берүүгө аракет кылам. Кийинчерээк - мен видеолорду тартып, аларды сизге көрсөтмө катары кошуп берем.

  • Жөнөкөй LED лампочкаларды башкаруу
  • LED + потенциометр (LEDлердин санына потенциометрдин маанилерин динамикалык картага түшүрүү)
  • Жөнөкөй аба ырайы станциясы (v1; Нымдуулук + Температура)
  • Advanced Weather Station w/ LCD 1602 (v2)
  • Advanced Weather Station v2 + Орнотуулар (v3)
  • Advanced Weather Station v3 + IR (Infrared Remote) дисплей үчүн көзөмөл (v4)
  • Advanced Weather Station v4 + LEDди (v5) көрсөтүү
  • Жөнөкөй RFID окурман (v1)
  • Advanced RFID Reader v1 w/ LCD 1602 жана 0.91 'OLED Display (I2C) маалыматтарын көрсөтүү (v2)
  • Advanced RFID Reader v2 w/ Relay Control (v3)
  • Жөнөкөй SIM-карта станциясы (v1)
  • Advanced Single-SIM Station w/ 0.91 'OLED Display (v2)
  • Advanced Dual-SIM Station w/ 0.91 'OLED Display (v1)
  • Advanced Dual-SIM Station v1 w/ SMS жөнөтүү
  • Автомат
  • Жөнөкөй RGB Strip WS8212b Control (v1)
  • Өркүндөтүлгөн RGB Strip WS8212b Control v1 w/ Cors + Brightness control (Potentiometer + Buttons) (v2)
  • IRVending Machine менен өнүккөн RGB Strip WS8212b Control v1

Бардык долбоорлор жана китепканалар GitHubда жеткиликтүү болот.

4 -кадам: Алдыда турган долбоорлор жарыяланат

7-8-март '20- Жөнөкөй лампочкаларды башкаруу

Сунушталууда: