Talaan ng mga Nilalaman:

Arduino 101: ang Kurso Mula sa Tech Guy: 4 Hakbang
Arduino 101: ang Kurso Mula sa Tech Guy: 4 Hakbang

Video: Arduino 101: ang Kurso Mula sa Tech Guy: 4 Hakbang

Video: Arduino 101: ang Kurso Mula sa Tech Guy: 4 Hakbang
Video: Arduino MASTERCLASS | Full Programming Workshop in 90 Minutes! 2024, Hulyo
Anonim
Arduino 101: ang Kurso Mula sa Tech Guy
Arduino 101: ang Kurso Mula sa Tech Guy

Inaasahan ko, na maraming mga tao, lalo na ang mga baguhan, na nais na sumisid sa mundo ng Arduino, ay malaman ito at iba pang aking mga artikulo / Mga Tagubilin (na regular kong nai-post) na kapaki-pakinabang.

Hindi ito magiging katulad ng isang regular na aralin sa Kopya - & - Idikit. Ito ay magiging higit pa kaysa sa.

Hi! Ako ay Roman at ako ay isang Middle PHP Developer.

Makakakuha ito ng ilang paunang kasaysayan, kaya kung nais mong susunod na hakbang - mag-scroll lamang pababa sa Mga Kinakailangan.

Nagsimula na akong mag-program noong ako ay 10 y.o. at malaki talaga ang epekto nito sa akin. Dahil ito ay kagiliw-giliw na - hindi ako naniniwala. Bukod, hindi gaanong mga lalaki ng edad ko ang nakapagpakita ng gayong mga kasanayan sa paaralan. Kahit na bago pa kami magsimula matuto ng Informatics, bilang isang paksa, at Programming sa loob ng kurso.

Kaya, nais ko lamang tulungan ang mga tao. Upang gawing mas madali ang kanilang buhay at magbigay ng ilang mga tool, na makakatulong sa kanila na labag sa gawain at malutas ang ilang uri ng mga problema. At 2 taon na ang nakakalipas ay nakarating ako sa Arduino, bilang karagdagan.

Pagkatapos, napagpasyahan kong umakyat sa isang uri ng kurso at lumikha ng mga bagay tulad ng isang ito. Mamaya, gagawa ako ng mga video sa Youtube, kung saan Makikita mo, kung paano mag-set up at gumawa ng mga bagay upang makakuha ng isang perpektong tugma.

Ngunit dito, makakakuha ka ng higit pa tungkol sa mga mahahalagang code mula sa akin. Mainit na maayos na istraktura ang code, ano ang mga prinsipyo ng pagprograma at bakit mahalaga ang mga ito. Ang lahat ng ginagawa namin - ay ang Engineering. At walang lugar para magawa ang isang pagkakamali. Kaya, basahin nang malinaw at kung Makakaisip ka ng ilang mga katanungan - ilagay lamang ito sa mga komento.

Hakbang 1: I-install ang Kinakailangan na Software / Kumuha ng Kinakailangan na Hardware

Upang simulan ang proseso ng pag-unlad, kakailanganin mo ang:

Software

- Visual Studio Code

- Platform. IO

Hardware

- Isa sa mga Arduino Board (Mega 2560, Nano, Leonardo, atbp)

- Breadboard

- Mga Dupont wires (Lalaki-sa-Lalaki)

- Mga lumalaban ng iba't ibang nominal

- Mga RGB Leds

- Nagpapakita, atbp

Hakbang 2: Mga Prinsipyo sa Programming

Kung nais mong magsulat ng isang mahusay at naiintindihan na code, Kailangan mong malaman ang tungkol sa mga prinsipyo sa programa. Sa aming mga halimbawa ng proyekto, susundan namin ang mga susunod na prinsipyo:

- SOLID

- DRY (Huwag Ulitin ang Iyong Sarili)

- KISS (Panatilihing Napakasimple)

- YAGNI (Hindi Mo Kailangan Ito)

Ano ang SOLID?

Maaaring maisalin ang SOLID bilang:

- [S] Single Responsibilidad (Ang bawat klase ay responsable para sa isang uri ng isang uri)

- [O] Open-Closed Principle (Mga Klase o Mga Bagay ay Bukas upang maipalawak, ngunit binago)

- [L] Liskov Substitution (Mga Klase o Mga Bagay ay maaaring mapalitan ng kanilang mga subtypes na walang pinsala)

- [I] Paghiwalay ng interface (Mas mahusay na magkaroon ng mas dalubhasang mga interface, sa halip na magkaroon ng isang unibersal)

- [D] Pagbaligtad sa Pagsalig (Dapat itayo ang mga klase sa mga abstraksiyon)

Ano ang DRY?

Nangangahulugan ng DRY na Huwag Ulitin ang Iyong Sarili. Kaya, kapag gumawa ka ng ilang solusyon at Nakita mo, na mayroong ilang mga pamamaraan na pareho - gumawa lamang ng isang helper class kasama ang mga pamamaraang iyon (kahit posible na tumawag nang statically) upang mapanatili itong kasing simple hangga't maaari. Ngunit ang isang ito ay isa pang kwento.

Ano ang mga KISS?

Ang KISS ay naninindigan para sa Keep It So Simple. Nangangahulugan ito, na ang lahat ng Iyong mga solusyon ay dapat magkaroon ng mas kaunting mga linya ng code hangga't maaari, ngunit din upang hindi labis na maipaliwanag ang buong klase.

Ano ang YAGNI?

Ang YAGNI ay naninindigan para sa Hindi mo Kailangang Kailanganin Ito. Nangangahulugan ito, na Dapat kang bumuo ng mga klase at pag-andar sa ganoong paraan, kung ano ang lahat ng ito, o karamihan, ay gagamitin. Dahil kung hindi ito - ligtas na natanggal dahil Hindi mo na kailangan ito. Simple

Subukang panatilihing malinis ang iyong code hangga't maaari.

Hakbang 3: Mga Proyekto

Ang hakbang na ito ay maglalaman at magpapatuloy, dahil sa isang mga proyekto na may mga halimbawa at aklatan, Magagawa mong tinidor at magamit.

Dagdag pa, susubukan kong lumikha ng isang extension para sa VS Code upang magkaroon ka ng kakayahang mag-download ng mga kinakailangang lib sa iyong proyekto.

Tandaan, ang mga proyekto na walang mga link ay wala pang pagsasakatuparan at magagawa sa pinakamalapit na hinaharap. Sinusubukan kong gawin bilang mapagbigay kaalaman na maaari kong gawin. At sa paglaon - Kukunan ako ng mga video at idaragdag ang mga ito bilang mga tagubilin para sa Iyong subaybayan.

  • Simpleng Pagkontrol ng Mga bombilya na LED
  • LED's + Potentiometer (Dynamic na pagmamapa ng mga halaga ng potensyomiter sa bilang ng mga LED)
  • Simpleng istasyon ng Panahon (v1; Humidity + Temperature)
  • Advanced Weather Station w / LCD 1602 (v2)
  • Advanced Weather Station v2 + Mga Setting (v3)
  • Advanced Weather Station v3 + IR (Infrared Remote) Control para sa pagpapakita (v4)
  • Advanced Weather Station v4 + Ipinapakita ang estado na may LED's (v5)
  • Simpleng RFID reader (v1)
  • Advanced RFID Reader v1 w / Pagpapakita ng data sa LCD 1602 at 0.91 'OLED Display (I2C) (v2)
  • Advanced RFID Reader v2 w / Relay Control (v3)
  • Simpleng Single-SIM Station (v1)
  • Advanced na 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 Pagpapadala
  • Vending Machine
  • Simpleng RGB Strip WS8212b Control (v1)
  • Advanced RGB Strip WS8212b Control v1 w / Colours + Brightness control (Potentiometer + Buttons) (v2)
  • Advanced RGB Strip WS8212b Control v1 gamit ang IRVending Machine

Magagamit ang lahat ng mga proyekto at aklatan sa GitHub.

Hakbang 4: Mga Paparating na Proyekto na Mai-publish

7-8 Marso '20 - Simpleng Pagkontrol ng Mga bombilya - LED's + Potentiometer (Dynamic na pagmamapa ng mga halaga ng potensyomiter sa bilang ng mga LED)

Inirerekumendang: