INHOUDSOPGAWE:

Arduino 101: die kursus van die tegniese man: 4 stappe
Arduino 101: die kursus van die tegniese man: 4 stappe

Video: Arduino 101: die kursus van die tegniese man: 4 stappe

Video: Arduino 101: die kursus van die tegniese man: 4 stappe
Video: Biggy - Dames 2024, Julie
Anonim
Arduino 101: The Course From the Tech Guy
Arduino 101: The Course From the Tech Guy

Ek hoop dat baie mense, veral nuwelinge, wat in die wêreld van Arduino wil duik, hierdie en ander artikels/instruksies (wat ek gereeld gaan plaas) nuttig vind.

Dit sal nie soos 'n gewone kopie-en-plak-les wees nie. Dit sou veel meer wees as.

Hi! Ek is 'n Romein en ek is 'n PHP -ontwikkelaar in die middel.

Dit sal 'n voorgeskiedenis kry, so as u die volgende stap wil volg, blaai dan af na die vereistes.

Ek het begin programmeer toe ek 10 was. en dit het 'n baie groot impak op my gehad. Omdat dit so interessant was - ek kon nie glo nie. Boonop kon nie baie ouens van my ouderdom sulke vaardighede op skool toon nie. Dit was nog voordat ons informatika, as vak, en programmering in die kursus begin leer het.

So, ek wou net mense help. Om hul lewens makliker te maak en 'n paar gereedskap te bied, wat hulle sal help om die roetine teë te werk en probleme op te los. En 2 jaar gelede het ek Arduino as aanvulling gekry.

Toe het ek besluit om 'n kursus te volg en dinge soos hierdie te skep. Later gaan ek video's op Youtube doen, waar u kan sien, hoe u dit kan instel en dinge kan doen om 'n perfekte pasmaat te kry.

Maar hier kry u meer inligting oor die noodsaaklikhede van die kode. Warm kode om behoorlik te struktureer, wat is die beginsels van programmering en waarom is dit belangrik? Al die dinge wat ons doen - is ingenieurswese. En daar is geen plek om 'n fout te maak nie. Lees dus duidelik en as u 'n paar vrae het, skryf dit in die kommentaar.

Stap 1: Installeer die vereiste sagteware/kry die nodige hardeware

Om die ontwikkelingsproses te begin, benodig u:

Sagteware

- Visual Studio -kode

- Platform. IO

Hardeware

- Een van die Arduino -borde (Mega 2560, Nano, Leonardo, ens.)

- Broodbord

-Dupont-drade (man-tot-man)

- Weerstands van verskillende nominale

- RGB Leds

- Uitstallings, ens

Stap 2: Programmeringsbeginsels

As u 'n doeltreffende en verstaanbare kode wil skryf, moet u meer leer oor programmeringsbeginsels. In ons projekvoorbeelde sal ons die volgende beginsels volg:

- SOLID

- DROOG (Moenie jouself herhaal nie)

- KISS (hou dit so eenvoudig)

- YAGNI (jy het dit nie nodig nie)

Wat is SOLID?

SOLID kan getranskribeer word as:

- [S] Enkele verantwoordelikheid (elke klas is verantwoordelik vir een soort)

- [O] Oop geslote beginsel (klasse of voorwerpe is oop om uitgebrei te word, maar gewysig)

- [L] Liskov -vervanging (klasse of voorwerpe kan sonder hul skade deur hul subtipes vervang word)

- [I] Interface segregasie (Beter om meer gespesialiseerde koppelvlakke te hê, in plaas van om een universele te hê)

- [D] Afhanklikheidsinversie (klasse moet op abstraksies gebou word)

Wat is DRY?

DROOG beteken Moenie jouself herhaal nie. As u dus 'n oplossing maak en u sien dat daar dieselfde metodes is - maak 'n helperklas met die metodes (selfs moontlik om staties te bel) om dit so eenvoudig as moontlik te hou. Maar hierdie een is 'n ander verhaal.

Wat is KISS?

KISS staan op vir Keep It So Simple. Dit beteken dat al u oplossings so min as moontlik kodelyne moet hê, maar ook om nie die hele klas te ingewikkeld te maak nie.

Wat is YAGNI?

YAGNI staan op vir You Aren't Gonna Need It. Dit beteken dat u op hierdie manier klasse en funksies moet bou, wat alles, of meestal, gebruik sal word. Want as dit nie die geval is nie - verwyder dit dan veilig, aangesien u dit nie nodig het nie. Eenvoudig.

Probeer om u kode so skoon as moontlik te hou.

Stap 3: Projekte

Hierdie stap bevat en word voortgesit, as gevolg van projekte met voorbeelde en biblioteke, kan u dit vurk en gebruik.

Boonop sal ek probeer om 'n uitbreiding vir die VS -kode te skep, sodat u die nodige libs in u projek kan aflaai.

Hou in gedagte dat projekte sonder skakels nog nie besef word nie en dat dit in die nabye toekoms gedoen sal word. Ek probeer om so insiggewend as moontlik te doen. En later - ek sal 'n video neem en dit byvoeg as instruksies vir u om op te volg.

  • Eenvoudige LED -gloeilampe beheer
  • LED's + potensiometer (dinamiese kartering van die potensiometerwaardes volgens die aantal LED's)
  • Eenvoudige weerstasie (v1; humiditeit + temperatuur)
  • Gevorderde weerstasie met LCD 1602 (v2)
  • Gevorderde weerstasie v2 + instellings (v3)
  • Gevorderde weerstasie v3 + IR (infrarooi afstandbeheer) vir vertoning (v4)
  • Advanced Weather Station v4 + Toon die toestand met LED's (v5)
  • Eenvoudige RFID -leser (v1)
  • Gevorderde RFID -leser v1 met data op LCD 1602 en 0,91 'OLED -skerm (I2C) (v2)
  • Gevorderde RFID -leser v2 met aflosbeheer (v3)
  • Eenvoudige enkel-SIM-stasie (v1)
  • Gevorderde enkel-SIM-stasie met 0,91 'OLED-skerm (v2)
  • Gevorderde Dual-SIM-stasie met 0,91 'OLED-skerm (v1)
  • Gevorderde Dual-SIM-stasie v1 w/ SMS-stuur
  • Verkoopmasjien
  • Eenvoudige RGB -strook WS8212b -beheer (v1)
  • Gevorderde RGB -strook WS8212b -beheer v1 met kleure + helderheidsbeheer (potensiometer + knoppies) (v2)
  • Gevorderde RGB Strip WS8212b Control v1 met IRVending Machine

Al die projekte en biblioteke sal op GitHub beskikbaar wees.

Stap 4: Komende projekte wat gepubliseer word

7-8 Maart '20- Eenvoudige LED-gloeilampe wat beheer- LED's + potensiometer (dinamiese kartering van die potensiometerwaardes volgens die aantal LED's)

Aanbeveel: