Inhoudsopgave:

Arduino 101: de cursus van de techneut: 4 stappen
Arduino 101: de cursus van de techneut: 4 stappen

Video: Arduino 101: de cursus van de techneut: 4 stappen

Video: Arduino 101: de cursus van de techneut: 4 stappen
Video: 🇳🇱 FUNCTIES EN SCOPES - Arduino theorie #3 2024, Juli-
Anonim
Arduino 101: de cursus van de techneut
Arduino 101: de cursus van de techneut

Ik hoop dat veel mensen, vooral nieuwelingen, die in de wereld van Arduino willen duiken, dit en andere mijn artikelen/Instructables (die ik regelmatig ga posten) nuttig zullen vinden.

Dit zou niet hetzelfde zijn als een gewone les kopiëren en plakken. Het zou veel meer zijn dan.

Hoi! Ik ben Roman en ik ben een Middle PHP Developer.

Dit zal wat voorgeschiedenis bevatten, dus als je de volgende stap wilt gaan, scroll dan gewoon naar beneden naar de Vereisten.

Ik ben begonnen met programmeren toen ik 10 jaar oud was. en het heeft echt een grote impact op mij gehad. Omdat het zo interessant was - ik kon het niet geloven. Bovendien waren niet veel jongens van mijn leeftijd in staat om zulke vaardigheden op school te laten zien. Het was zelfs voordat we begonnen met het leren van Informatica, als vak, en Programmeren binnen de cursus.

Dus ik wilde gewoon mensen helpen. Om hun leven gemakkelijker te maken en wat hulpmiddelen te bieden, die hen zullen helpen tegen de routine in te gaan en een soort van problemen op te lossen. En 2 jaar geleden kwam ik met Arduino, als toevoeging.

Toen heb ik besloten om met een soort cursus omhoog te gaan en dingen als deze te creëren. Later zal ik video's maken op YouTube, waar je kunt zien, hoe je dingen kunt instellen en doen om een perfecte match te krijgen.

Maar hier krijg je meer over de essentiële code van mij. Hot om code goed te structureren, wat zijn de principes van programmeren en waarom zijn ze belangrijk. Alle dingen die we doen - is Engineering. En er is geen plaats om een fout te maken. Dus lees duidelijk en als u met een aantal vragen komt, zet het dan gewoon in de opmerkingen.

Stap 1: Installeer de vereiste software/verkrijg de vereiste hardware

Om het ontwikkelingsproces te starten, heeft u nodig:

Software

- Visual Studio-code

- Platform. IO

Hardware

- Een van de Arduino-borden (Mega 2560, Nano, Leonardo, enz.)

- Broodplank

- Dupont-draden (man-naar-man)

- Weerstanden van verschillende nominale

- RGB-leds

- Displays, enz.

Stap 2: Programmeerprincipes

Als u een efficiënte en begrijpelijke code wilt schrijven, moet u meer weten over programmeerprincipes. In onze projectvoorbeelden zullen we de volgende principes volgen:

- STEVIG

- DROOG (Herhaal jezelf niet)

- KISS (houd het zo simpel)

- YAGNI (je hebt het niet nodig)

Wat is SOLID?

SOLID kan worden getranscribeerd als:

- [S] Enkele verantwoordelijkheid (elke klasse is verantwoordelijk voor één soort)

- [O] Open-Gesloten Principe (klassen of objecten zijn open om uit te breiden, maar te wijzigen)

- [L] Liskov-vervanging (klassen of objecten kunnen zonder schade worden vervangen door hun subtypes)

- [I] Interface-segregatie (het is beter om meer gespecialiseerde interfaces te hebben, in plaats van één universele)

- [D] Afhankelijkheidsinversie (klassen moeten gebaseerd zijn op abstracties)

Wat is DROOG?

DRY betekent Don't Repeat Yourself. Dus als je een oplossing maakt en je ziet dat er enkele methoden zijn die hetzelfde zijn, maak dan gewoon een helperklasse met die methoden (zelfs mogelijk om statisch aan te roepen) om het zo eenvoudig mogelijk te houden. Maar dit is een ander verhaal.

Wat is KISS?

KISS komt op voor Keep It So Simple. Het betekent dat al uw oplossingen zo min mogelijk regels code moeten hebben, maar ook om de hele klas niet te ingewikkeld te maken.

Wat is YAGNI?

YAGNI komt op voor You Are not Gonna Need It. Het betekent dat je op die manier klassen en functionaliteit moet bouwen, wat het allemaal, of meestal, in gebruik zal zijn. Want als het niet zo zou zijn, dan veilig verwijderd omdat u het niet nodig hebt. Eenvoudig.

Probeer uw code zo schoon mogelijk te houden.

Stap 3: Projecten

Deze stap zal bevatten en zal worden voortgezet, vanwege een project met voorbeelden en bibliotheken, die u zou kunnen gebruiken en gebruiken.

Bovendien zal ik proberen een extensie voor de VS-code te maken, zodat u de benodigde bibliotheken naar uw project kunt downloaden.

Houd er rekening mee dat projecten zonder koppelingen nog niet zijn gerealiseerd en in de nabije toekomst zullen worden uitgevoerd. Ik probeer zo informatief instructable te doen als ik kan doen. En later - ik zal video's opnemen en deze toevoegen als instructies voor u om op te volgen.

  • Eenvoudige bediening van LED-lampen
  • LED's + Potentiometer (Dynamische mapping van de potentiometerwaarden naar het aantal LED's)
  • Eenvoudig weerstation (v1; vochtigheid + temperatuur)
  • Geavanceerd weerstation met LCD 1602 (v2)
  • Geavanceerd weerstation v2 + instellingen (v3)
  • Geavanceerd weerstation v3 + IR (infraroodafstandsbediening) Bediening voor weergave (v4)
  • Geavanceerd weerstation v4 + Status weergeven met LED's (v5)
  • Eenvoudige RFID-lezer (v1)
  • Geavanceerde RFID-lezer v1 met weergave van gegevens op LCD 1602 en 0,91' OLED-display (I2C) (v2)
  • Geavanceerde RFID-lezer v2 met relaisbesturing (v3)
  • Eenvoudig Single-SIM-station (v1)
  • Geavanceerd Single-SIM-station met 0,91' OLED-scherm (v2)
  • Geavanceerd dual-simstation met 0,91' OLED-scherm (v1)
  • Geavanceerd dual-simstation v1 met sms-verzending
  • Automaat
  • Eenvoudige RGB-strip WS8212b-besturing (v1)
  • Geavanceerde RGB-strip WS8212b-bediening v1 met kleuren + helderheidsregeling (potentiometer + knoppen) (v2)
  • Geavanceerde RGB-strip WS8212b Control v1 met IRVending Machine

Alle projecten en bibliotheken zijn beschikbaar op GitHub.

Stap 4: Aankomende projecten die moeten worden gepubliceerd

7-8 maart '20- Eenvoudige LED-lampen aansturen- LED's + Potentiometer (Dynamische mapping van de potentiometerwaarden naar het aantal LED's)

Aanbevolen: