Sisällysluettelo:

Arduino 101: Tech Guyn kurssi: 4 vaihetta
Arduino 101: Tech Guyn kurssi: 4 vaihetta

Video: Arduino 101: Tech Guyn kurssi: 4 vaihetta

Video: Arduino 101: Tech Guyn kurssi: 4 vaihetta
Video: How to Make a Mini Robot bug 2024, Heinäkuu
Anonim
Arduino 101: Tech Guyn kurssi
Arduino 101: Tech Guyn kurssi

Toivon, että monet ihmiset, etenkin aloittelijat, jotka haluavat sukeltaa Arduinon maailmaan, saavat tästä ja muista artikkeleistani/ohjeistani (joita aion lähettää säännöllisesti) hyötyä.

Tämä ei olisi kuin tavalliset kopiointi- ja liittämistunnit. Se olisi paljon enemmän kuin.

Hei! Olen roomalainen ja keskimmäinen PHP -kehittäjä.

Tämä saa jonkin verran esihistoriaa, joten jos haluat siirtyä seuraavaan vaiheeseen - vieritä alas vaatimuksiin.

Aloitin ohjelmoinnin 10 -vuotiaana. ja se on tehnyt todella suuren vaikutuksen minuun. Koska se oli niin mielenkiintoista - en voinut uskoa. Sitä paitsi monet ikäisistäni eivät pystyneet näyttämään tällaisia taitoja koulussa. Se oli jo ennen kuin olemme alkaneet oppia tietotekniikkaa aineena ja ohjelmointia kurssin aikana.

Halusin siis vain auttaa ihmisiä. Helpottaakseen heidän elämäänsä ja tarjotakseen työkaluja, jotka auttavat heitä menemään rutiinia vastaan ja ratkaisemaan jonkinlaisia ongelmia. Ja 2 vuotta sitten keksin Arduinon lisäyksenä.

Sitten olen päättänyt aloittaa jonkinlaisen kurssin ja luoda sellaisia asioita kuin tämä. Myöhemmin teen videoita Youtubessa, jossa voit nähdä, kuinka perustaa ja tehdä asioita täydellisen ottelun saavuttamiseksi.

Mutta täällä saat minulta lisätietoja koodin olennaisista osista. Kuuma rakentaa koodi oikein, mitkä ovat ohjelmoinnin periaatteet ja miksi ne ovat tärkeitä. Kaikki tekemämme asiat ovat insinööritoimintaa. Ja virheelle ei ole sijaa. Joten lue selkeästi ja jos keksit joitain kysymyksiä - laita se kommentteihin.

Vaihe 1: Asenna tarvittava ohjelmisto/hanki tarvittava laitteisto

Kehitysprosessin aloittamiseksi tarvitset:

Ohjelmisto

- Visual Studio -koodi

- Platform. IO

Laitteisto

- Yksi Arduino -levyistä (Mega 2560, Nano, Leonardo jne.)

- Leipälauta

-Dupont-johdot (uros-uros)

- Eri nimellisvastukset

- RGB -ledit

- Näytöt jne

Vaihe 2: Ohjelmointiperiaatteet

Jos haluat kirjoittaa tehokkaan ja ymmärrettävän koodin, sinun täytyy tietää enemmän ohjelmointiperiaatteista. Projektiesimerkeissämme noudatamme seuraavia periaatteita:

- KIINTEÄ

- KUIVA (älä toista itseäsi)

- KISS (Pidä se niin yksinkertaisena)

- YAGNI (et tarvitse sitä)

Mitä SOLID ovat?

SOLID voidaan kirjoittaa seuraavasti:

- [S] Yksittäinen vastuu (kukin luokka vastaa yhdestä lajista)

- [O] Avoin-suljettu -periaate (luokat ja objektit eivät ole avoinna laajennettavaksi, mutta niitä muutetaan)

- [L] Liskov Substitution (Luokat ja esineet voidaan korvata niiden alatyypeillä ilman vaurioita)

- [I] Rajapintojen erottelu (parempi olla erikoistuneempia rajapintoja yhden universaalin sijasta)

- [D] Riippuvuusinversio (luokkien tulee perustua abstraktioihin)

Mitä DRY ovat?

KUIVA tarkoittaa, että älä toista itseäsi. Joten kun teet ratkaisun ja näet, että on olemassa joitakin menetelmiä, jotka ovat samat - tee vain auttajaluokka näillä menetelmillä (jopa mahdollista soittaa staattisesti) pitääksesi sen mahdollisimman yksinkertaisena. Mutta tämä on toinen tarina.

Mitä KISS ovat?

KISS edustaa Keep It So Simple. Se tarkoittaa sitä, että kaikissa ratkaisuissasi tulisi olla mahdollisimman vähän koodirivejä, mutta ne eivät saa myöskään olla liian monimutkaisia koko luokalle.

Mitä YAGNI ovat?

YAGNI puolustaa sitä, ettet tarvitse sitä. Se tarkoittaa, että sinun tulee rakentaa luokkia ja toimintoja tällä tavalla, mitä kaikkea tai useimmiten käytetään. Koska jos se ei olisi - poista se turvallisesti, koska et tarvitse sitä. Yksinkertainen.

Yritä pitää koodisi mahdollisimman puhtaana.

Vaihe 3: Projektit

Tämä vaihe sisältää ja sitä jatketaan, koska projekteja, joissa on esimerkkejä ja kirjastoja, voit haarukoida ja käyttää.

Lisäksi yritän luoda laajennuksen VS -koodille, jotta sinulla on mahdollisuus ladata tarvittavat libit projektiisi.

Muista, että projekteja, joilla ei ole linkkejä, ei ole vielä toteutettu ja ne toteutetaan lähitulevaisuudessa. Yritän tehdä niin informatiivista opetettavaa kuin voin. Ja myöhemmin - aion kuvata videoita ja lisätä ne ohjeiksi, joita voit seurata.

  • Yksinkertainen LED -lamppujen ohjaus
  • LEDit + potentiometri (potentiometrin arvojen dynaaminen kartoitus LEDien lukumäärään)
  • Yksinkertainen sääasema (v1; kosteus + lämpötila)
  • Advanced Weather Station w/ LCD 1602 (v2)
  • Advanced Weather Station v2 + -asetukset (v3)
  • Advanced Weather Station v3 + IR (infrapunakaukosäädin) näytön ohjain (v4)
  • Advanced Weather Station v4 + Näyttää tilan LED -valoilla (v5)
  • Yksinkertainen RFID -lukija (v1)
  • Kehittynyt RFID -lukija v1, tietojen näyttäminen nestekidenäytöllä 1602 ja 0,91 tuuman OLED -näyttö (I2C) (v2)
  • Kehittynyt RFID -lukija v2, jossa releohjaus (v3)
  • Yksinkertainen yhden SIM-asema (v1)
  • Kehittynyt yhden SIM-asema ja 0,91 tuuman OLED-näyttö (v2)
  • Kehittynyt Dual-SIM-asema ja 0,91 tuuman OLED-näyttö (v1)
  • Advanced Dual-SIM Station v1 ja tekstiviestien lähetys
  • Myyntiautomaatti
  • Yksinkertainen RGB Strip WS8212b -ohjaus (v1)
  • Kehittynyt RGB -nauha WS8212b Control v1 väreillä + kirkkauden säätö (potentiometri + painikkeet) (v2)
  • Kehittynyt RGB Strip WS8212b Control v1 IRVending Machine -laitteella

Kaikki projektit ja kirjastot ovat saatavilla GitHubissa.

Vaihe 4: Tulevat projektit julkaistaan

7.-8.3.2020- Yksinkertaiset LED-lamput, jotka ohjaavat- LEDit + potentiometri (potentiometrin arvojen dynaaminen kartoitus LED-merkkien lukumäärään)

Suositeltava: